linux/sound
Anssi Hannula 90f2800211 ALSA: hda - hdmi: Fix incorrect default channel mapping for unusual CAs
hdmi_std_setup_channel_mapping() selects a Channel Allocation according
to the sink reported speaker mask, preferring the ALSA standard layouts.

If the channel allocation is not one of the ALSA standard layouts, the
ALSA channels are mapped directly to HDMI channels in order. However,
the function does not take into account that there a holes in the HDMI
channel map.

Additionally, the function tries to disable a slot by using
AC_VERB_SET_CHAN_SLOT with parameter ((alsa_ch << 8) | 0xf), while the
correct parameter is ((0xf << 8) | hdmi_slot), i.e. the slot should be
unassigned, not the ALSA channel.

Fix both of the issues for non-ALSA-default layouts.

Tested on Intel HDMI with a speaker mask of FL | FR | FC | RC, which
causes CA 0x06 to be selected for 4-channel audio, which causes
incorrect output (sound destined to RC goes to FC and FC goes nowhere)
without the patch.

Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-10-07 12:46:26 +02:00
..
aoa ALSA: snd-aoa: Add a layout entry for PowerBook6,5 2013-05-16 07:19:01 +02:00
arm ASoC: pxa: use snd_dmaengine_dai_dma_data 2013-08-15 11:29:07 +01:00
atmel ALSA: atmel: Remove redundant platform_set_drvdata() 2013-05-03 11:40:23 +02:00
core ALSA: compress: Make sure we trigger STOP before closing the stream. 2013-09-26 09:28:22 +02:00
drivers ALSA: replace strict_strto*() with kstrto*() 2013-07-21 11:56:18 +02:00
firewire ALSA: firewire-lib: use inlune function to calculate frame bytes 2013-09-26 10:36:52 +02:00
i2c [media] tea575x: Move from sound to media 2013-08-18 08:09:59 -03:00
isa Merge remote-tracking branch 'asoc/fix/fsl' into asoc-linus 2013-09-11 11:17:15 +01:00
mips ALSA: mips/sgio2audio: Remove redundant platform_set_drvdata() 2013-05-06 10:45:54 +02:00
oss ASoC: Updates for v3.12 2013-08-23 14:12:22 +02:00
parisc ALSA: Remove the rest of *_set_drvdata(NULL) calls 2013-05-29 12:50:59 +02:00
pci ALSA: hda - hdmi: Fix incorrect default channel mapping for unusual CAs 2013-10-07 12:46:26 +02:00
pcmcia sound/pcmcia: use module_pcmcia_driver() in pcmcia drivers 2013-03-15 12:26:39 -07:00
ppc ALSA: powermac: Remove redundant platform_set_drvdata() 2013-05-23 14:35:58 +02:00
sh ALSA: sh_dac_audio: Remove redundant platform_set_drvdata() 2013-05-23 14:36:45 +02:00
soc Remove GENERIC_HARDIRQ config option 2013-09-13 15:09:52 +02:00
sparc ALSA: Remove the rest of *_set_drvdata(NULL) calls 2013-05-29 12:50:59 +02:00
spi ALSA: Remove the rest of *_set_drvdata(NULL) calls 2013-05-29 12:50:59 +02:00
synth
usb ALSA: usb-audio: remove unused endpoint flag EP_FLAG_ACTIVATED 2013-10-07 11:22:43 +02:00
ac97_bus.c
Kconfig sound: remove reference to feature-removal-schedule.txt 2012-12-17 17:15:12 -08:00
last.c
Makefile
sound_core.c drivers: avoid format string in dev_set_name 2013-07-03 16:07:41 -07:00
sound_firmware.c sound_firmware: don't bother with filp_close() 2013-04-09 15:16:32 -04:00