summaryrefslogtreecommitdiff
path: root/arch/arm/oprofile
diff options
context:
space:
mode:
authorAnssi Hannula <anssi.hannula@iki.fi>2013-10-04 23:25:39 (GMT)
committerJiri Slaby <jslaby@suse.cz>2014-03-12 12:25:24 (GMT)
commit86bf1122e6e267182919e18ec5fd9f8a286d4da9 (patch)
treeb34d1ce626fce85b14efca1df7184e786443ac23 /arch/arm/oprofile
parentb378f0653eb0674d94a0d6c526a663e57a3d7cac (diff)
downloadlinux-fsl-qoriq-86bf1122e6e267182919e18ec5fd9f8a286d4da9.tar.xz
ALSA: hda - hdmi: Fix incorrect default channel mapping for unusual CAs
commit 90f28002110d783f49639f0db2ccdc0b58302cbd upstream. 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> Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Diffstat (limited to 'arch/arm/oprofile')
0 files changed, 0 insertions, 0 deletions