[PATCH] ALSA:hda/realtek:ALC269 fixup for Yoga/Legion Mic noise
From: Jackie Dong
Date: Tue Aug 04 2026 - 09:57:28 EST
Lenovo Yoga Pro 7 15ASH11 and Legion 7 15ASH11 use the same audio
subsystem implementation and support only analog microphone.
Limit Amp-In Vals to 0x00 and 0x01 for the internal microphone to reduce
recording noise. Values 0x02 and 0x03 introduce significant noise on
them.
Signed-off-by: Jackie Dong <xy-jackie@xxxxxxx>
---
sound/hda/codecs/realtek/alc269.c | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/sound/hda/codecs/realtek/alc269.c b/sound/hda/codecs/realtek/alc269.c
index 48a2e7f2ebb1..9ac9971d7873 100644
--- a/sound/hda/codecs/realtek/alc269.c
+++ b/sound/hda/codecs/realtek/alc269.c
@@ -3524,6 +3524,16 @@ static void alc287_fixup_yoga9_14iap7_bass_spk_pin(struct hda_codec *codec,
}
}
+static void alc_fixup_yoga_pro7_audio(struct hda_codec *codec,
+ const struct hda_fixup *fix, int action)
+{
+ /* Reuse the DAC routing selected for ThinkPad X1 Gen7 */
+ alc285_fixup_thinkpad_x1_gen7(codec, fix, action);
+
+ /* Limit the internal mic boost to 0 or 1 to avoid noise */
+ alc269_fixup_limit_int_mic_boost(codec, fix, action);
+}
+
static void alc295_fixup_dell_inspiron_top_speakers(struct hda_codec *codec,
const struct hda_fixup *fix, int action)
{
@@ -6209,8 +6219,7 @@ static const struct hda_fixup alc269_fixups[] = {
},
[ALC287_FIXUP_LENOVO_YOGA_PRO7] = {
.type = HDA_FIXUP_FUNC,
- /* Reuse the DAC routing selected for ThinkPad X1 Gen7 */
- .v.func = alc285_fixup_thinkpad_x1_gen7,
+ .v.func = alc_fixup_yoga_pro7_audio,
.chained = true,
.chain_id = ALC269_FIXUP_LENOVO_XPAD_ACPI,
},
--
2.53.0