ALSA: hda - hdmi: Disallow unsupported 2ch remapping on NVIDIA codecs
authorAnssi Hannula <anssi.hannula@iki.fi>
Sun, 3 Nov 2013 15:15:00 +0000 (17:15 +0200)
committerTakashi Iwai <tiwai@suse.de>
Mon, 4 Nov 2013 09:10:28 +0000 (10:10 +0100)
commit611885bc963a2fa6fbd6141d149abbcce4dd8923
treede9234e0003bd30e8848bee9a6e65172ba4f39b7
parentfce762ed9ffa0192d8f77f60d98f84b4cfbe4517
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>
sound/pci/hda/patch_hdmi.c