linux-stable/sound
Christian Lachner 87246ae94b ALSA: hda/realtek - Fix silent output on Gigabyte X570 Aorus Master after reboot from Windows
commit c193300867 upstream.

This patch addresses an issue where after rebooting from Windows into Linux
there would be no audio output.

It turns out that the Realtek Audio driver on Windows changes some coeffs
which are not being reset/reinitialized when rebooting the machine. As a
result, there is no audio output until these coeffs are being reset to
their initial state. This patch takes care of that by setting known-good
(initial) values to the coeffs.

We initially relied upon alc1220_fixup_clevo_p950() to fix some pins in the
connection list. However, it also sets coef 0x7 which does not need to be
touched. Furthermore, to prevent mixing device-specific quirks I introduced
a new alc1220_fixup_gb_x570() which is heavily based on
alc1220_fixup_clevo_p950() but does not set coeff 0x7 and fixes the coeffs
that are actually needed instead.

This new alc1220_fixup_gb_x570() is believed to also work for other boards,
like the Gigabyte X570 Aorus Extreme and the newer Gigabyte Aorus X570S
Master. However, as there is no way for me to test these I initially only
enable this new behaviour for the mainboard I have which is the Gigabyte
X570(non-S) Aorus Master.

I tested this patch on the 5.15 branch as well as on master and it is
working well for me.

BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=205275
Signed-off-by: Christian Lachner <gladiac@gmail.com>
Fixes: 0d45e86d22 ("ALSA: hda/realtek - Fix silent output on Gigabyte X570 Aorus Master")
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20220103140517.30273-2-gladiac@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-01-20 09:17:51 +01:00
..
ac97 ALSA: ac97: fix PM reference leak in ac97_bus_remove() 2021-07-20 16:05:40 +02:00
aoa ALSA: aoa: i2sbus: use DECLARE_COMPLETION_ONSTACK() macro 2020-09-03 09:26:52 +02:00
arm
atmel ALSA: atmel: ac97: clarify operator precedence 2020-09-03 09:27:34 +02:00
core ALSA: jack: Check the return value of kstrdup() 2021-12-29 12:25:59 +01:00
drivers ALSA: drivers: opl3: Fix incorrect use of vp->state 2021-12-29 12:26:00 +01:00
firewire ALSA: firewire-motu: fix detection for S/PDIF source on optical interface in v2 protocol 2021-07-20 16:05:45 +02:00
hda ALSA: intel-dsp-config: add quirk for CML devices based on ES8336 codec 2021-12-08 09:03:25 +01:00
i2c
isa ALSA: gus: fix null pointer dereference on pointer block 2021-11-26 10:39:11 +01:00
mips hal2: convert to dma_alloc_noncoherent 2020-09-25 06:20:44 +02:00
oss
parisc
pci ALSA: hda/realtek - Fix silent output on Gigabyte X570 Aorus Master after reboot from Windows 2022-01-20 09:17:51 +01:00
pcmcia
ppc ALSA: ppc: fix error return code in snd_pmac_probe() 2021-07-20 16:05:43 +02:00
sh
soc ASoC: rt5682: fix the wrong jack type detected 2021-12-29 12:26:07 +01:00
sparc ALSA: sparc: dbri: fix repeated word 'the' 2020-10-17 09:58:35 +02:00
spi
synth ALSA: synth: missing check for possible NULL after the call to kstrdup 2021-11-18 14:03:40 +01:00
usb ALSA: usb-audio: Add registration quirk for JBL Quantum 400 2021-11-18 14:03:39 +01:00
x86 ALSA: hda: use consistent HDAudio spelling in comments/docs 2020-09-02 19:31:32 +02:00
xen
ac97_bus.c
Kconfig
last.c
Makefile
sound_core.c