Skip to content

Commit c8c6ee6

Browse files
jason77-wangtiwai
authored andcommitted
ALSA: hda/realtek: Disable PC beep in passthrough on alc285
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: c4cfcf6 ("ALSA: hda/realtek - fix the pop noise on headphone for lenovo laptops") Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1660581 Cc: <stable@vger.kernel.org> Signed-off-by: Kailang Yang <kailang@realtek.com> Signed-off-by: Hui Wang <hui.wang@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
1 parent 7f665b1 commit c8c6ee6

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

sound/pci/hda/patch_realtek.c

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5660,6 +5660,7 @@ enum {
56605660
ALC294_FIXUP_ASUS_SPK,
56615661
ALC225_FIXUP_HEADSET_JACK,
56625662
ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE,
5663+
ALC285_FIXUP_LENOVO_PC_BEEP_IN_NOISE,
56635664
};
56645665

56655666
static const struct hda_fixup alc269_fixups[] = {
@@ -6615,6 +6616,17 @@ static const struct hda_fixup alc269_fixups[] = {
66156616
.chained = true,
66166617
.chain_id = ALC269_FIXUP_HEADSET_MODE_NO_HP_MIC
66176618
},
6619+
[ALC285_FIXUP_LENOVO_PC_BEEP_IN_NOISE] = {
6620+
.type = HDA_FIXUP_VERBS,
6621+
.v.verbs = (const struct hda_verb[]) {
6622+
/* Disable PCBEEP-IN passthrough */
6623+
{ 0x20, AC_VERB_SET_COEF_INDEX, 0x36 },
6624+
{ 0x20, AC_VERB_SET_PROC_COEF, 0x57d7 },
6625+
{ }
6626+
},
6627+
.chained = true,
6628+
.chain_id = ALC285_FIXUP_LENOVO_HEADPHONE_NOISE
6629+
},
66186630
};
66196631

66206632
static const struct snd_pci_quirk alc269_fixup_tbl[] = {
@@ -7300,7 +7312,7 @@ static const struct snd_hda_pin_quirk alc269_pin_fixup_tbl[] = {
73007312
{0x12, 0x90a60130},
73017313
{0x19, 0x03a11020},
73027314
{0x21, 0x0321101f}),
7303-
SND_HDA_PIN_QUIRK(0x10ec0285, 0x17aa, "Lenovo", ALC285_FIXUP_LENOVO_HEADPHONE_NOISE,
7315+
SND_HDA_PIN_QUIRK(0x10ec0285, 0x17aa, "Lenovo", ALC285_FIXUP_LENOVO_PC_BEEP_IN_NOISE,
73047316
{0x12, 0x90a60130},
73057317
{0x14, 0x90170110},
73067318
{0x19, 0x04a11040},

0 commit comments

Comments
 (0)