kernel-hacking-2024-linux-s.../sound/pci
Takashi Iwai 272f3ea317 ALSA: hda - Add SPDIF mux control to AD codec auto-parser
AD codecs have strange implementations for choosing the SPDIF-output
mux source: the digital audio out widget may take the sources from
multiple connections, where 0x01 indicates it's a PCM while others
point ADCs.  It's obviously invalid in the HD-audio spec POV, but it's
somehow convincing, too.  And, to make things more complex, AD1988A
and AD1882 have deeper connection routes that aren't expressed
correctly.

In this patch, the SPDIF mux control is implemented in two ways:
- For easier one like AD1981, AD1983, AD1884 and AD1984, where the
  SPDIF audio out widget takes just two or three sources, we can
  simply implement via the normal input_mux and connection verb
  calls.

- For the complex routes like AD1988A (but not AD1988B) or AD1882, we
  prepare "faked" paths represented statically, and switch the paths
  using these static ones, instead of parsing the routes from the
  widget tree.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-22 16:41:56 +01:00
..
ac97 ALSA: ac97 - Fix missing NULL check in snd_ac97_cvol_new() 2012-10-15 09:55:48 +02:00
ali5451 ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
asihpi ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
au88x0 ALSA: au88x0: fix incorrect left shift 2013-01-07 09:33:56 +01:00
aw2 ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
ca0106 ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
cs46xx ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
cs5535audio ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
ctxfi ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
echoaudio ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
emu10k1 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-12-13 12:00:02 -08:00
hda ALSA: hda - Add SPDIF mux control to AD codec auto-parser 2013-01-22 16:41:56 +01:00
ice1712 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-12-13 12:00:02 -08:00
korg1212 ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
lola ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
lx6464es ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
mixart ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
nm256 ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
oxygen ALSA: oxygen: remove __dev* attributes 2012-12-07 07:32:02 +01:00
pcxhr ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
riptide ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
rme9652 ALSA: hdspm - Fix wordclock status on AES32 2013-01-09 16:59:24 +01:00
trident ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
vx222 ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
ymfpci ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
ad1889.c ALSA: ad1889: remove __dev* attributes 2012-12-07 07:31:18 +01:00
ad1889.h
ak4531_codec.c ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
als300.c ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
als4000.c ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
atiixp.c ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
atiixp_modem.c ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
azt3328.c ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
azt3328.h
bt87x.c ALSA: bt87X: remove __dev* attributes 2012-12-07 07:31:45 +01:00
cmipci.c ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
cs4281.c ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
cs5530.c ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
ens1370.c ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
ens1371.c
es1938.c ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
es1968.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-12-13 12:00:02 -08:00
fm801.c ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
intel8x0.c ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
intel8x0m.c ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
Kconfig ALSA: hdsp: improve firmware caching 2012-11-22 17:48:07 +01:00
maestro3.c ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
Makefile
rme32.c ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
rme96.c ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
sis7019.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-12-13 12:00:02 -08:00
sis7019.h
sonicvibes.c ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
via82xx.c ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
via82xx_modem.c ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00