linux_dsm_epyc7002/sound/pci
Anssi Hannula 39edac70e9 ALSA: hda - hdmi: Fix channel map switch not taking effect
Currently hdmi_setup_audio_infoframe() reprograms the HDA channel
mapping only when the infoframe is not up-to-date or the non-PCM flag
has changed.

However, when just the channel map has been changed, the infoframe may
still be up-to-date and non-PCM flag may not have changed, so the new
channel map is not actually programmed into the HDA codec.

Notably, this failing case is also always triggered when the device is
already in a prepared state and a new channel map is configured while
changing only the channel positions (for example, plain
"speaker-test -c2 -m FR,FL").

Fix that by always programming the channel map in
hdmi_setup_audio_infoframe(). Tested on Intel HDMI.

Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-10-08 09:27:26 +02:00
..
ac97 ALSA: ac97: Add ID for TI TLV320AIC27 codec 2013-09-30 11:09:21 +02:00
ali5451 ALSA: PCI: Remove superfluous pci_set_drvdata(pci, NULL) at remove 2013-05-29 12:37:32 +02:00
asihpi ALSA: asihpi: Fix unlocked snd_pcm_stop() call 2013-07-15 18:12:49 +02:00
au88x0 ALSA: PCI: Remove superfluous pci_set_drvdata(pci, NULL) at remove 2013-05-29 12:37:32 +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: PCI: Remove superfluous pci_set_drvdata(pci, NULL) at remove 2013-05-29 12:37:32 +02:00
ctxfi ALSA: PCI: Remove superfluous pci_set_drvdata(pci, NULL) at remove 2013-05-29 12:37:32 +02:00
echoaudio ALSA: PCI: Remove superfluous pci_set_drvdata(pci, NULL) at remove 2013-05-29 12:37:32 +02:00
emu10k1 ALSA: PCI: Remove superfluous pci_set_drvdata(pci, NULL) at remove 2013-05-29 12:37:32 +02:00
hda ALSA: hda - hdmi: Fix channel map switch not taking effect 2013-10-08 09:27:26 +02:00
ice1712 ALSA: PCI: Remove superfluous pci_set_drvdata(pci, NULL) at remove 2013-05-29 12:37:32 +02:00
korg1212 ALSA: PCI: Remove superfluous pci_set_drvdata(pci, NULL) at remove 2013-05-29 12:37:32 +02:00
lola ALSA: PCI: Remove superfluous pci_set_drvdata(pci, NULL) at remove 2013-05-29 12:37:32 +02: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: hdspm - Use enums in hdspm_tco_ltc_frames() 2013-08-19 20:09:03 +02: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: PCI: Remove superfluous pci_set_drvdata(pci, NULL) at remove 2013-05-29 12:37:32 +02:00
ad1889.h
ak4531_codec.c ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
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: PCI: Remove superfluous pci_set_drvdata(pci, NULL) at remove 2013-05-29 12:37:32 +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 ALSA: Add the driver for Digigram Lola PCI-e boards 2011-05-03 16:31:05 +02:00
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: Add missing inclusion of linux/vmalloc.h 2013-08-22 23:24:00 +02: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