| From 1b94e59d30afecf18254ad413e953e7587645a20 Mon Sep 17 00:00:00 2001 |
| From: Takashi Iwai <tiwai@suse.de> |
| Date: Tue, 12 May 2020 09:32:03 +0200 |
| Subject: ALSA: hda/realtek - Add COEF workaround for ASUS ZenBook UX431DA |
| |
| From: Takashi Iwai <tiwai@suse.de> |
| |
| commit 1b94e59d30afecf18254ad413e953e7587645a20 upstream. |
| |
| ASUS ZenBook UX431DA requires an additional COEF setup when booted |
| from the recent Windows 10, otherwise it produces the noisy output. |
| The quirk turns on COEF 0x1b bit 10 that has been cleared supposedly |
| due to the pop noise reduction. |
| |
| BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=207553 |
| Cc: <stable@vger.kernel.org> |
| Signed-off-by: Takashi Iwai <tiwai@suse.de> |
| Link: https://lore.kernel.org/r/20200512073203.14091-1-tiwai@suse.de |
| Signed-off-by: Takashi Iwai <tiwai@suse.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| sound/pci/hda/patch_realtek.c | 13 +++++++++++++ |
| 1 file changed, 13 insertions(+) |
| |
| --- a/sound/pci/hda/patch_realtek.c |
| +++ b/sound/pci/hda/patch_realtek.c |
| @@ -5978,6 +5978,7 @@ enum { |
| ALC294_FIXUP_ASUS_DUAL_SPK, |
| ALC285_FIXUP_THINKPAD_HEADSET_JACK, |
| ALC294_FIXUP_ASUS_HPE, |
| + ALC294_FIXUP_ASUS_COEF_1B, |
| ALC285_FIXUP_HP_GPIO_LED, |
| }; |
| |
| @@ -7112,6 +7113,17 @@ static const struct hda_fixup alc269_fix |
| .chained = true, |
| .chain_id = ALC294_FIXUP_ASUS_HEADSET_MIC |
| }, |
| + [ALC294_FIXUP_ASUS_COEF_1B] = { |
| + .type = HDA_FIXUP_VERBS, |
| + .v.verbs = (const struct hda_verb[]) { |
| + /* Set bit 10 to correct noisy output after reboot from |
| + * Windows 10 (due to pop noise reduction?) |
| + */ |
| + { 0x20, AC_VERB_SET_COEF_INDEX, 0x1b }, |
| + { 0x20, AC_VERB_SET_PROC_COEF, 0x4e4b }, |
| + { } |
| + }, |
| + }, |
| [ALC285_FIXUP_HP_GPIO_LED] = { |
| .type = HDA_FIXUP_FUNC, |
| .v.func = alc285_fixup_hp_gpio_led, |
| @@ -7283,6 +7295,7 @@ static const struct snd_pci_quirk alc269 |
| SND_PCI_QUIRK(0x1043, 0x19ce, "ASUS B9450FA", ALC294_FIXUP_ASUS_HPE), |
| SND_PCI_QUIRK(0x1043, 0x1a13, "Asus G73Jw", ALC269_FIXUP_ASUS_G73JW), |
| SND_PCI_QUIRK(0x1043, 0x1a30, "ASUS X705UD", ALC256_FIXUP_ASUS_MIC), |
| + SND_PCI_QUIRK(0x1043, 0x1b11, "ASUS UX431DA", ALC294_FIXUP_ASUS_COEF_1B), |
| SND_PCI_QUIRK(0x1043, 0x1b13, "Asus U41SV", ALC269_FIXUP_INV_DMIC), |
| SND_PCI_QUIRK(0x1043, 0x1bbd, "ASUS Z550MA", ALC255_FIXUP_ASUS_MIC_NO_PRESENCE), |
| SND_PCI_QUIRK(0x1043, 0x1c23, "Asus X55U", ALC269_FIXUP_LIMIT_INT_MIC_BOOST), |