• Kai Vehmanen's avatar
    ALSA: hda/hdmi - implement mst_no_extra_pcms flag · 2a2edfbb
    Kai Vehmanen authored
    To support the DP-MST multiple streams via single connector feature,
    the HDMI driver was extended with the concept of backup PCMs. See
    commit 9152085d ("ALSA: hda - add DP MST audio support").
    
    This implementation works fine with snd_hda_intel.c as PCM topology
    is fully managed within the single driver.
    
    When the HDA codec driver is used from ASoC components, the concept
    of backup PCMs no longer fits. For ASoC topologies, the physical
    HDMI converters are presented as backend DAIs and these should match
    with hardware capabilities. The ASoC topology may define arbitrary
    PCMs (i.e. frontend DAIs) and have processing elements before eventual
    routing to the HDMI BE DAIs. With backup PCMs, the link between
    FE and BE DAIs would become dynamic and change when monitors are
    (un)plugged. This would lead to modifying the topology every time
    hotplug events happen, which is not currently possible in ASoC and
    there does not seem to be any obvious benefits from this design.
    
    To overcome above problems and enable the HDMI driver to be used
    from ASoC, this patch adds a new mode (mst_no_extra_pcms flags) to
    patch_hdmi.c. In this mode, the codec driver does not assume
    the backup PCMs to be created.
    Signed-off-by: default avatarKai Vehmanen <kai.vehmanen@linux.intel.com>
    Reviewed-by: default avatarTakashi Iwai <tiwai@suse.de>
    Reviewed-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://lore.kernel.org/r/20191029134017.18901-2-kai.vehmanen@linux.intel.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
    2a2edfbb
patch_hdmi.c 113 KB