Message ID | 20210524192437.27838-1-peter.ujfalusi@linux.intel.com |
---|---|
State | New |
Headers | show |
Series | [v2] ALSA: hda/realtek: Chain in pop reduction fixup for ThinkStation P340 | expand |
On Mon, 24 May 2021 21:24:37 +0200, Peter Ujfalusi wrote: > > Lenovo ThinkStation P340 uses ALC623 codec (SSID 17aa:1048) and it produces > bug plock/pop noise over line out (green jack on the back) which can be > fixed by applying ALC269_FIXUP_NO_SHUTUP tot he machine. > > Convert the existing entry for the same SSID to chain to apply this fixup > as well. > > Suggested-by: Takashi Iwai <tiwai@suse.de> > Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> The patch looks good, but it doesn't seem applied cleanly on top of the latest Linus or sound.git for-linus branch. Could you rebase and resubmit? thanks, Takashi > --- > Hi Takashi, > > Changes since v1 > - instead of deny_list use chained fixup to fix the plock/pop noise > > Changes since RFC: > - Fixed up the PCI ID > > ever since I have this workstation (three weeks) the plock/pop noise on playback > start bugged me. So far the only solution I have found is to disable the > power_save which I find acceptable on a desktop compared to the pops. > > The alsa-info.sh output is can be found here: > http://alsa-project.org/db/?f=414b1b236fc73db386ad4f938bc3b304f6b30b05 > > Missing details from alsa-info output: > # lspci -nnk | grep -A2 Audio > 00:1f.3 Audio device [0403]: Intel Corporation Comet Lake PCH cAVS [8086:06c8] > DeviceName: Onboard - Sound > Subsystem: Lenovo Device [17aa:1048] > > CPU: i9-10900k > > The machine have ALC623 codec and the jacks are correctly discovered and they > do what they supposed to be. > When I have the headset connected to the front and audio is routed there the > line out (green jack) from the back still prodices the plock/pop. > > Is there a known quirk for similar issue or a better way to handle it? > > [1] https://lore.kernel.org/alsa-devel/20210524152533.7479-1-peter.ujfalusi@linux.intel.com/ > > Thanks you, > Peter Ujfalusi > > sound/pci/hda/patch_realtek.c | 10 +++++++++- > 1 file changed, 9 insertions(+), 1 deletion(-) > > diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c > index 3e269de84079..e2e0ee7b137d 100644 > --- a/sound/pci/hda/patch_realtek.c > +++ b/sound/pci/hda/patch_realtek.c > @@ -6543,6 +6543,7 @@ enum { > ALC295_FIXUP_ASUS_DACS, > ALC295_FIXUP_HP_OMEN, > ALC285_FIXUP_HP_SPECTRE_X360, > + ALC623_FIXUP_LENOVO_THINKSTATION_P340, > }; > > static const struct hda_fixup alc269_fixups[] = { > @@ -8109,6 +8110,12 @@ static const struct hda_fixup alc269_fixups[] = { > .chained = true, > .chain_id = ALC285_FIXUP_SPEAKER2_TO_DAC1, > }, > + [ALC623_FIXUP_LENOVO_THINKSTATION_P340] = { > + .type = HDA_FIXUP_FUNC, > + .v.func = alc_fixup_no_shutup, > + .chained = true, > + .chain_id = ALC283_FIXUP_HEADSET_MIC, > + }, > }; > > static const struct snd_pci_quirk alc269_fixup_tbl[] = { > @@ -8412,7 +8419,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = { > SND_PCI_QUIRK(0x1558, 0x971d, "Clevo N970T[CDF]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), > SND_PCI_QUIRK(0x1558, 0xa500, "Clevo NL53RU", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), > SND_PCI_QUIRK(0x17aa, 0x1036, "Lenovo P520", ALC233_FIXUP_LENOVO_MULTI_CODECS), > - SND_PCI_QUIRK(0x17aa, 0x1048, "ThinkCentre Station", ALC283_FIXUP_HEADSET_MIC), > + SND_PCI_QUIRK(0x17aa, 0x1048, "ThinkCentre Station", ALC623_FIXUP_LENOVO_THINKSTATION_P340), > SND_PCI_QUIRK(0x17aa, 0x20f2, "Thinkpad SL410/510", ALC269_FIXUP_SKU_IGNORE), > SND_PCI_QUIRK(0x17aa, 0x215e, "Thinkpad L512", ALC269_FIXUP_SKU_IGNORE), > SND_PCI_QUIRK(0x17aa, 0x21b8, "Thinkpad Edge 14", ALC269_FIXUP_SKU_IGNORE), > @@ -8677,6 +8684,7 @@ static const struct hda_model_fixup alc269_fixup_models[] = { > {.id = ALC245_FIXUP_HP_X360_AMP, .name = "alc245-hp-x360-amp"}, > {.id = ALC295_FIXUP_HP_OMEN, .name = "alc295-hp-omen"}, > {.id = ALC285_FIXUP_HP_SPECTRE_X360, .name = "alc285-hp-spectre-x360"}, > + {.id = ALC623_FIXUP_LENOVO_THINKSTATION_P340, .name = "alc623-lenovo-thinkstation-p340"}, > {} > }; > #define ALC225_STANDARD_PINS \ > -- > 2.31.1 >
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 3e269de84079..e2e0ee7b137d 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -6543,6 +6543,7 @@ enum { ALC295_FIXUP_ASUS_DACS, ALC295_FIXUP_HP_OMEN, ALC285_FIXUP_HP_SPECTRE_X360, + ALC623_FIXUP_LENOVO_THINKSTATION_P340, }; static const struct hda_fixup alc269_fixups[] = { @@ -8109,6 +8110,12 @@ static const struct hda_fixup alc269_fixups[] = { .chained = true, .chain_id = ALC285_FIXUP_SPEAKER2_TO_DAC1, }, + [ALC623_FIXUP_LENOVO_THINKSTATION_P340] = { + .type = HDA_FIXUP_FUNC, + .v.func = alc_fixup_no_shutup, + .chained = true, + .chain_id = ALC283_FIXUP_HEADSET_MIC, + }, }; static const struct snd_pci_quirk alc269_fixup_tbl[] = { @@ -8412,7 +8419,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = { SND_PCI_QUIRK(0x1558, 0x971d, "Clevo N970T[CDF]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1558, 0xa500, "Clevo NL53RU", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x17aa, 0x1036, "Lenovo P520", ALC233_FIXUP_LENOVO_MULTI_CODECS), - SND_PCI_QUIRK(0x17aa, 0x1048, "ThinkCentre Station", ALC283_FIXUP_HEADSET_MIC), + SND_PCI_QUIRK(0x17aa, 0x1048, "ThinkCentre Station", ALC623_FIXUP_LENOVO_THINKSTATION_P340), SND_PCI_QUIRK(0x17aa, 0x20f2, "Thinkpad SL410/510", ALC269_FIXUP_SKU_IGNORE), SND_PCI_QUIRK(0x17aa, 0x215e, "Thinkpad L512", ALC269_FIXUP_SKU_IGNORE), SND_PCI_QUIRK(0x17aa, 0x21b8, "Thinkpad Edge 14", ALC269_FIXUP_SKU_IGNORE), @@ -8677,6 +8684,7 @@ static const struct hda_model_fixup alc269_fixup_models[] = { {.id = ALC245_FIXUP_HP_X360_AMP, .name = "alc245-hp-x360-amp"}, {.id = ALC295_FIXUP_HP_OMEN, .name = "alc295-hp-omen"}, {.id = ALC285_FIXUP_HP_SPECTRE_X360, .name = "alc285-hp-spectre-x360"}, + {.id = ALC623_FIXUP_LENOVO_THINKSTATION_P340, .name = "alc623-lenovo-thinkstation-p340"}, {} }; #define ALC225_STANDARD_PINS \
Lenovo ThinkStation P340 uses ALC623 codec (SSID 17aa:1048) and it produces bug plock/pop noise over line out (green jack on the back) which can be fixed by applying ALC269_FIXUP_NO_SHUTUP tot he machine. Convert the existing entry for the same SSID to chain to apply this fixup as well. Suggested-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> --- Hi Takashi, Changes since v1 - instead of deny_list use chained fixup to fix the plock/pop noise Changes since RFC: - Fixed up the PCI ID ever since I have this workstation (three weeks) the plock/pop noise on playback start bugged me. So far the only solution I have found is to disable the power_save which I find acceptable on a desktop compared to the pops. The alsa-info.sh output is can be found here: http://alsa-project.org/db/?f=414b1b236fc73db386ad4f938bc3b304f6b30b05 Missing details from alsa-info output: # lspci -nnk | grep -A2 Audio 00:1f.3 Audio device [0403]: Intel Corporation Comet Lake PCH cAVS [8086:06c8] DeviceName: Onboard - Sound Subsystem: Lenovo Device [17aa:1048] CPU: i9-10900k The machine have ALC623 codec and the jacks are correctly discovered and they do what they supposed to be. When I have the headset connected to the front and audio is routed there the line out (green jack) from the back still prodices the plock/pop. Is there a known quirk for similar issue or a better way to handle it? [1] https://lore.kernel.org/alsa-devel/20210524152533.7479-1-peter.ujfalusi@linux.intel.com/ Thanks you, Peter Ujfalusi sound/pci/hda/patch_realtek.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-)