There are several very similar quirks for what look to be closely
related models:
$ git grep -n ALC285_FIXUP_LEGION_Y9000X_SPEAKERS sound/hda/codecs
sound/hda/codecs/realtek/alc269.c:4148: ALC285_FIXUP_LEGION_Y9000X_SPEAKERS,
sound/hda/codecs/realtek/alc269.c:6238:
[ALC285_FIXUP_LEGION_Y9000X_SPEAKERS] = {
sound/hda/codecs/realtek/alc269.c:7907: SND_PCI_QUIRK(0x17aa, 0x3824,
"Legion Y9000X 2020", ALC285_FIXUP_LEGION_Y9000X_SPEAKERS),
sound/hda/codecs/realtek/alc269.c:7910: SND_PCI_QUIRK(0x17aa, 0x383d,
"Legion Y9000X 2019", ALC285_FIXUP_LEGION_Y9000X_SPEAKERS),
The 2020 quirk originated in commit 8f4c90427a8f0ca0fcdd "ALSA:
hda/realtek: Add quirk for Legion Y9000X 2020" that was introduced via
the mailing-list
https://lore.kernel.org/all/[email protected]/
SND_PCI_QUIRK() macro needs the audio device sub-system ID. Although
your bug report does not include that it is in the linked ALSA script
report as "Subsystem: Lenovo Device [17aa:3811]":
!!PCI Soundcards installed in the system
!!--------------------------------------
00:1f.3 Audio device [0403]: Intel Corporation Comet Lake PCH cAVS
[8086:06c8] (prog-if 80 [HDA compatible with vendor specific extensions])
Subsystem: Lenovo Device [17aa:3811]
01:00.1 Audio device [0403]: NVIDIA Corporation TU106 High Definition
Audio Controller [10de:10f9] (rev a1) (prog-if 00 [HDA compatible])
Subsystem: Lenovo Device [17aa:3801]
Unfortunately there is already a PCI quirk for that sub-system ID:
$ git grep -n '0x17aa, 0x3811' sound/hda/codecs/
sound/hda/codecs/realtek/alc269.c:8109: SND_PCI_QUIRK(0x17aa, 0x3811,
"Legion S7 15IMH05", ALC287_FIXUP_LEGION_15IMHG05_SPEAKERS),
Fortunately this issue is dealt with by using the HDA_CODEC_QUIRK()
macro instead, that matches on the codec's sub-system ID instead. Your
ALSA report shows it is "0x17aa3822":
!!HDA-Intel Codec information
!!---------------------------
--startcollapse--
Codec: Realtek ALC287
Address: 0
AFG Function Id: 0x1 (unsol 1)
Vendor Id: 0x10ec0287
Subsystem Id: 0x17aa3822
Revision Id: 0x100002
We should begin by hoping the quirk ALC285_FIXUP_LEGION_Y9000X_SPEAKERS
will work for this device too.
If you are able to build a mainline kernel to test the attached patch,
and it resolves the issue, the patch needs forwarding to the sub-system
maintainers and mailing-list:
$ scripts/get_maintainer.pl sound/hda/codecs/realtek
Jaroslav Kysela <[email protected]> (maintainer:SOUND)
Takashi Iwai <[email protected]>
(maintainer:SOUND,commit_signer:165/167=99%,authored:10/167=6%)
Zhang Heng <[email protected]>
(commit_signer:20/167=12%,authored:20/167=12%)
[email protected] (open list:SOUND)
[email protected] (open list)
diff --git a/sound/hda/codecs/realtek/alc269.c b/sound/hda/codecs/realtek/alc269.c
index e4349743a251e..67d7f37ab8f5d 100644
--- a/sound/hda/codecs/realtek/alc269.c
+++ b/sound/hda/codecs/realtek/alc269.c
@@ -8112,6 +8112,7 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
SND_PCI_QUIRK(0x17aa, 0x3819, "Lenovo 13s Gen2 ITL", ALC287_FIXUP_13S_GEN2_SPEAKERS),
HDA_CODEC_QUIRK(0x17aa, 0x3820, "IdeaPad 330-17IKB 81DM", ALC269_FIXUP_ASPIRE_HEADSET_MIC),
SND_PCI_QUIRK(0x17aa, 0x3820, "Yoga Duet 7 13ITL6", ALC287_FIXUP_YOGA7_14ITL_SPEAKERS),
+ HDA_CODEC_QUIRK(0x17aa, 0x3822, "Legion Y9000X 2021", ALC285_FIXUP_LEGION_Y9000X_SPEAKERS),
SND_PCI_QUIRK(0x17aa, 0x3824, "Legion Y9000X 2020", ALC285_FIXUP_LEGION_Y9000X_SPEAKERS),
SND_PCI_QUIRK(0x17aa, 0x3827, "Ideapad S740", ALC285_FIXUP_IDEAPAD_S740_COEF),
SND_PCI_QUIRK(0x17aa, 0x3834, "Lenovo IdeaPad Slim 9i 14ITL5", ALC287_FIXUP_YOGA7_14ITL_SPEAKERS),