kernel-ark/sound/pci
Anssi Hannula 611885bc96 ALSA: hda - hdmi: Disallow unsupported 2ch remapping on NVIDIA codecs
NVIDIA HDMI codecs do not seem to follow the Audio Sample Packet (ASP)
channel mapping (as set by verb F32h per HDA specification 7.3.3.41)
when playing back 2-channel audio (CEA CA 0x00).

Basically this means that specifying swapped channels for stereo audio
(FR,FL) does not take effect, and e.g. this command plays back on the
wrong channel:
speaker-test -c2 -Dhdmi:CARD=NVidia,DEV=0 -m FR,FL -s1

Multichannel audio is not affected.

This issue has been confirmed to exist on codec 0x10de0015 by me and on
0x10de0040 by Juho Teperi.

Disable 2ch FL/FR channel swapping on all NVIDIA HDMI codecs that use
the standard HDA channel mapping system. Since this is a very minor
functionality loss, we err on the side of disabling it for newer codecs
as well until any future testing confirms that this issue has been
fixed.

Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
Helped-by: Juho Teperi <juho.teperi@iki.fi>
Cc: Aaron Plattner <aplattner@nvidia.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-11-04 10:10:28 +01:00
..
ac97 ALSA: ac97: Add ID for TI TLV320AIC27 codec 2013-09-30 11:09:21 +02:00
ali5451 ALSA: ali5451: Drop unused variable 2013-10-29 15:42:29 +01:00
asihpi ALSA: asihpi: a couple array out of bounds issues 2013-09-13 14:31:51 +02:00
au88x0 sound: Remove unnecessary semicolons 2013-10-14 11:00:05 +02:00
aw2 ALSA: PCI: Remove superfluous pci_set_drvdata(pci, NULL) at remove 2013-05-29 12:37:32 +02:00
ca0106 ALSA: PCI: Remove superfluous pci_set_drvdata(pci, NULL) at remove 2013-05-29 12:37:32 +02:00
cs46xx ALSA: PCI: Remove superfluous pci_set_drvdata(pci, NULL) at remove 2013-05-29 12:37:32 +02:00
cs5535audio ALSA: Use strlcpy() instead of strncpy() 2013-10-29 15:26:12 +01:00
ctxfi ALSA: ctxfi: Staticize local symbols 2013-09-13 14:36:09 +02:00
echoaudio ALSA: PCI: Remove superfluous pci_set_drvdata(pci, NULL) at remove 2013-05-29 12:37:32 +02:00
emu10k1 ALSA: emu10k1: code refactoring 2013-10-18 08:58:24 +02:00
hda ALSA: hda - hdmi: Disallow unsupported 2ch remapping on NVIDIA codecs 2013-11-04 10:10:28 +01:00
ice1712 ALSA: ice1724: Fix uninitialized variable access 2013-10-29 16:46:36 +01:00
korg1212 ALSA: PCI: Remove superfluous pci_set_drvdata(pci, NULL) at remove 2013-05-29 12:37:32 +02:00
lola ALSA: lola: Fix uninitialized variable access in error message 2013-10-29 16:51:36 +01:00
lx6464es ALSA: PCI: Remove superfluous pci_set_drvdata(pci, NULL) at remove 2013-05-29 12:37:32 +02:00
mixart ALSA: PCI: Remove superfluous pci_set_drvdata(pci, NULL) at remove 2013-05-29 12:37:32 +02:00
nm256 ALSA: PCI: Remove superfluous pci_set_drvdata(pci, NULL) at remove 2013-05-29 12:37:32 +02:00
oxygen ALSA: PCI: Remove superfluous pci_set_drvdata(pci, NULL) at remove 2013-05-29 12:37:32 +02:00
pcxhr ALSA: PCI: Remove superfluous pci_set_drvdata(pci, NULL) at remove 2013-05-29 12:37:32 +02:00
riptide ALSA: PCI: Remove superfluous pci_set_drvdata(pci, NULL) at remove 2013-05-29 12:37:32 +02:00
rme9652 ALSA: Use strlcpy() instead of strncpy() 2013-10-29 15:26:12 +01:00
trident ALSA: PCI: Remove superfluous pci_set_drvdata(pci, NULL) at remove 2013-05-29 12:37:32 +02:00
vx222 ALSA: PCI: Remove superfluous pci_set_drvdata(pci, NULL) at remove 2013-05-29 12:37:32 +02:00
ymfpci ALSA: pci: trivial: replace numeric with standard PM state macros 2013-06-27 15:04:32 +02:00
ad1889.c ALSA: ad1889: Fix right attenuation proc output 2013-10-29 15:39:37 +01:00
ad1889.h
ak4531_codec.c
als300.c ALSA: PCI: Remove superfluous pci_set_drvdata(pci, NULL) at remove 2013-05-29 12:37:32 +02:00
als4000.c ALSA: PCI: Remove superfluous pci_set_drvdata(pci, NULL) at remove 2013-05-29 12:37:32 +02:00
atiixp_modem.c ALSA: atiixp: Fix unlocked snd_pcm_stop() call 2013-07-15 18:12:49 +02:00
atiixp.c ALSA: atiixp: Fix unlocked snd_pcm_stop() call 2013-07-15 18:12:49 +02:00
azt3328.c ALSA: Fix assignment of 0/1 to bool variables 2013-09-26 09:57:24 +02:00
azt3328.h
bt87x.c ALSA: PCI: Remove superfluous pci_set_drvdata(pci, NULL) at remove 2013-05-29 12:37:32 +02:00
cmipci.c ALSA: PCI: Remove superfluous pci_set_drvdata(pci, NULL) at remove 2013-05-29 12:37:32 +02:00
cs4281.c ALSA: pci: trivial: replace numeric with standard PM state macros 2013-06-27 15:04:32 +02:00
cs5530.c ALSA: PCI: Remove superfluous pci_set_drvdata(pci, NULL) at remove 2013-05-29 12:37:32 +02:00
ens1370.c treewide: Fix printks with 0x%# 2013-08-27 10:49:38 +02:00
ens1371.c
es1938.c ALSA: PCI: Remove superfluous pci_set_drvdata(pci, NULL) at remove 2013-05-29 12:37:32 +02:00
es1968.c [media] tea575x: Move header from sound to media 2013-08-18 08:08:05 -03:00
fm801.c [media] tea575x: Move header from sound to media 2013-08-18 08:08:05 -03:00
intel8x0.c ALSA: PCI: Remove superfluous pci_set_drvdata(pci, NULL) at remove 2013-05-29 12:37:32 +02:00
intel8x0m.c ALSA: PCI: Remove superfluous pci_set_drvdata(pci, NULL) at remove 2013-05-29 12:37:32 +02:00
Kconfig [media] sound/pci/Kconfig: select RADIO_ADAPTERS if needed 2013-08-24 08:17:48 -03:00
maestro3.c ALSA: PCI: Remove superfluous pci_set_drvdata(pci, NULL) at remove 2013-05-29 12:37:32 +02:00
Makefile
rme32.c ALSA: PCI: Remove superfluous pci_set_drvdata(pci, NULL) at remove 2013-05-29 12:37:32 +02:00
rme96.c ALSA: rme96: Return error code in PCM copy ops 2013-10-29 16:04:37 +01:00
sis7019.c Merge branch 'for-linus' into for-next 2013-06-05 15:21:29 +02:00
sis7019.h
sonicvibes.c ALSA: PCI: Remove superfluous pci_set_drvdata(pci, NULL) at remove 2013-05-29 12:37:32 +02:00
via82xx_modem.c ALSA: PCI: Remove superfluous pci_set_drvdata(pci, NULL) at remove 2013-05-29 12:37:32 +02:00
via82xx.c treewide: Fix printks with 0x%# 2013-08-27 10:49:38 +02:00