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

Hui Wang hui.wang at canonical.com
Fri Feb 22 10:20:50 UTC 2019


Ah, I generated the patch based on the tag Ubuntu-4.19.0-9.10. Will fix
it in the V2.

Thanks,
Hui.
On 2019/2/22 下午6:12, You-Sheng Yang wrote:
> Cannot clean apply on disco master-next HEAD commit
> 6c2b942599ac3f01a613405caa3befde7fc44367.
>
> On 五, 2019-02-22 at 16:54 +0800, Hui Wang 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>
>> (backported 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 cf5d26642bcd..66123abf107c 100644
>> --- a/sound/pci/hda/patch_realtek.c
>> +++ b/sound/pci/hda/patch_realtek.c
>> @@ -5510,6 +5510,7 @@ enum {
>>  	ALC221_FIXUP_HP_HEADSET_MIC,
>>  	ALC285_FIXUP_LENOVO_HEADPHONE_NOISE,
>>  	ALC295_FIXUP_HP_AUTO_MUTE,
>> +	ALC285_FIXUP_LENOVO_PC_BEEP_IN_NOISE,
>>  };
>>  
>>  static const struct hda_fixup alc269_fixups[] = {
>> @@ -6387,6 +6388,17 @@ static const struct hda_fixup alc269_fixups[]
>> = {
>>  		.type = HDA_FIXUP_FUNC,
>>  		.v.func = alc_fixup_auto_mute_via_amp,
>>  	},
>> +	[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[] = {
>> @@ -7060,7 +7072,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},
>> -- 
>> 2.17.1
>>
>>
>>




More information about the kernel-team mailing list