ACK: [SRU][unstable][PATCH] ALSA: hda/realtek: Disable PC beep in passthrough on alc285

Kai Heng Feng kai.heng.feng at canonical.com
Fri Feb 22 09:33:21 UTC 2019



> On Feb 22, 2019, at 9:54 AM, Hui Wang <hui.wang at canonical.com> wrote:
> 
> BugLink: http://bugs.launchpad.net/bugs/1817263
> 
> It is reported that there's a constant background "hum/whitenoise"
> in the headset on the Lenovo X1 machines with the codec alc285, and it
> is confirmed that if we run the command below, the noise will stop.
> sudo hda-verb /dev/snd/hwC0D0 0x1d SET_PIN_WIDGET_CONTROL 0x0
> 
> Then I consulted this issue with Kailang, he told me the pin 0x1d on
> this codec is used for PC beep in, the noise probably comes from this
> pin and we can also disable the PC beep in passthrough, then the PC
> beep in will not affect other sound playback.
> 
> Fixes: c4cfcf6f4297 ("ALSA: hda/realtek - fix the pop noise on headphone for lenovo laptops")
> Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1660581
> Cc: <stable at vger.kernel.org>
> Signed-off-by: Kailang Yang <kailang at realtek.com>
> Signed-off-by: Hui Wang <hui.wang at canonical.com>
> Signed-off-by: Takashi Iwai <tiwai at suse.de>
> (cherry picked from commit c8c6ee611926685a7d753409e0a6e48b9e1b8748
> git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git)
> Signed-off-by: Hui Wang <hui.wang at canonical.com>
> ---
> sound/pci/hda/patch_realtek.c | 14 +++++++++++++-
> 1 file changed, 13 insertions(+), 1 deletion(-)
> 
> diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> index 3ce318a3086d..1ffa36e987b4 100644
> --- a/sound/pci/hda/patch_realtek.c
> +++ b/sound/pci/hda/patch_realtek.c
> @@ -5660,6 +5660,7 @@ enum {
> 	ALC294_FIXUP_ASUS_SPK,
> 	ALC225_FIXUP_HEADSET_JACK,
> 	ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE,
> +	ALC285_FIXUP_LENOVO_PC_BEEP_IN_NOISE,
> };
> 
> static const struct hda_fixup alc269_fixups[] = {
> @@ -6615,6 +6616,17 @@ static const struct hda_fixup alc269_fixups[] = {
> 		.chained = true,
> 		.chain_id = ALC269_FIXUP_HEADSET_MODE_NO_HP_MIC
> 	},
> +	[ALC285_FIXUP_LENOVO_PC_BEEP_IN_NOISE] = {
> +		.type = HDA_FIXUP_VERBS,
> +		.v.verbs = (const struct hda_verb[]) {
> +			/* Disable PCBEEP-IN passthrough */
> +			{ 0x20, AC_VERB_SET_COEF_INDEX, 0x36 },
> +			{ 0x20, AC_VERB_SET_PROC_COEF, 0x57d7 },
> +			{ }
> +		},
> +		.chained = true,
> +		.chain_id = ALC285_FIXUP_LENOVO_HEADPHONE_NOISE
> +	},
> };
> 
> static const struct snd_pci_quirk alc269_fixup_tbl[] = {
> @@ -7300,7 +7312,7 @@ static const struct snd_hda_pin_quirk alc269_pin_fixup_tbl[] = {
> 		{0x12, 0x90a60130},
> 		{0x19, 0x03a11020},
> 		{0x21, 0x0321101f}),
> -	SND_HDA_PIN_QUIRK(0x10ec0285, 0x17aa, "Lenovo", ALC285_FIXUP_LENOVO_HEADPHONE_NOISE,
> +	SND_HDA_PIN_QUIRK(0x10ec0285, 0x17aa, "Lenovo", ALC285_FIXUP_LENOVO_PC_BEEP_IN_NOISE,
> 		{0x12, 0x90a60130},
> 		{0x14, 0x90170110},
> 		{0x19, 0x04a11040},

Acked-by: Kai-Heng Feng <kai.heng.feng at canonical.com>

> -- 
> 2.17.1
> 
> 
> -- 
> kernel-team mailing list
> kernel-team at lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team




More information about the kernel-team mailing list