Commit 157f0b7f authored by Takashi Iwai's avatar Takashi Iwai

ALSA: hda - Apply click noise workaround for Thinkpads generically

It seems that a workaround for Thinkpad T440s crackling noise can be
applied generically to all Thinkpad models: namely, disabling the
default alc269 shutup callback.  This patch moves it to the existing
alc_fixup_tpt440_dock() while also replacing the rest code with
another existing alc_fixup_disable_aamix().  It resulted in a good
code reduction.

Bugzilla: https://bugzilla.suse.com/show_bug.cgi?id=958439Reported-and-tested-by: default avatarBenjamin Poirier <bpoirier@suse.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent c04017ea
...@@ -4198,24 +4198,13 @@ static void alc_fixup_tpt440_dock(struct hda_codec *codec, ...@@ -4198,24 +4198,13 @@ 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->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 */
snd_hda_apply_pincfgs(codec, pincfgs); snd_hda_apply_pincfgs(codec, pincfgs);
} }
} }
/* additional fixup for Thinkpad T440s noise problem */
static void alc_fixup_tpt440(struct hda_codec *codec,
const struct hda_fixup *fix, int action)
{
struct alc_spec *spec = codec->spec;
if (action == HDA_FIXUP_ACT_PRE_PROBE) {
spec->shutup = alc_no_shutup; /* reduce click noise */
spec->gen.mixer_nid = 0; /* reduce background noise */
}
}
static void alc_shutup_dell_xps13(struct hda_codec *codec) static void alc_shutup_dell_xps13(struct hda_codec *codec)
{ {
struct alc_spec *spec = codec->spec; struct alc_spec *spec = codec->spec;
...@@ -5067,7 +5056,7 @@ static const struct hda_fixup alc269_fixups[] = { ...@@ -5067,7 +5056,7 @@ static const struct hda_fixup alc269_fixups[] = {
}, },
[ALC292_FIXUP_TPT440] = { [ALC292_FIXUP_TPT440] = {
.type = HDA_FIXUP_FUNC, .type = HDA_FIXUP_FUNC,
.v.func = alc_fixup_tpt440, .v.func = alc_fixup_disable_aamix,
.chained = true, .chained = true,
.chain_id = ALC292_FIXUP_TPT440_DOCK, .chain_id = ALC292_FIXUP_TPT440_DOCK,
}, },
......
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