@@ -583,10 +583,14 @@ static void alc_shutup_pins(struct hda_codec *codec)
583583 switch (codec -> core .vendor_id ) {
584584 case 0x10ec0236 :
585585 case 0x10ec0256 :
586+ case 0x10ec0257 :
586587 case 0x19e58326 :
587588 case 0x10ec0283 :
589+ case 0x10ec0285 :
588590 case 0x10ec0286 :
591+ case 0x10ec0287 :
589592 case 0x10ec0288 :
593+ case 0x10ec0295 :
590594 case 0x10ec0298 :
591595 alc_headset_mic_no_shutup (codec );
592596 break ;
@@ -7520,6 +7524,7 @@ enum {
75207524 ALC285_FIXUP_ASUS_GU605_SPI_SPEAKER2_TO_DAC1 ,
75217525 ALC287_FIXUP_LENOVO_THKPAD_WH_ALC1318 ,
75227526 ALC256_FIXUP_CHROME_BOOK ,
7527+ ALC287_FIXUP_LENOVO_14ARP8_LEGION_IAH7 ,
75237528};
75247529
75257530/* A special fixup for Lenovo C940 and Yoga Duet 7;
@@ -7559,6 +7564,21 @@ static void alc287_fixup_lenovo_14irp8_duetitl(struct hda_codec *codec,
75597564 __snd_hda_apply_fixup (codec , id , action , 0 );
75607565}
75617566
7567+ /* Similar to above the Lenovo Yoga Pro 7 14ARP8 PCI SSID matches the codec SSID of the
7568+ Legion Y9000X 2022 IAH7.*/
7569+ static void alc287_fixup_lenovo_14arp8_legion_iah7 (struct hda_codec * codec ,
7570+ const struct hda_fixup * fix ,
7571+ int action )
7572+ {
7573+ int id ;
7574+
7575+ if (codec -> core .subsystem_id == 0x17aa386e )
7576+ id = ALC287_FIXUP_CS35L41_I2C_2 ; /* Legion Y9000X 2022 IAH7 */
7577+ else
7578+ id = ALC285_FIXUP_SPEAKER2_TO_DAC1 ; /* Yoga Pro 7 14ARP8 */
7579+ __snd_hda_apply_fixup (codec , id , action , 0 );
7580+ }
7581+
75627582/* Another hilarious PCI SSID conflict with Lenovo Legion Pro 7 16ARX8H (with
75637583 * TAS2781 codec) and Legion 7i 16IAX7 (with CS35L41 codec);
75647584 * we apply a corresponding fixup depending on the codec SSID instead
@@ -9658,6 +9678,10 @@ static const struct hda_fixup alc269_fixups[] = {
96589678 .chained = true,
96599679 .chain_id = ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK ,
96609680 },
9681+ [ALC287_FIXUP_LENOVO_14ARP8_LEGION_IAH7 ] = {
9682+ .type = HDA_FIXUP_FUNC ,
9683+ .v .func = alc287_fixup_lenovo_14arp8_legion_iah7 ,
9684+ },
96619685 [ALC287_FIXUP_YOGA9_14IMH9_BASS_SPK_PIN ] = {
96629686 .type = HDA_FIXUP_FUNC ,
96639687 .v .func = alc287_fixup_yoga9_14iap7_bass_spk_pin ,
@@ -10194,6 +10218,10 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
1019410218 SND_PCI_QUIRK (0x103c , 0x8c70 , "HP EliteBook 835 G11" , ALC287_FIXUP_CS35L41_I2C_2_HP_GPIO_LED ),
1019510219 SND_PCI_QUIRK (0x103c , 0x8c71 , "HP EliteBook 845 G11" , ALC287_FIXUP_CS35L41_I2C_2_HP_GPIO_LED ),
1019610220 SND_PCI_QUIRK (0x103c , 0x8c72 , "HP EliteBook 865 G11" , ALC287_FIXUP_CS35L41_I2C_2_HP_GPIO_LED ),
10221+ SND_PCI_QUIRK (0x103c , 0x8c7b , "HP ProBook 445 G11" , ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF ),
10222+ SND_PCI_QUIRK (0x103c , 0x8c7c , "HP ProBook 445 G11" , ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF ),
10223+ SND_PCI_QUIRK (0x103c , 0x8c7d , "HP ProBook 465 G11" , ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF ),
10224+ SND_PCI_QUIRK (0x103c , 0x8c7e , "HP ProBook 465 G11" , ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF ),
1019710225 SND_PCI_QUIRK (0x103c , 0x8c89 , "HP ProBook 460 G11" , ALC236_FIXUP_HP_GPIO_LED ),
1019810226 SND_PCI_QUIRK (0x103c , 0x8c8a , "HP EliteBook 630" , ALC236_FIXUP_HP_GPIO_LED ),
1019910227 SND_PCI_QUIRK (0x103c , 0x8c8c , "HP EliteBook 660" , ALC236_FIXUP_HP_GPIO_LED ),
@@ -10502,7 +10530,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
1050210530 SND_PCI_QUIRK (0x17aa , 0x3813 , "Legion 7i 15IMHG05" , ALC287_FIXUP_LEGION_15IMHG05_SPEAKERS ),
1050310531 SND_PCI_QUIRK (0x17aa , 0x3818 , "Lenovo C940 / Yoga Duet 7" , ALC298_FIXUP_LENOVO_C940_DUET7 ),
1050410532 SND_PCI_QUIRK (0x17aa , 0x3819 , "Lenovo 13s Gen2 ITL" , ALC287_FIXUP_13S_GEN2_SPEAKERS ),
10505- SND_PCI_QUIRK (0x17aa , 0x3820 , "Yoga Duet 7 13ITL6 " , ALC287_FIXUP_YOGA7_14ITL_SPEAKERS ),
10533+ SND_PCI_QUIRK (0x17aa , 0x3820 , "IdeaPad 330-17IKB 81DM " , ALC269_FIXUP_ASPIRE_HEADSET_MIC ),
1050610534 SND_PCI_QUIRK (0x17aa , 0x3824 , "Legion Y9000X 2020" , ALC285_FIXUP_LEGION_Y9000X_SPEAKERS ),
1050710535 SND_PCI_QUIRK (0x17aa , 0x3827 , "Ideapad S740" , ALC285_FIXUP_IDEAPAD_S740_COEF ),
1050810536 SND_PCI_QUIRK (0x17aa , 0x3834 , "Lenovo IdeaPad Slim 9i 14ITL5" , ALC287_FIXUP_YOGA7_14ITL_SPEAKERS ),
@@ -10516,7 +10544,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
1051610544 SND_PCI_QUIRK (0x17aa , 0x3865 , "Lenovo 13X" , ALC287_FIXUP_CS35L41_I2C_2 ),
1051710545 SND_PCI_QUIRK (0x17aa , 0x3866 , "Lenovo 13X" , ALC287_FIXUP_CS35L41_I2C_2 ),
1051810546 SND_PCI_QUIRK (0x17aa , 0x3869 , "Lenovo Yoga7 14IAL7" , ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN ),
10519- SND_PCI_QUIRK (0x17aa , 0x386e , "Legion Y9000X 2022 IAH7" , ALC287_FIXUP_CS35L41_I2C_2 ),
10547+ SND_PCI_QUIRK (0x17aa , 0x386e , "Legion Y9000X 2022 IAH7 / Yoga Pro 7 14ARP8 " , ALC287_FIXUP_LENOVO_14ARP8_LEGION_IAH7 ),
1052010548 SND_PCI_QUIRK (0x17aa , 0x386f , "Legion Pro 7/7i" , ALC287_FIXUP_LENOVO_LEGION_7 ),
1052110549 SND_PCI_QUIRK (0x17aa , 0x3870 , "Lenovo Yoga 7 14ARB7" , ALC287_FIXUP_YOGA7_14ARB7_I2C ),
1052210550 SND_PCI_QUIRK (0x17aa , 0x3877 , "Lenovo Legion 7 Slim 16ARHA7" , ALC287_FIXUP_CS35L41_I2C_2 ),
@@ -10540,10 +10568,14 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
1054010568 SND_PCI_QUIRK (0x17aa , 0x38be , "Yoga S980-14.5 proX YC Dual" , ALC287_FIXUP_TAS2781_I2C ),
1054110569 SND_PCI_QUIRK (0x17aa , 0x38bf , "Yoga S980-14.5 proX LX Dual" , ALC287_FIXUP_TAS2781_I2C ),
1054210570 SND_PCI_QUIRK (0x17aa , 0x38c3 , "Y980 DUAL" , ALC287_FIXUP_TAS2781_I2C ),
10571+ SND_PCI_QUIRK (0x17aa , 0x38c7 , "Thinkbook 13x Gen 4" , ALC287_FIXUP_CS35L41_I2C_4 ),
10572+ SND_PCI_QUIRK (0x17aa , 0x38c8 , "Thinkbook 13x Gen 4" , ALC287_FIXUP_CS35L41_I2C_4 ),
1054310573 SND_PCI_QUIRK (0x17aa , 0x38cb , "Y790 YG DUAL" , ALC287_FIXUP_TAS2781_I2C ),
1054410574 SND_PCI_QUIRK (0x17aa , 0x38cd , "Y790 VECO DUAL" , ALC287_FIXUP_TAS2781_I2C ),
1054510575 SND_PCI_QUIRK (0x17aa , 0x38d2 , "Lenovo Yoga 9 14IMH9" , ALC287_FIXUP_YOGA9_14IMH9_BASS_SPK_PIN ),
1054610576 SND_PCI_QUIRK (0x17aa , 0x38d7 , "Lenovo Yoga 9 14IMH9" , ALC287_FIXUP_YOGA9_14IMH9_BASS_SPK_PIN ),
10577+ SND_PCI_QUIRK (0x17aa , 0x38f9 , "Thinkbook 16P Gen5" , ALC287_FIXUP_CS35L41_I2C_2 ),
10578+ SND_PCI_QUIRK (0x17aa , 0x38fa , "Thinkbook 16P Gen5" , ALC287_FIXUP_CS35L41_I2C_2 ),
1054710579 SND_PCI_QUIRK (0x17aa , 0x3902 , "Lenovo E50-80" , ALC269_FIXUP_DMIC_THINKPAD_ACPI ),
1054810580 SND_PCI_QUIRK (0x17aa , 0x3977 , "IdeaPad S210" , ALC283_FIXUP_INT_MIC ),
1054910581 SND_PCI_QUIRK (0x17aa , 0x3978 , "Lenovo B50-70" , ALC269_FIXUP_DMIC_THINKPAD_ACPI ),
@@ -10581,6 +10613,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
1058110613 SND_PCI_QUIRK (0x1b7d , 0xa831 , "Ordissimo EVE2 " , ALC269VB_FIXUP_ORDISSIMO_EVE2 ), /* Also known as Malata PC-B1303 */
1058210614 SND_PCI_QUIRK (0x1c06 , 0x2013 , "Lemote A1802" , ALC269_FIXUP_LEMOTE_A1802 ),
1058310615 SND_PCI_QUIRK (0x1c06 , 0x2015 , "Lemote A190X" , ALC269_FIXUP_LEMOTE_A190X ),
10616+ SND_PCI_QUIRK (0x1c6c , 0x122a , "Positivo N14AP7" , ALC269_FIXUP_LIMIT_INT_MIC_BOOST ),
1058410617 SND_PCI_QUIRK (0x1c6c , 0x1251 , "Positivo N14KP6-TG" , ALC288_FIXUP_DELL1_MIC_NO_PRESENCE ),
1058510618 SND_PCI_QUIRK (0x1d05 , 0x1132 , "TongFang PHxTxX1" , ALC256_FIXUP_SET_COEF_DEFAULTS ),
1058610619 SND_PCI_QUIRK (0x1d05 , 0x1096 , "TongFang GMxMRxx" , ALC269_FIXUP_NO_SHUTUP ),
@@ -10605,7 +10638,6 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
1060510638 SND_PCI_QUIRK (0x8086 , 0x2081 , "Intel NUC 10" , ALC256_FIXUP_INTEL_NUC10 ),
1060610639 SND_PCI_QUIRK (0x8086 , 0x3038 , "Intel NUC 13" , ALC295_FIXUP_CHROME_BOOK ),
1060710640 SND_PCI_QUIRK (0xf111 , 0x0001 , "Framework Laptop" , ALC295_FIXUP_FRAMEWORK_LAPTOP_MIC_NO_PRESENCE ),
10608- SND_PCI_QUIRK (0xf111 , 0x0005 , "Framework Laptop" , ALC295_FIXUP_FRAMEWORK_LAPTOP_MIC_NO_PRESENCE ),
1060910641 SND_PCI_QUIRK (0xf111 , 0x0006 , "Framework Laptop" , ALC295_FIXUP_FRAMEWORK_LAPTOP_MIC_NO_PRESENCE ),
1061010642
1061110643#if 0
0 commit comments