* [PATCH] ALSA: hda/realtek: Add codec SSID quirk for Lenovo Yoga Pro 9 16IMH9
@ 2026-04-30 19:12 Rámon van Raaij
2026-05-01 13:01 ` Takashi Iwai
0 siblings, 1 reply; 2+ messages in thread
From: Rámon van Raaij @ 2026-04-30 19:12 UTC (permalink / raw)
To: linux-sound; +Cc: alsa-devel, Takashi Iwai
The Yoga Pro 9 16IMH9 (codec SSID 17aa:38d6) shares PCI audio device
subsystem ID 17aa:3811 with the Legion S7 15IMH05. The existing
SND_PCI_QUIRK entry for the Legion routes both machines to
ALC287_FIXUP_LEGION_15IMHG05_SPEAKERS, which does not bind the TAS2781
smart amplifiers, resulting in near-silent built-in speakers.
Add an HDA_CODEC_QUIRK entry immediately before the conflicting PCI quirk
that matches the Yoga Pro 9's unique codec SSID and routes it to
ALC287_FIXUP_TAS2781_I2C. Codec quirks are evaluated after PCI quirks and
take precedence, leaving the Legion S7 15IMH05 entry unaffected.
This follows the same pattern used to disambiguate PCI SSID 17aa:3847
(shared between Yoga Pro 7 14IMH9 and Legion 7 16ACHG6), where a
HDA_CODEC_QUIRK for codec SSID 17aa:38cf resolves the conflict.
Signed-off-by: Rámon van Raaij <ramon@vanraaij.eu>
---
sound/hda/codecs/realtek/alc269.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/sound/hda/codecs/realtek/alc269.c b/sound/hda/codecs/realtek/alc269.c
index ae74e1b69..648051366 100644
--- a/sound/hda/codecs/realtek/alc269.c
+++ b/sound/hda/codecs/realtek/alc269.c
@@ -7605,6 +7605,10 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
SND_PCI_QUIRK(0x17aa, 0x3801, "Lenovo Yoga9 14IAP7", ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN),
HDA_CODEC_QUIRK(0x17aa, 0x3802, "DuetITL 2021", ALC287_FIXUP_YOGA7_14ITL_SPEAKERS),
SND_PCI_QUIRK(0x17aa, 0x3802, "Lenovo Yoga Pro 9 14IRP8", ALC287_FIXUP_TAS2781_I2C),
+ /* Yoga Pro 9 16IMH9 shares PCI SSID 17aa:3811 with Legion S7 15IMH05;
+ * use codec SSID to distinguish them
+ */
+ HDA_CODEC_QUIRK(0x17aa, 0x38d6, "Lenovo Yoga Pro 9 16IMH9", ALC287_FIXUP_TAS2781_I2C),
SND_PCI_QUIRK(0x17aa, 0x3811, "Legion S7 15IMH05", ALC287_FIXUP_LEGION_15IMHG05_SPEAKERS),
SND_PCI_QUIRK(0x17aa, 0x3813, "Legion 7i 15IMHG05", ALC287_FIXUP_LEGION_15IMHG05_SPEAKERS),
SND_PCI_QUIRK(0x17aa, 0x3818, "Lenovo C940 / Yoga Duet 7", ALC298_FIXUP_LENOVO_C940_DUET7),
--
2.54.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] ALSA: hda/realtek: Add codec SSID quirk for Lenovo Yoga Pro 9 16IMH9
2026-04-30 19:12 [PATCH] ALSA: hda/realtek: Add codec SSID quirk for Lenovo Yoga Pro 9 16IMH9 Rámon van Raaij
@ 2026-05-01 13:01 ` Takashi Iwai
0 siblings, 0 replies; 2+ messages in thread
From: Takashi Iwai @ 2026-05-01 13:01 UTC (permalink / raw)
To: Rámon van Raaij; +Cc: linux-sound, alsa-devel
On Thu, 30 Apr 2026 21:12:24 +0200,
Rámon van Raaij wrote:
>
> The Yoga Pro 9 16IMH9 (codec SSID 17aa:38d6) shares PCI audio device
> subsystem ID 17aa:3811 with the Legion S7 15IMH05. The existing
> SND_PCI_QUIRK entry for the Legion routes both machines to
> ALC287_FIXUP_LEGION_15IMHG05_SPEAKERS, which does not bind the TAS2781
> smart amplifiers, resulting in near-silent built-in speakers.
>
> Add an HDA_CODEC_QUIRK entry immediately before the conflicting PCI quirk
> that matches the Yoga Pro 9's unique codec SSID and routes it to
> ALC287_FIXUP_TAS2781_I2C. Codec quirks are evaluated after PCI quirks and
> take precedence, leaving the Legion S7 15IMH05 entry unaffected.
>
> This follows the same pattern used to disambiguate PCI SSID 17aa:3847
> (shared between Yoga Pro 7 14IMH9 and Legion 7 16ACHG6), where a
> HDA_CODEC_QUIRK for codec SSID 17aa:38cf resolves the conflict.
>
> Signed-off-by: Rámon van Raaij <ramon@vanraaij.eu>
Applied now. Thanks.
Takashi
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-05-01 13:01 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-30 19:12 [PATCH] ALSA: hda/realtek: Add codec SSID quirk for Lenovo Yoga Pro 9 16IMH9 Rámon van Raaij
2026-05-01 13:01 ` Takashi Iwai
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox