* [PATCH] ALSA:hda/realtek: ALC269 fixup for Lenovo Yoga Pro 7 15ASH111 audio
@ 2026-05-13 9:12 Jackie Dong
2026-05-13 9:26 ` Eric Naim
0 siblings, 1 reply; 3+ messages in thread
From: Jackie Dong @ 2026-05-13 9:12 UTC (permalink / raw)
To: perex, tiwai, sbinding, zhangheng, kailang, edip
Cc: linux-sound, linux-kernel, Jackie Dong
ALSA:hda/realtek: ALC269 fixup for Lenovo Yoga Pro 7 15ASH111 audio
The amp/speakers on the Lenovo Yoga Pro 7 15ASH11 laptop aren't be
adjusted by Speaker Volume. Reuse the DAC routing selected for ThinkPad
X1 Gen7 function to fix it.
Signed-off-by: Jackie Dong <xy-jackie@139.com>
---
sound/hda/codecs/realtek/alc269.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/sound/hda/codecs/realtek/alc269.c b/sound/hda/codecs/realtek/alc269.c
index 11d0ea8ed859..84aa1d4e7410 100644
--- a/sound/hda/codecs/realtek/alc269.c
+++ b/sound/hda/codecs/realtek/alc269.c
@@ -4076,6 +4076,7 @@ enum {
ALC287_FIXUP_YOGA7_14ITL_SPEAKERS,
ALC298_FIXUP_LENOVO_C940_DUET7,
ALC287_FIXUP_LENOVO_YOGA_BOOK_9I,
+ ALC287_FIXUP_LENOVO_YOGA_PRO7,
ALC287_FIXUP_13S_GEN2_SPEAKERS,
ALC256_FIXUP_SET_COEF_DEFAULTS,
ALC256_FIXUP_SYSTEM76_MIC_NO_PRESENCE,
@@ -6100,6 +6101,11 @@ static const struct hda_fixup alc269_fixups[] = {
.chained = true,
.chain_id = ALC285_FIXUP_THINKPAD_HEADSET_JACK,
},
+ [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,
+ },
[ALC623_FIXUP_LENOVO_THINKSTATION_P340] = {
.type = HDA_FIXUP_FUNC,
.v.func = alc_fixup_no_shutup,
@@ -7752,6 +7758,7 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
SND_PCI_QUIRK(0x17aa, 0x38df, "Y990 YG DUAL", ALC287_FIXUP_TAS2781_I2C),
SND_PCI_QUIRK(0x17aa, 0x38f9, "Thinkbook 16P Gen5", ALC287_FIXUP_MG_RTKC_CSAMP_CS35L41_I2C_THINKPAD),
SND_PCI_QUIRK(0x17aa, 0x38fa, "Thinkbook 16P Gen5", ALC287_FIXUP_MG_RTKC_CSAMP_CS35L41_I2C_THINKPAD),
+ SND_PCI_QUIRK(0x17aa, 0x38fc, "Lenovo Yoga Pro 7 15ASH11", ALC287_FIXUP_LENOVO_YOGA_PRO7),
SND_PCI_QUIRK(0x17aa, 0x38fd, "ThinkBook plus Gen5 Hybrid", ALC287_FIXUP_TAS2781_I2C),
SND_PCI_QUIRK(0x17aa, 0x3902, "Lenovo E50-80", ALC269_FIXUP_DMIC_THINKPAD_ACPI),
SND_PCI_QUIRK(0x17aa, 0x390d, "Lenovo Yoga Pro 7 14ASP10", ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN),
@@ -8043,6 +8050,7 @@ static const struct hda_model_fixup alc269_fixup_models[] = {
{.id = ALC285_FIXUP_HP_SPECTRE_X360_DF1, .name = "alc285-hp-spectre-x360-df1"},
{.id = ALC285_FIXUP_HP_ENVY_X360, .name = "alc285-hp-envy-x360"},
{.id = ALC287_FIXUP_IDEAPAD_BASS_SPK_AMP, .name = "alc287-ideapad-bass-spk-amp"},
+ {.id = ALC287_FIXUP_LENOVO_YOGA_PRO7, .name = "alc287-lenovo-yoga-pro7"},
{.id = ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN, .name = "alc287-yoga9-bass-spk-pin"},
{.id = ALC623_FIXUP_LENOVO_THINKSTATION_P340, .name = "alc623-lenovo-thinkstation-p340"},
{.id = ALC255_FIXUP_ACER_HEADPHONE_AND_MIC, .name = "alc255-acer-headphone-and-mic"},
--
2.43.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] ALSA:hda/realtek: ALC269 fixup for Lenovo Yoga Pro 7 15ASH111 audio
2026-05-13 9:12 [PATCH] ALSA:hda/realtek: ALC269 fixup for Lenovo Yoga Pro 7 15ASH111 audio Jackie Dong
@ 2026-05-13 9:26 ` Eric Naim
2026-05-14 15:13 ` Jackie Dong
0 siblings, 1 reply; 3+ messages in thread
From: Eric Naim @ 2026-05-13 9:26 UTC (permalink / raw)
To: Jackie Dong, perex, tiwai, sbinding, zhangheng, kailang, edip
Cc: linux-sound, linux-kernel
On 5/13/26 5:12 PM, Jackie Dong wrote:
> ALSA:hda/realtek: ALC269 fixup for Lenovo Yoga Pro 7 15ASH111 audio
>
> The amp/speakers on the Lenovo Yoga Pro 7 15ASH11 laptop aren't be
> adjusted by Speaker Volume. Reuse the DAC routing selected for ThinkPad
> X1 Gen7 function to fix it.
>
> Signed-off-by: Jackie Dong <xy-jackie@139.com>
> ---
> sound/hda/codecs/realtek/alc269.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/sound/hda/codecs/realtek/alc269.c b/sound/hda/codecs/realtek/alc269.c
> index 11d0ea8ed859..84aa1d4e7410 100644
> --- a/sound/hda/codecs/realtek/alc269.c
> +++ b/sound/hda/codecs/realtek/alc269.c
> @@ -4076,6 +4076,7 @@ enum {
> ALC287_FIXUP_YOGA7_14ITL_SPEAKERS,
> ALC298_FIXUP_LENOVO_C940_DUET7,
> ALC287_FIXUP_LENOVO_YOGA_BOOK_9I,
> + ALC287_FIXUP_LENOVO_YOGA_PRO7,
> ALC287_FIXUP_13S_GEN2_SPEAKERS,
> ALC256_FIXUP_SET_COEF_DEFAULTS,
> ALC256_FIXUP_SYSTEM76_MIC_NO_PRESENCE,
> @@ -6100,6 +6101,11 @@ static const struct hda_fixup alc269_fixups[] = {
> .chained = true,
> .chain_id = ALC285_FIXUP_THINKPAD_HEADSET_JACK,
> },
> + [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,
> + },
Hi Jackie, an identical quirk exists for this. See ALC245_FIXUP_BASS_HP_DAC. I
think you should use that instead of creating a new quirk that is identical.
> [ALC623_FIXUP_LENOVO_THINKSTATION_P340] = {
> .type = HDA_FIXUP_FUNC,
> .v.func = alc_fixup_no_shutup,
> @@ -7752,6 +7758,7 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
> SND_PCI_QUIRK(0x17aa, 0x38df, "Y990 YG DUAL", ALC287_FIXUP_TAS2781_I2C),
> SND_PCI_QUIRK(0x17aa, 0x38f9, "Thinkbook 16P Gen5", ALC287_FIXUP_MG_RTKC_CSAMP_CS35L41_I2C_THINKPAD),
> SND_PCI_QUIRK(0x17aa, 0x38fa, "Thinkbook 16P Gen5", ALC287_FIXUP_MG_RTKC_CSAMP_CS35L41_I2C_THINKPAD),
> + SND_PCI_QUIRK(0x17aa, 0x38fc, "Lenovo Yoga Pro 7 15ASH11", ALC287_FIXUP_LENOVO_YOGA_PRO7),
> SND_PCI_QUIRK(0x17aa, 0x38fd, "ThinkBook plus Gen5 Hybrid", ALC287_FIXUP_TAS2781_I2C),
> SND_PCI_QUIRK(0x17aa, 0x3902, "Lenovo E50-80", ALC269_FIXUP_DMIC_THINKPAD_ACPI),
> SND_PCI_QUIRK(0x17aa, 0x390d, "Lenovo Yoga Pro 7 14ASP10", ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN),
> @@ -8043,6 +8050,7 @@ static const struct hda_model_fixup alc269_fixup_models[] = {
> {.id = ALC285_FIXUP_HP_SPECTRE_X360_DF1, .name = "alc285-hp-spectre-x360-df1"},
> {.id = ALC285_FIXUP_HP_ENVY_X360, .name = "alc285-hp-envy-x360"},
> {.id = ALC287_FIXUP_IDEAPAD_BASS_SPK_AMP, .name = "alc287-ideapad-bass-spk-amp"},
> + {.id = ALC287_FIXUP_LENOVO_YOGA_PRO7, .name = "alc287-lenovo-yoga-pro7"},
> {.id = ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN, .name = "alc287-yoga9-bass-spk-pin"},
> {.id = ALC623_FIXUP_LENOVO_THINKSTATION_P340, .name = "alc623-lenovo-thinkstation-p340"},
> {.id = ALC255_FIXUP_ACER_HEADPHONE_AND_MIC, .name = "alc255-acer-headphone-and-mic"},
--
Regards,
Eric
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] ALSA:hda/realtek: ALC269 fixup for Lenovo Yoga Pro 7 15ASH111 audio
2026-05-13 9:26 ` Eric Naim
@ 2026-05-14 15:13 ` Jackie Dong
0 siblings, 0 replies; 3+ messages in thread
From: Jackie Dong @ 2026-05-14 15:13 UTC (permalink / raw)
To: Eric Naim, perex, tiwai, sbinding, zhangheng, kailang, edip,
mpearson-lenovo
Cc: linux-sound, linux-kernel
On Wed, 2026-05-13 at 09:26 +0000, Eric Naim wrote:
> On 5/13/26 5:12 PM, Jackie Dong wrote:
> > ALSA:hda/realtek: ALC269 fixup for Lenovo Yoga Pro 7 15ASH111 audio
> >
> > The amp/speakers on the Lenovo Yoga Pro 7 15ASH11 laptop aren't be
> > adjusted by Speaker Volume. Reuse the DAC routing selected for
> > ThinkPad
> > X1 Gen7 function to fix it.
> >
> > Signed-off-by: Jackie Dong <xy-jackie@139.com>
> > ---
> > sound/hda/codecs/realtek/alc269.c | 8 ++++++++
> > 1 file changed, 8 insertions(+)
> >
> > diff --git a/sound/hda/codecs/realtek/alc269.c
> > b/sound/hda/codecs/realtek/alc269.c
> > index 11d0ea8ed859..84aa1d4e7410 100644
> > --- a/sound/hda/codecs/realtek/alc269.c
> > +++ b/sound/hda/codecs/realtek/alc269.c
> > @@ -4076,6 +4076,7 @@ enum {
> > ALC287_FIXUP_YOGA7_14ITL_SPEAKERS,
> > ALC298_FIXUP_LENOVO_C940_DUET7,
> > ALC287_FIXUP_LENOVO_YOGA_BOOK_9I,
> > + ALC287_FIXUP_LENOVO_YOGA_PRO7,
> > ALC287_FIXUP_13S_GEN2_SPEAKERS,
> > ALC256_FIXUP_SET_COEF_DEFAULTS,
> > ALC256_FIXUP_SYSTEM76_MIC_NO_PRESENCE,
> > @@ -6100,6 +6101,11 @@ static const struct hda_fixup
> > alc269_fixups[] = {
> > .chained = true,
> > .chain_id = ALC285_FIXUP_THINKPAD_HEADSET_JACK,
> > },
> > + [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,
> > + },
>
> Hi Jackie, an identical quirk exists for this. See
> ALC245_FIXUP_BASS_HP_DAC. I
> think you should use that instead of creating a new quirk that is
> identical.
>
> > [ALC623_FIXUP_LENOVO_THINKSTATION_P340] = {
> > .type = HDA_FIXUP_FUNC,
> > .v.func = alc_fixup_no_shutup,
> > @@ -7752,6 +7758,7 @@ static const struct hda_quirk
> > alc269_fixup_tbl[] = {
> > SND_PCI_QUIRK(0x17aa, 0x38df, "Y990 YG DUAL",
> > ALC287_FIXUP_TAS2781_I2C),
> > SND_PCI_QUIRK(0x17aa, 0x38f9, "Thinkbook 16P Gen5",
> > ALC287_FIXUP_MG_RTKC_CSAMP_CS35L41_I2C_THINKPAD),
> > SND_PCI_QUIRK(0x17aa, 0x38fa, "Thinkbook 16P Gen5",
> > ALC287_FIXUP_MG_RTKC_CSAMP_CS35L41_I2C_THINKPAD),
> > + SND_PCI_QUIRK(0x17aa, 0x38fc, "Lenovo Yoga Pro 7 15ASH11",
> > ALC287_FIXUP_LENOVO_YOGA_PRO7),
> > SND_PCI_QUIRK(0x17aa, 0x38fd, "ThinkBook plus Gen5
> > Hybrid", ALC287_FIXUP_TAS2781_I2C),
> > SND_PCI_QUIRK(0x17aa, 0x3902, "Lenovo E50-80",
> > ALC269_FIXUP_DMIC_THINKPAD_ACPI),
> > SND_PCI_QUIRK(0x17aa, 0x390d, "Lenovo Yoga Pro 7 14ASP10",
> > ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN),
> > @@ -8043,6 +8050,7 @@ static const struct hda_model_fixup
> > alc269_fixup_models[] = {
> > {.id = ALC285_FIXUP_HP_SPECTRE_X360_DF1, .name = "alc285-
> > hp-spectre-x360-df1"},
> > {.id = ALC285_FIXUP_HP_ENVY_X360, .name = "alc285-hp-envy-
> > x360"},
> > {.id = ALC287_FIXUP_IDEAPAD_BASS_SPK_AMP, .name = "alc287-
> > ideapad-bass-spk-amp"},
> > + {.id = ALC287_FIXUP_LENOVO_YOGA_PRO7, .name = "alc287-
> > lenovo-yoga-pro7"},
> > {.id = ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN, .name =
> > "alc287-yoga9-bass-spk-pin"},
> > {.id = ALC623_FIXUP_LENOVO_THINKSTATION_P340, .name =
> > "alc623-lenovo-thinkstation-p340"},
> > {.id = ALC255_FIXUP_ACER_HEADPHONE_AND_MIC, .name =
> > "alc255-acer-headphone-and-mic"},
>
>
Hi Eric,
In fact, I find the codec name is ALC287 series on Yoga Pro 7
15ASH11 at first.
I have reviewed the alc269.c again and agree your suggestion, will upstream
the patch V2 with ALC245_FIXUP_BASS_HP_DAC instead of creating a new
quirk.
Thanks,
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-05-14 15:13 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-13 9:12 [PATCH] ALSA:hda/realtek: ALC269 fixup for Lenovo Yoga Pro 7 15ASH111 audio Jackie Dong
2026-05-13 9:26 ` Eric Naim
2026-05-14 15:13 ` Jackie Dong
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox