ACK[E]: [PATCH 1/1] ALSA: hda/realtek: Reduce the Headphone static noise on XPS 9350/9360
Kleber Souza
kleber.souza at canonical.com
Fri Nov 29 17:19:20 UTC 2019
On 13.11.19 08:11, Kai-Heng Feng wrote:
> BugLink: https://bugs.launchpad.net/bugs/1654448
>
> 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 at canonical.com>
> Link: https://lore.kernel.org/r/20191003043919.10960-1-kai.heng.feng@canonical.com
> Signed-off-by: Takashi Iwai <tiwai at suse.de>
> (cherry picked from commit 1099f48457d06b816359fb43ac32a4a07e33219b)
> Signed-off-by: Kai-Heng Feng <kai.heng.feng at canonical.com>
Only for E. Not needed for the other series as pointed out by Stefan.
Acked-by: Kleber Sacilotto de Souza <kleber.souza at canonical.com>
> ---
> 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 ae35a1a5b810..802d6a0ffc1d 100644
> --- a/sound/pci/hda/patch_realtek.c
> +++ b/sound/pci/hda/patch_realtek.c
> @@ -5363,6 +5363,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)
> @@ -5826,6 +5837,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,
> @@ -6554,6 +6566,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,
> @@ -7006,17 +7024,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),
>
More information about the kernel-team
mailing list