• Christian Lachner's avatar
    ALSA: hda/realtek - Fix silent output on Gigabyte X570 Aorus Master after reboot from Windows · c1933008
    Christian Lachner authored
    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=205275Signed-off-by: default avatarChristian Lachner <gladiac@gmail.com>
    Fixes: 0d45e86d ("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.comSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    c1933008
patch_realtek.c 347 KB