Commit d5a6cabf authored by Takashi Iwai's avatar Takashi Iwai

ALSA: hda/realtek - Fix pop noise on Lenovo P50 & co

Some Lenovo laptops, e.g. Lenovo P50, showed the pop noise at resume
or runtime resume.  It turned out to be reduced by applying
alc_no_shutup() just like TPT440 quirk does.

Since there are many Lenovo models showing the same behavior, put this
workaround in ALC269_FIXUP_THINKPAD_ACPI entry so that it's applied
commonly to all such Lenovo machines.
Reported-by: default avatarHans de Goede <hdegoede@redhat.com>
Tested-by: default avatarBenjamin Berg <bberg@redhat.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent ce397d21
...@@ -4995,7 +4995,6 @@ static void alc_fixup_tpt440_dock(struct hda_codec *codec, ...@@ -4995,7 +4995,6 @@ static void alc_fixup_tpt440_dock(struct hda_codec *codec,
struct alc_spec *spec = codec->spec; struct alc_spec *spec = codec->spec;
if (action == HDA_FIXUP_ACT_PRE_PROBE) { if (action == HDA_FIXUP_ACT_PRE_PROBE) {
spec->shutup = alc_no_shutup; /* reduce click noise */
spec->reboot_notify = alc_d3_at_reboot; /* reduce noise */ spec->reboot_notify = alc_d3_at_reboot; /* reduce noise */
spec->parse_flags = HDA_PINCFG_NO_HP_FIXUP; spec->parse_flags = HDA_PINCFG_NO_HP_FIXUP;
codec->power_save_node = 0; /* avoid click noises */ codec->power_save_node = 0; /* avoid click noises */
...@@ -5394,6 +5393,13 @@ static void alc274_fixup_bind_dacs(struct hda_codec *codec, ...@@ -5394,6 +5393,13 @@ static void alc274_fixup_bind_dacs(struct hda_codec *codec,
/* for hda_fixup_thinkpad_acpi() */ /* for hda_fixup_thinkpad_acpi() */
#include "thinkpad_helper.c" #include "thinkpad_helper.c"
static void alc_fixup_thinkpad_acpi(struct hda_codec *codec,
const struct hda_fixup *fix, int action)
{
alc_fixup_no_shutup(codec, fix, action); /* reduce click noise */
hda_fixup_thinkpad_acpi(codec, fix, action);
}
/* for dell wmi mic mute led */ /* for dell wmi mic mute led */
#include "dell_wmi_helper.c" #include "dell_wmi_helper.c"
...@@ -5946,7 +5952,7 @@ static const struct hda_fixup alc269_fixups[] = { ...@@ -5946,7 +5952,7 @@ static const struct hda_fixup alc269_fixups[] = {
}, },
[ALC269_FIXUP_THINKPAD_ACPI] = { [ALC269_FIXUP_THINKPAD_ACPI] = {
.type = HDA_FIXUP_FUNC, .type = HDA_FIXUP_FUNC,
.v.func = hda_fixup_thinkpad_acpi, .v.func = alc_fixup_thinkpad_acpi,
.chained = true, .chained = true,
.chain_id = ALC269_FIXUP_SKU_IGNORE, .chain_id = ALC269_FIXUP_SKU_IGNORE,
}, },
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment