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),

Reply via email to