@@ -2522,13 +2522,23 @@ static const struct snd_pci_quirk alc882_fixup_tbl[] = {
25222522 SND_PCI_QUIRK_VENDOR (0x1462 , "MSI" , ALC882_FIXUP_GPIO3 ),
25232523 SND_PCI_QUIRK (0x147b , 0x107a , "Abit AW9D-MAX" , ALC882_FIXUP_ABIT_AW9D_MAX ),
25242524 SND_PCI_QUIRK (0x1558 , 0x9501 , "Clevo P950HR" , ALC1220_FIXUP_CLEVO_P950 ),
2525+ SND_PCI_QUIRK (0x1558 , 0x9506 , "Clevo P955HQ" , ALC1220_FIXUP_CLEVO_P950 ),
2526+ SND_PCI_QUIRK (0x1558 , 0x950A , "Clevo P955H[PR]" , ALC1220_FIXUP_CLEVO_P950 ),
25252527 SND_PCI_QUIRK (0x1558 , 0x95e1 , "Clevo P95xER" , ALC1220_FIXUP_CLEVO_P950 ),
25262528 SND_PCI_QUIRK (0x1558 , 0x95e2 , "Clevo P950ER" , ALC1220_FIXUP_CLEVO_P950 ),
2529+ SND_PCI_QUIRK (0x1558 , 0x95e3 , "Clevo P955[ER]T" , ALC1220_FIXUP_CLEVO_P950 ),
2530+ SND_PCI_QUIRK (0x1558 , 0x95e4 , "Clevo P955ER" , ALC1220_FIXUP_CLEVO_P950 ),
2531+ SND_PCI_QUIRK (0x1558 , 0x95e5 , "Clevo P955EE6" , ALC1220_FIXUP_CLEVO_P950 ),
2532+ SND_PCI_QUIRK (0x1558 , 0x95e6 , "Clevo P950R[CDF]" , ALC1220_FIXUP_CLEVO_P950 ),
25272533 SND_PCI_QUIRK (0x1558 , 0x96e1 , "Clevo P960[ER][CDFN]-K" , ALC1220_FIXUP_CLEVO_P950 ),
25282534 SND_PCI_QUIRK (0x1558 , 0x97e1 , "Clevo P970[ER][CDFN]" , ALC1220_FIXUP_CLEVO_P950 ),
2535+ SND_PCI_QUIRK (0x1558 , 0x97e2 , "Clevo P970RC-M" , ALC1220_FIXUP_CLEVO_P950 ),
2536+ SND_PCI_QUIRK (0x1558 , 0x50d3 , "Clevo PC50[ER][CDF]" , ALC1220_FIXUP_CLEVO_PB51ED_PINS ),
25292537 SND_PCI_QUIRK (0x1558 , 0x65d1 , "Clevo PB51[ER][CDF]" , ALC1220_FIXUP_CLEVO_PB51ED_PINS ),
2538+ SND_PCI_QUIRK (0x1558 , 0x65d2 , "Clevo PB51R[CDF]" , ALC1220_FIXUP_CLEVO_PB51ED_PINS ),
2539+ SND_PCI_QUIRK (0x1558 , 0x65e1 , "Clevo PB51[ED][DF]" , ALC1220_FIXUP_CLEVO_PB51ED_PINS ),
25302540 SND_PCI_QUIRK (0x1558 , 0x67d1 , "Clevo PB71[ER][CDF]" , ALC1220_FIXUP_CLEVO_PB51ED_PINS ),
2531- SND_PCI_QUIRK (0x1558 , 0x50d3 , "Clevo PC50[ER ][CDF]" , ALC1220_FIXUP_CLEVO_PB51ED_PINS ),
2541+ SND_PCI_QUIRK (0x1558 , 0x67e1 , "Clevo PB71[DE ][CDF]" , ALC1220_FIXUP_CLEVO_PB51ED_PINS ),
25322542 SND_PCI_QUIRK (0x1558 , 0x70d1 , "Clevo PC70[ER][CDF]" , ALC1220_FIXUP_CLEVO_PB51ED_PINS ),
25332543 SND_PCI_QUIRK (0x1558 , 0x7714 , "Clevo X170" , ALC1220_FIXUP_CLEVO_PB51ED_PINS ),
25342544 SND_PCI_QUIRK_VENDOR (0x1558 , "Clevo laptop" , ALC882_FIXUP_EAPD ),
@@ -4216,6 +4226,12 @@ static void alc286_fixup_hp_gpio_led(struct hda_codec *codec,
42164226 alc_fixup_hp_gpio_led (codec , action , 0x02 , 0x20 );
42174227}
42184228
4229+ static void alc287_fixup_hp_gpio_led (struct hda_codec * codec ,
4230+ const struct hda_fixup * fix , int action )
4231+ {
4232+ alc_fixup_hp_gpio_led (codec , action , 0x10 , 0 );
4233+ }
4234+
42194235/* turn on/off mic-mute LED per capture hook via VREF change */
42204236static int vref_micmute_led_set (struct led_classdev * led_cdev ,
42214237 enum led_brightness brightness )
@@ -6301,6 +6317,9 @@ enum {
63016317 ALC274_FIXUP_HP_MIC ,
63026318 ALC274_FIXUP_HP_HEADSET_MIC ,
63036319 ALC256_FIXUP_ASUS_HPE ,
6320+ ALC285_FIXUP_THINKPAD_NO_BASS_SPK_HEADSET_JACK ,
6321+ ALC287_FIXUP_HP_GPIO_LED ,
6322+ ALC256_FIXUP_HP_HEADSET_MIC ,
63046323};
63056324
63066325static const struct hda_fixup alc269_fixups [] = {
@@ -7705,6 +7724,20 @@ static const struct hda_fixup alc269_fixups[] = {
77057724 .chained = true,
77067725 .chain_id = ALC294_FIXUP_ASUS_HEADSET_MIC
77077726 },
7727+ [ALC285_FIXUP_THINKPAD_NO_BASS_SPK_HEADSET_JACK ] = {
7728+ .type = HDA_FIXUP_FUNC ,
7729+ .v .func = alc_fixup_headset_jack ,
7730+ .chained = true,
7731+ .chain_id = ALC269_FIXUP_THINKPAD_ACPI
7732+ },
7733+ [ALC287_FIXUP_HP_GPIO_LED ] = {
7734+ .type = HDA_FIXUP_FUNC ,
7735+ .v .func = alc287_fixup_hp_gpio_led ,
7736+ },
7737+ [ALC256_FIXUP_HP_HEADSET_MIC ] = {
7738+ .type = HDA_FIXUP_FUNC ,
7739+ .v .func = alc274_fixup_hp_headset_mic ,
7740+ },
77087741};
77097742
77107743static const struct snd_pci_quirk alc269_fixup_tbl [] = {
@@ -7859,6 +7892,8 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
78597892 SND_PCI_QUIRK (0x103c , 0x8760 , "HP" , ALC285_FIXUP_HP_MUTE_LED ),
78607893 SND_PCI_QUIRK (0x103c , 0x877a , "HP" , ALC285_FIXUP_HP_MUTE_LED ),
78617894 SND_PCI_QUIRK (0x103c , 0x877d , "HP" , ALC236_FIXUP_HP_MUTE_LED ),
7895+ SND_PCI_QUIRK (0x103c , 0x87f4 , "HP" , ALC287_FIXUP_HP_GPIO_LED ),
7896+ SND_PCI_QUIRK (0x103c , 0x87f5 , "HP" , ALC287_FIXUP_HP_GPIO_LED ),
78627897 SND_PCI_QUIRK (0x1043 , 0x103e , "ASUS X540SA" , ALC256_FIXUP_ASUS_MIC ),
78637898 SND_PCI_QUIRK (0x1043 , 0x103f , "ASUS TX300" , ALC282_FIXUP_ASUS_TX300 ),
78647899 SND_PCI_QUIRK (0x1043 , 0x106d , "Asus K53BE" , ALC269_FIXUP_LIMIT_INT_MIC_BOOST ),
@@ -7924,11 +7959,49 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
79247959 SND_PCI_QUIRK (0x1458 , 0xfa53 , "Gigabyte BXBT-2807" , ALC283_FIXUP_HEADSET_MIC ),
79257960 SND_PCI_QUIRK (0x1462 , 0xb120 , "MSI Cubi MS-B120" , ALC283_FIXUP_HEADSET_MIC ),
79267961 SND_PCI_QUIRK (0x1462 , 0xb171 , "Cubi N 8GL (MS-B171)" , ALC283_FIXUP_HEADSET_MIC ),
7962+ SND_PCI_QUIRK (0x1558 , 0x1323 , "Clevo N130ZU" , ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE ),
79277963 SND_PCI_QUIRK (0x1558 , 0x1325 , "System76 Darter Pro (darp5)" , ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE ),
7964+ SND_PCI_QUIRK (0x1558 , 0x1401 , "Clevo L140[CZ]U" , ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE ),
7965+ SND_PCI_QUIRK (0x1558 , 0x1403 , "Clevo N140CU" , ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE ),
7966+ SND_PCI_QUIRK (0x1558 , 0x1404 , "Clevo N150CU" , ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE ),
7967+ SND_PCI_QUIRK (0x1558 , 0x14a1 , "Clevo L141MU" , ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE ),
7968+ SND_PCI_QUIRK (0x1558 , 0x4018 , "Clevo NV40M[BE]" , ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE ),
7969+ SND_PCI_QUIRK (0x1558 , 0x4019 , "Clevo NV40MZ" , ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE ),
7970+ SND_PCI_QUIRK (0x1558 , 0x4020 , "Clevo NV40MB" , ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE ),
7971+ SND_PCI_QUIRK (0x1558 , 0x40a1 , "Clevo NL40GU" , ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE ),
7972+ SND_PCI_QUIRK (0x1558 , 0x40c1 , "Clevo NL40[CZ]U" , ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE ),
7973+ SND_PCI_QUIRK (0x1558 , 0x40d1 , "Clevo NL41DU" , ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE ),
7974+ SND_PCI_QUIRK (0x1558 , 0x50a3 , "Clevo NJ51GU" , ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE ),
7975+ SND_PCI_QUIRK (0x1558 , 0x50b3 , "Clevo NK50S[BEZ]" , ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE ),
7976+ SND_PCI_QUIRK (0x1558 , 0x50b6 , "Clevo NK50S5" , ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE ),
7977+ SND_PCI_QUIRK (0x1558 , 0x50b8 , "Clevo NK50SZ" , ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE ),
7978+ SND_PCI_QUIRK (0x1558 , 0x50d5 , "Clevo NP50D5" , ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE ),
7979+ SND_PCI_QUIRK (0x1558 , 0x50f0 , "Clevo NH50A[CDF]" , ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE ),
7980+ SND_PCI_QUIRK (0x1558 , 0x50f3 , "Clevo NH58DPQ" , ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE ),
7981+ SND_PCI_QUIRK (0x1558 , 0x5101 , "Clevo S510WU" , ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE ),
7982+ SND_PCI_QUIRK (0x1558 , 0x5157 , "Clevo W517GU1" , ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE ),
7983+ SND_PCI_QUIRK (0x1558 , 0x51a1 , "Clevo NS50MU" , ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE ),
7984+ SND_PCI_QUIRK (0x1558 , 0x70a1 , "Clevo NB70T[HJK]" , ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE ),
7985+ SND_PCI_QUIRK (0x1558 , 0x70b3 , "Clevo NK70SB" , ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE ),
7986+ SND_PCI_QUIRK (0x1558 , 0x8228 , "Clevo NR40BU" , ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE ),
7987+ SND_PCI_QUIRK (0x1558 , 0x8520 , "Clevo NH50D[CD]" , ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE ),
7988+ SND_PCI_QUIRK (0x1558 , 0x8521 , "Clevo NH77D[CD]" , ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE ),
7989+ SND_PCI_QUIRK (0x1558 , 0x8535 , "Clevo NH50D[BE]" , ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE ),
7990+ SND_PCI_QUIRK (0x1558 , 0x8536 , "Clevo NH79D[BE]" , ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE ),
79287991 SND_PCI_QUIRK (0x1558 , 0x8550 , "System76 Gazelle (gaze14)" , ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE ),
79297992 SND_PCI_QUIRK (0x1558 , 0x8551 , "System76 Gazelle (gaze14)" , ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE ),
79307993 SND_PCI_QUIRK (0x1558 , 0x8560 , "System76 Gazelle (gaze14)" , ALC269_FIXUP_HEADSET_MIC ),
79317994 SND_PCI_QUIRK (0x1558 , 0x8561 , "System76 Gazelle (gaze14)" , ALC269_FIXUP_HEADSET_MIC ),
7995+ SND_PCI_QUIRK (0x1558 , 0x8668 , "Clevo NP50B[BE]" , ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE ),
7996+ SND_PCI_QUIRK (0x1558 , 0x8680 , "Clevo NJ50LU" , ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE ),
7997+ SND_PCI_QUIRK (0x1558 , 0x8686 , "Clevo NH50[CZ]U" , ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE ),
7998+ SND_PCI_QUIRK (0x1558 , 0x8a20 , "Clevo NH55DCQ-Y" , ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE ),
7999+ SND_PCI_QUIRK (0x1558 , 0x8a51 , "Clevo NH70RCQ-Y" , ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE ),
8000+ SND_PCI_QUIRK (0x1558 , 0x8d50 , "Clevo NH55RCQ-M" , ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE ),
8001+ SND_PCI_QUIRK (0x1558 , 0x951d , "Clevo N950T[CDF]" , ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE ),
8002+ SND_PCI_QUIRK (0x1558 , 0x961d , "Clevo N960S[CDF]" , ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE ),
8003+ SND_PCI_QUIRK (0x1558 , 0x971d , "Clevo N970T[CDF]" , ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE ),
8004+ SND_PCI_QUIRK (0x1558 , 0xa500 , "Clevo NL53RU" , ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE ),
79328005 SND_PCI_QUIRK (0x17aa , 0x1036 , "Lenovo P520" , ALC233_FIXUP_LENOVO_MULTI_CODECS ),
79338006 SND_PCI_QUIRK (0x17aa , 0x1048 , "ThinkCentre Station" , ALC283_FIXUP_HEADSET_MIC ),
79348007 SND_PCI_QUIRK (0x17aa , 0x20f2 , "Thinkpad SL410/510" , ALC269_FIXUP_SKU_IGNORE ),
@@ -7966,6 +8039,8 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
79668039 SND_PCI_QUIRK (0x17aa , 0x225d , "Thinkpad T480" , ALC269_FIXUP_LIMIT_INT_MIC_BOOST ),
79678040 SND_PCI_QUIRK (0x17aa , 0x2292 , "Thinkpad X1 Carbon 7th" , ALC285_FIXUP_THINKPAD_HEADSET_JACK ),
79688041 SND_PCI_QUIRK (0x17aa , 0x22be , "Thinkpad X1 Carbon 8th" , ALC285_FIXUP_THINKPAD_HEADSET_JACK ),
8042+ SND_PCI_QUIRK (0x17aa , 0x22c1 , "Thinkpad P1 Gen 3" , ALC285_FIXUP_THINKPAD_NO_BASS_SPK_HEADSET_JACK ),
8043+ SND_PCI_QUIRK (0x17aa , 0x22c2 , "Thinkpad X1 Extreme Gen 3" , ALC285_FIXUP_THINKPAD_NO_BASS_SPK_HEADSET_JACK ),
79698044 SND_PCI_QUIRK (0x17aa , 0x30bb , "ThinkCentre AIO" , ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY ),
79708045 SND_PCI_QUIRK (0x17aa , 0x30e2 , "ThinkCentre AIO" , ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY ),
79718046 SND_PCI_QUIRK (0x17aa , 0x310c , "ThinkCentre Station" , ALC294_FIXUP_LENOVO_MIC_LOCATION ),
@@ -8278,6 +8353,10 @@ static const struct snd_hda_pin_quirk alc269_pin_fixup_tbl[] = {
82788353 {0x19 , 0x02a11020 },
82798354 {0x1a , 0x02a11030 },
82808355 {0x21 , 0x0221101f }),
8356+ SND_HDA_PIN_QUIRK (0x10ec0236 , 0x103c , "HP" , ALC256_FIXUP_HP_HEADSET_MIC ,
8357+ {0x14 , 0x90170110 },
8358+ {0x19 , 0x02a11020 },
8359+ {0x21 , 0x02211030 }),
82818360 SND_HDA_PIN_QUIRK (0x10ec0255 , 0x1028 , "Dell" , ALC255_FIXUP_DELL2_MIC_NO_PRESENCE ,
82828361 {0x14 , 0x90170110 },
82838362 {0x21 , 0x02211020 }),
@@ -8380,6 +8459,10 @@ static const struct snd_hda_pin_quirk alc269_pin_fixup_tbl[] = {
83808459 {0x1a , 0x90a70130 },
83818460 {0x1b , 0x90170110 },
83828461 {0x21 , 0x03211020 }),
8462+ SND_HDA_PIN_QUIRK (0x10ec0256 , 0x103c , "HP" , ALC256_FIXUP_HP_HEADSET_MIC ,
8463+ {0x14 , 0x90170110 },
8464+ {0x19 , 0x02a11020 },
8465+ {0x21 , 0x0221101f }),
83838466 SND_HDA_PIN_QUIRK (0x10ec0274 , 0x103c , "HP" , ALC274_FIXUP_HP_HEADSET_MIC ,
83848467 {0x17 , 0x90170110 },
83858468 {0x19 , 0x03a11030 },
0 commit comments