Home Home > GIT Browse > SLE15-AZURE
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2019-10-19 08:45:58 +0200
committerTakashi Iwai <tiwai@suse.de>2019-10-19 08:47:13 +0200
commit8ec4104d18f2883eed4a2375ed0f600c4ca337f6 (patch)
treee621db6c44fe26958e00752400287c5777f11f3f
parent08012fcf04b5d2d56d0e6bb11a4d73e604c73456 (diff)
ALSA: hda/realtek: Reduce the Headphone static noise on XPS
9350/9360 (bsc#1051510).
-rw-r--r--patches.suse/ALSA-hda-realtek-Reduce-the-Headphone-static-noise-o.patch99
-rw-r--r--series.conf1
2 files changed, 100 insertions, 0 deletions
diff --git a/patches.suse/ALSA-hda-realtek-Reduce-the-Headphone-static-noise-o.patch b/patches.suse/ALSA-hda-realtek-Reduce-the-Headphone-static-noise-o.patch
new file mode 100644
index 0000000000..c6f37e7ee4
--- /dev/null
+++ b/patches.suse/ALSA-hda-realtek-Reduce-the-Headphone-static-noise-o.patch
@@ -0,0 +1,99 @@
+From 1099f48457d06b816359fb43ac32a4a07e33219b Mon Sep 17 00:00:00 2001
+From: Kai-Heng Feng <kai.heng.feng@canonical.com>
+Date: Thu, 3 Oct 2019 12:39:19 +0800
+Subject: [PATCH] ALSA: hda/realtek: Reduce the Headphone static noise on XPS 9350/9360
+Git-commit: 1099f48457d06b816359fb43ac32a4a07e33219b
+Patch-mainline: v5.4-rc4
+References: bsc#1051510
+
+Headphone on XPS 9350/9360 produces a background white noise. The The
+noise level somehow correlates with "Headphone Mic Boost", when it sets
+to 1 the noise disappears. However, doing this has a side effect, which
+also decreases the overall headphone volume so I didn't send the patch
+upstream.
+
+The noise was bearable back then, but after commit 717f43d81afc ("ALSA:
+hda/realtek - Update headset mode for ALC256") the noise exacerbates to
+a point it starts hurting ears.
+
+So let's use the workaround to set "Headphone Mic Boost" to 1 and lock
+it so it's not touchable by userspace.
+
+Fixes: 717f43d81afc ("ALSA: hda/realtek - Update headset mode for ALC256")
+Buglink: https://bugs.launchpad.net/bugs/1654448
+Buglink: https://bugs.launchpad.net/bugs/1845810
+Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
+Link: https://lore.kernel.org/r/20191003043919.10960-1-kai.heng.feng@canonical.com
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ sound/pci/hda/patch_realtek.c | 24 +++++++++++++++++++++---
+ 1 file changed, 21 insertions(+), 3 deletions(-)
+
+diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
+index b000b36ac3c6..b5c225a56b98 100644
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -5358,6 +5358,17 @@ static void alc271_hp_gate_mic_jack(struct hda_codec *codec,
+ }
+ }
+
++static void alc256_fixup_dell_xps_13_headphone_noise2(struct hda_codec *codec,
++ const struct hda_fixup *fix,
++ int action)
++{
++ if (action != HDA_FIXUP_ACT_PRE_PROBE)
++ return;
++
++ snd_hda_codec_amp_stereo(codec, 0x1a, HDA_INPUT, 0, HDA_AMP_VOLMASK, 1);
++ snd_hda_override_wcaps(codec, 0x1a, get_wcaps(codec, 0x1a) & ~AC_WCAP_IN_AMP);
++}
++
+ static void alc269_fixup_limit_int_mic_boost(struct hda_codec *codec,
+ const struct hda_fixup *fix,
+ int action)
+@@ -5822,6 +5833,7 @@ enum {
+ ALC298_FIXUP_DELL_AIO_MIC_NO_PRESENCE,
+ ALC275_FIXUP_DELL_XPS,
+ ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE,
++ ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE2,
+ ALC293_FIXUP_LENOVO_SPK_NOISE,
+ ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY,
+ ALC255_FIXUP_DELL_SPK_NOISE,
+@@ -6558,6 +6570,12 @@ static const struct hda_fixup alc269_fixups[] = {
+ .chained = true,
+ .chain_id = ALC255_FIXUP_DELL1_MIC_NO_PRESENCE
+ },
++ [ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE2] = {
++ .type = HDA_FIXUP_FUNC,
++ .v.func = alc256_fixup_dell_xps_13_headphone_noise2,
++ .chained = true,
++ .chain_id = ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE
++ },
+ [ALC293_FIXUP_LENOVO_SPK_NOISE] = {
+ .type = HDA_FIXUP_FUNC,
+ .v.func = alc_fixup_disable_aamix,
+@@ -7001,17 +7019,17 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
+ SND_PCI_QUIRK(0x1028, 0x06de, "Dell", ALC293_FIXUP_DISABLE_AAMIX_MULTIJACK),
+ SND_PCI_QUIRK(0x1028, 0x06df, "Dell", ALC293_FIXUP_DISABLE_AAMIX_MULTIJACK),
+ SND_PCI_QUIRK(0x1028, 0x06e0, "Dell", ALC293_FIXUP_DISABLE_AAMIX_MULTIJACK),
+- SND_PCI_QUIRK(0x1028, 0x0704, "Dell XPS 13 9350", ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE),
++ SND_PCI_QUIRK(0x1028, 0x0704, "Dell XPS 13 9350", ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE2),
+ SND_PCI_QUIRK(0x1028, 0x0706, "Dell Inspiron 7559", ALC256_FIXUP_DELL_INSPIRON_7559_SUBWOOFER),
+ SND_PCI_QUIRK(0x1028, 0x0725, "Dell Inspiron 3162", ALC255_FIXUP_DELL_SPK_NOISE),
+ SND_PCI_QUIRK(0x1028, 0x0738, "Dell Precision 5820", ALC269_FIXUP_NO_SHUTUP),
+- SND_PCI_QUIRK(0x1028, 0x075b, "Dell XPS 13 9360", ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE),
++ SND_PCI_QUIRK(0x1028, 0x075b, "Dell XPS 13 9360", ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE2),
+ SND_PCI_QUIRK(0x1028, 0x075c, "Dell XPS 27 7760", ALC298_FIXUP_SPK_VOLUME),
+ SND_PCI_QUIRK(0x1028, 0x075d, "Dell AIO", ALC298_FIXUP_SPK_VOLUME),
+ SND_PCI_QUIRK(0x1028, 0x07b0, "Dell Precision 7520", ALC295_FIXUP_DISABLE_DAC3),
+ SND_PCI_QUIRK(0x1028, 0x0798, "Dell Inspiron 17 7000 Gaming", ALC256_FIXUP_DELL_INSPIRON_7559_SUBWOOFER),
+ SND_PCI_QUIRK(0x1028, 0x080c, "Dell WYSE", ALC225_FIXUP_DELL_WYSE_MIC_NO_PRESENCE),
+- SND_PCI_QUIRK(0x1028, 0x082a, "Dell XPS 13 9360", ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE),
++ SND_PCI_QUIRK(0x1028, 0x082a, "Dell XPS 13 9360", ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE2),
+ SND_PCI_QUIRK(0x1028, 0x084b, "Dell", ALC274_FIXUP_DELL_AIO_LINEOUT_VERB),
+ SND_PCI_QUIRK(0x1028, 0x084e, "Dell", ALC274_FIXUP_DELL_AIO_LINEOUT_VERB),
+ SND_PCI_QUIRK(0x1028, 0x0871, "Dell Precision 3630", ALC255_FIXUP_DELL_HEADSET_MIC),
+--
+2.16.4
+
diff --git a/series.conf b/series.conf
index 1806c31d1d..dedc0830ef 100644
--- a/series.conf
+++ b/series.conf
@@ -24828,6 +24828,7 @@
patches.suse/0001-USB-legousbtower-fix-open-after-failed-reset-request.patch
patches.suse/tracing-Initialize-iter-seq-after-zeroing-in-tracing.patch
patches.suse/firmware-dmi-fix-unlikely-out-of-bounds-read.patch
+ patches.suse/ALSA-hda-realtek-Reduce-the-Headphone-static-noise-o.patch
# davem/net
patches.suse/net-ibmvnic-Fix-EOI-when-running-in-XIVE-mode.patch