ACK/Cmnt[E], NACK[D/B]: [PATCH 1/1] ALSA: hda/realtek: Reduce the Headphone static noise on XPS 9350/9360

Stefan Bader stefan.bader at canonical.com
Thu Nov 28 10:58:16 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>
Acked-by: Stefan Bader <stefan.bader at canonical.com>
> ---

For Bionic this was already picked up via stable and is pending release in this
cycle. For Disco it was already picked up and is queued to be included in the
upcoming cycle. So far it is not yet in Eoan (but might be in one of the yet
unapplied stables).

-Stefan

>  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),
> 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20191128/8da53cf6/attachment-0001.sig>


More information about the kernel-team mailing list