linux/sound/pci/hda
Kai Vehmanen 2a2edfbbfe
ALSA: hda/hdmi - implement mst_no_extra_pcms flag
To support the DP-MST multiple streams via single connector feature,
the HDMI driver was extended with the concept of backup PCMs. See
commit 9152085def ("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: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Reviewed-by: Takashi Iwai <tiwai@suse.de>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20191029134017.18901-2-kai.vehmanen@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2019-10-29 17:31:30 +00:00
..
ca0132_regs.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 32 2019-05-24 17:27:10 +02:00
hda_auto_parser.c ASoC: Updates for v5.4 2019-09-10 13:03:08 +02:00
hda_auto_parser.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 46 2019-05-24 17:27:12 +02:00
hda_beep.c ALSA: hda - Use standard device registration for beep 2019-01-29 18:28:09 +01:00
hda_beep.h ALSA: hda - Use standard device registration for beep 2019-01-29 18:28:09 +01:00
hda_bind.c treewide: Add SPDX license identifier for missed files 2019-05-21 10:50:45 +02:00
hda_codec.c Merge branch 'asoc-5.4' into asoc-next 2019-09-09 14:55:20 +01:00
hda_controller_trace.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hda_controller.c Merge branch 'asoc-5.4' into asoc-next 2019-09-09 14:55:20 +01:00
hda_controller.h Merge branch 'asoc-5.4' into asoc-next 2019-09-09 14:55:20 +01:00
hda_eld.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 32 2019-05-24 17:27:10 +02:00
hda_generic.c ALSA: hda/realtek - Fix overridden device-specific initialization 2019-08-30 12:03:38 +02:00
hda_generic.h ALSA: hda/realtek - Fix overridden device-specific initialization 2019-08-30 12:03:38 +02:00
hda_hwdep.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 32 2019-05-24 17:27:10 +02:00
hda_intel_trace.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hda_intel.c ALSA: hda - Apply AMD controller workaround for Raven platform 2019-09-20 09:31:22 +02:00
hda_intel.h ALSA: hda - Allow runtime PM for controller if component notifier is used 2019-08-27 16:37:50 +02:00
hda_jack.c ASoC: Updates for v5.3 2019-07-08 14:45:34 +02:00
hda_jack.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 46 2019-05-24 17:27:12 +02:00
hda_local.h ALSA: hda - Expand pin_match function to match upcoming new tbls 2019-08-16 11:59:30 +02:00
hda_proc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 32 2019-05-24 17:27:10 +02:00
hda_sysfs.c treewide: Add SPDX license identifier for missed files 2019-05-21 10:50:45 +02:00
hda_tegra.c ALSA: hda: Direct MMIO accesses 2019-08-08 16:36:18 +02:00
hp_x360_helper.c ALSA: hda/realtek - Fixup for HP x360 laptops with B&O speakers 2018-05-29 22:33:37 +02:00
Kconfig Merge branch 'topic/hda-bus-ops-cleanup' of https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound into asoc-5.4 2019-08-08 23:20:45 +01:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
patch_analog.c ALSA: hda - Add laptop imic fixup for ASUS M9V laptop 2019-09-20 15:53:24 +02:00
patch_ca0110.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 32 2019-05-24 17:27:10 +02:00
patch_ca0132.c ALSA: hda/ca0132 - Add new SBZ quirk 2019-08-20 09:03:55 +02:00
patch_cirrus.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 32 2019-05-24 17:27:10 +02:00
patch_cmedia.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 32 2019-05-24 17:27:10 +02:00
patch_conexant.c ALSA: hda - Fixes inverted Conexant GPIO mic mute led 2019-08-19 19:41:26 +02:00
patch_hdmi.c ALSA: hda/hdmi - implement mst_no_extra_pcms flag 2019-10-29 17:31:30 +00:00
patch_realtek.c ALSA: hda/realtek - PCI quirk for Medion E4254 2019-09-20 10:13:16 +02:00
patch_si3054.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 32 2019-05-24 17:27:10 +02:00
patch_sigmatel.c ALSA: hda/sigmatel - remove unused variable 'stac9200_core_init' 2019-08-13 17:44:48 +02:00
patch_via.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 32 2019-05-24 17:27:10 +02:00
thinkpad_helper.c ALSA: hda - Support led audio trigger 2018-11-28 23:25:22 +01:00