alistair23-linux/sound/pci/hda
Stephen Warren 7c93597627 ALSA: hda: Allow multple SPDIF controls per codec
Currently, the data that backs the kcontrols created by
snd_hda_create_spdif_out_ctls is stored directly in struct hda_codec. When
multiple sets of these controls are stored, they will all manipulate the
same data, causing confusion. Instead, store an array of this data, one
copy per converter, to isolate the controls.

This patch would cause a behavioural change in the case where
snd_hda_create_spdif_out_ctls was called multiple times for a single codec.
As best I can tell, this is never the case for any codec.

This will be relevant at least for some HDMI audio codecs, such as the
NVIDIA GeForce 520 and Intel Ibex Peak. A future change will modify the
driver's handling of those codecs to create multiple PCMs per codec. Note
that this issue isn't affected by whether one creates a PCM-per-converter
or PCM-per-pin; there are multiple of both within a single codec in both
of those codecs.

Note that those codecs don't currently create multiple PCMs for the codec
due to the default HW mux state of all pins being to point at the same
converter, hence there is only a single converter routed to any pin, and
hence only a single PCM.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-06 12:48:59 +02:00
..
hda_beep.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
hda_beep.h ALSA: hda - Fix beep_mode option value 2009-11-16 15:33:49 +01:00
hda_codec.c ALSA: hda: Allow multple SPDIF controls per codec 2011-06-06 12:48:59 +02:00
hda_codec.h ALSA: hda: Allow multple SPDIF controls per codec 2011-06-06 12:48:59 +02:00
hda_eld.c ALSA: HDA: Unify HDMI hotplug handling. 2011-05-25 07:31:32 +02:00
hda_generic.c ALSA: hda - consitify string arrays 2011-01-18 07:43:17 +01:00
hda_hwdep.c ALSA: hda - Ensure codec patch files are checked for the correct codec ID 2010-07-26 10:28:01 +02:00
hda_intel.c ALSA: hda: Allow multple SPDIF controls per codec 2011-06-06 12:48:59 +02:00
hda_local.h ALSA: hda - Check unsol-cap in is_jack_detectalbe() 2011-05-17 12:33:27 +02:00
hda_proc.c ALSA: hda - consitify string arrays 2011-01-18 07:43:17 +01:00
Kconfig ALSA: hda - Merge all HDMI modules into the unified module 2010-09-20 10:02:29 +02:00
Makefile ALSA: hda - Merge all HDMI modules into the unified module 2010-09-20 10:02:29 +02:00
patch_analog.c ALSA: hda - Check pin support EAPD in ad198x_power_eapd_write 2011-06-03 10:08:46 +02:00
patch_ca0110.c ALSA: hda - Constify fixup and other array data in patch_ca0110.c 2011-05-02 12:20:29 +02:00
patch_cirrus.c ALSA: hda - Check unsol-cap in is_jack_detectalbe() 2011-05-17 12:33:27 +02:00
patch_cmedia.c ALSA: hda - Constify fixup and other array data in patch_cmedia.c 2011-05-02 12:20:28 +02:00
patch_conexant.c ALSA: hda - Use model=auto for Lenovo G555 2011-05-25 07:33:20 +02:00
patch_hdmi.c ALSA: hda: Allow multple SPDIF controls per codec 2011-06-06 12:48:59 +02:00
patch_realtek.c ALSA: hda - Remove PCM mixer elements from Virtual Master of realtek 2011-05-20 09:03:20 +02:00
patch_si3054.c ALSA: hda - Constify fixup and other array data in patch_si3054.c 2011-05-02 12:22:39 +02:00
patch_sigmatel.c ALSA: hda - Handle dock line-in as auto-detectable for IDT codecs 2011-05-17 12:35:03 +02:00
patch_via.c ALSA: hda: Allow multple SPDIF controls per codec 2011-06-06 12:48:59 +02:00