• Subhransu S. Prusty's avatar
    ASoC: hdac_hdmi: Create widget/route based on nodes enumerated · 79f4e922
    Subhransu S. Prusty authored
    In skylake, HDMI codec enumerates 3 pins and 3 cvts. Stream can
    be routed from any cvt to any pin based on the connection list
    queried from the pin.
    
    This patch removes the static modelling of widget/route and
    creates it dynamically based on the codec widgets enumerated.
    
    Mux widgets are added to represent the map between a cvt and pin.
    Ideally the mux widgets should be created based on the connection
    list queried from the pin widget. But due to HW behavior, if an
    external display is not connected on a port, querying the
    connection list returns zero. So create mux widgets to map all
    the cvt to all pins. At runtime, playback support on a pin can be
    verified based on the connection list query.
    
    Few function in driver have additional arguments now to support
    this.
    Signed-off-by: default avatarSubhransu S. Prusty <subhransu.s.prusty@intel.com>
    Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    79f4e922
hdac_hdmi.c 31.4 KB