linux_dsm_epyc7002/sound/pci/hda
Takashi Iwai ea9b43addc ALSA: hda - Fix broken workaround for HDMI/SPDIF conflicts
The commit [dcda58061: ALSA: hda - Add workaround for conflicting
IEC958 controls] introduced a workaround for cards that have both
SPDIF and HDMI devices for giving device=1 to SPDIF control elements.
It turned out, however, that this workaround doesn't work well -

- The workaround checks only conflicts in a single codec, but SPDIF
  and HDMI are provided by multiple codecs in many cases, and

- ALSA mixer abstraction doesn't care about the device number in ctl
  elements, thus you'll get errors from amixer such as
  % amixer scontrols -c 0
  ALSA lib simple_none.c:1551:(simple_add1) helem (MIXER,'IEC958
  Playback Switch',0,1,0) appears twice or more
  amixer: Mixer hw:0 load error: Invalid argument

This patch fixes the previous broken workaround.  Instead of changing
the device number of SPDIF ctl elements, shift the element indices of
such controls up to 16.  Also, the conflict check is performed over
all codecs found on the bus.

HDMI devices will be put to dev=0,index=0 as before.  Only the
conflicting SPDIF device is moved to a different place.  The new place
of SPDIF device is supposed by the updated alsa-lib HDA-Intel.conf,
respectively.

Reported-by: Stephan Raue <stephan@openelec.tv>
Reported-by: Anssi Hannula <anssi.hannula@iki.fi>
Cc: <stable@vger.kernel.org> [v3.8]
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-02-12 17:09:19 +01:00
..
ca0132_regs.h ALSA: hda/ca0132 - Fix type of INVALID_CHIP_ADDRESS 2013-02-12 10:15:15 +01:00
hda_auto_parser.c ALSA: Make snd_printd() and snd_printdd() inline 2013-01-25 18:32:14 +01:00
hda_auto_parser.h ALSA: hda - Rearrange INPUT_PIN_ATTR_* 2013-01-12 08:30:48 +01:00
hda_beep.c ALSA: hda - Fix 'Beep Playback Switch' with no underlying mute switch 2012-08-14 10:22:31 +02:00
hda_beep.h ALSA: hda - Get rid of superfluous beep->mode field 2012-07-03 18:31:36 +02:00
hda_codec.c ALSA: hda - Fix broken workaround for HDMI/SPDIF conflicts 2013-02-12 17:09:19 +01:00
hda_codec.h ALSA: hda - Fix broken workaround for HDMI/SPDIF conflicts 2013-02-12 17:09:19 +01:00
hda_eld.c ALSA: hda - hide HDMI/ELD printks unless snd.debug=2 2012-04-10 14:53:55 +02:00
hda_generic.c ALSA: hda - Use generic array for loopback list management 2013-02-07 10:45:11 +01:00
hda_generic.h ALSA: hda - Use generic array for loopback list management 2013-02-07 10:45:11 +01:00
hda_hwdep.c ALSA: hda - Add snd_hda_get_int_hint() helper function 2013-01-12 08:44:47 +01:00
hda_intel_trace.h ALSA: hda - Add tracepoints to HD-audio controller driver 2012-10-30 10:39:59 +01:00
hda_intel.c ALSA: hda - Fix memory leak and error handling in CA0132 DSP loader 2013-02-10 11:58:40 +01:00
hda_jack.c ALSA: hda - Allow jack detection when polling is enabled 2013-01-12 08:43:54 +01:00
hda_jack.h ALSA: hda - Allow jack state to depend on another jack 2012-11-19 19:49:58 +01:00
hda_local.h ALSA: hda - Add snd_hda_check_power_state() helper function 2013-01-24 17:47:17 +01:00
hda_proc.c ALSA: hda - Remove limit of widget connections 2013-02-07 20:01:08 +01:00
hda_trace.h ALSA: hda - Clean up CONFIG_SND_HDA_POWER_SAVE 2012-08-30 07:50:13 -07:00
Kconfig Merge branch 'topic/hda-ca0132-dsp' into for-next 2013-02-07 12:34:36 +01:00
Makefile ALSA: hda - Add tracepoints to HD-audio controller driver 2012-10-30 10:39:59 +01:00
patch_analog.c ALSA: hda - Fix missing path between aamix and outputs in AD codecs 2013-01-23 17:00:31 +01:00
patch_ca0110.c ALSA: hda - Remove superfluous header inclusions 2013-01-21 16:10:56 +01:00
patch_ca0132.c ALSA: hda/ca0132 - Add missing \n to debug prints 2013-02-12 12:11:03 +01:00
patch_cirrus.c ALSA: hda - Remove superfluous header inclusions 2013-01-21 16:10:56 +01:00
patch_cmedia.c ALSA: hda - Remove superfluous header inclusions 2013-01-21 16:10:56 +01:00
patch_conexant.c ALSA: hda - Add power state filtering 2013-01-24 17:23:35 +01:00
patch_hdmi.c ALSA: hda - Yet another fix for broken HSW HDMI pin connections 2013-02-08 12:23:48 +01:00
patch_realtek.c ALSA: hda - update documentation for no-primary-hp fixup 2013-02-12 10:12:39 +01:00
patch_si3054.c sound: Add module.h to the previously silent sound users 2011-10-31 19:31:21 -04:00
patch_sigmatel.c ALSA: hda - Apply mic-mute LED fixup for new HP laptops 2013-02-06 12:39:06 +01:00
patch_via.c ALSA: hda - Use generic array for loopback list management 2013-02-07 10:45:11 +01:00