@@ -4743,6 +4743,22 @@ static void alc245_fixup_hp_mute_led_coefbit(struct hda_codec *codec,
47434743 }
47444744}
47454745
4746+ static void alc245_fixup_hp_mute_led_v1_coefbit (struct hda_codec * codec ,
4747+ const struct hda_fixup * fix ,
4748+ int action )
4749+ {
4750+ struct alc_spec * spec = codec -> spec ;
4751+
4752+ if (action == HDA_FIXUP_ACT_PRE_PROBE ) {
4753+ spec -> mute_led_polarity = 0 ;
4754+ spec -> mute_led_coef .idx = 0x0b ;
4755+ spec -> mute_led_coef .mask = 1 << 3 ;
4756+ spec -> mute_led_coef .on = 1 << 3 ;
4757+ spec -> mute_led_coef .off = 0 ;
4758+ snd_hda_gen_add_mute_led_cdev (codec , coef_mute_led_set );
4759+ }
4760+ }
4761+
47464762/* turn on/off mic-mute LED per capture hook by coef bit */
47474763static int coef_micmute_led_set (struct led_classdev * led_cdev ,
47484764 enum led_brightness brightness )
@@ -7574,6 +7590,24 @@ static void alc245_fixup_hp_spectre_x360_16_aa0xxx(struct hda_codec *codec,
75747590 alc245_fixup_hp_gpio_led (codec , fix , action );
75757591}
75767592
7593+ static void alc245_fixup_hp_zbook_firefly_g12a (struct hda_codec * codec ,
7594+ const struct hda_fixup * fix , int action )
7595+ {
7596+ struct alc_spec * spec = codec -> spec ;
7597+ static const hda_nid_t conn [] = { 0x02 };
7598+
7599+ switch (action ) {
7600+ case HDA_FIXUP_ACT_PRE_PROBE :
7601+ spec -> gen .auto_mute_via_amp = 1 ;
7602+ snd_hda_override_conn_list (codec , 0x17 , ARRAY_SIZE (conn ), conn );
7603+ break ;
7604+ }
7605+
7606+ cs35l41_fixup_i2c_two (codec , fix , action );
7607+ alc245_fixup_hp_mute_led_coefbit (codec , fix , action );
7608+ alc285_fixup_hp_coef_micmute_led (codec , fix , action );
7609+ }
7610+
75777611/*
75787612 * ALC287 PCM hooks
75797613 */
@@ -7911,6 +7945,7 @@ enum {
79117945 ALC245_FIXUP_TAS2781_SPI_2 ,
79127946 ALC287_FIXUP_YOGA7_14ARB7_I2C ,
79137947 ALC245_FIXUP_HP_MUTE_LED_COEFBIT ,
7948+ ALC245_FIXUP_HP_MUTE_LED_V1_COEFBIT ,
79147949 ALC245_FIXUP_HP_X360_MUTE_LEDS ,
79157950 ALC287_FIXUP_THINKPAD_I2S_SPK ,
79167951 ALC287_FIXUP_MG_RTKC_CSAMP_CS35L41_I2C_THINKPAD ,
@@ -7921,6 +7956,7 @@ enum {
79217956 ALC256_FIXUP_HEADPHONE_AMP_VOL ,
79227957 ALC245_FIXUP_HP_SPECTRE_X360_EU0XXX ,
79237958 ALC245_FIXUP_HP_SPECTRE_X360_16_AA0XXX ,
7959+ ALC245_FIXUP_HP_ZBOOK_FIREFLY_G12A ,
79247960 ALC285_FIXUP_ASUS_GA403U ,
79257961 ALC285_FIXUP_ASUS_GA403U_HEADSET_MIC ,
79267962 ALC285_FIXUP_ASUS_GA403U_I2C_SPEAKER2_TO_DAC1 ,
@@ -10164,6 +10200,10 @@ static const struct hda_fixup alc269_fixups[] = {
1016410200 .type = HDA_FIXUP_FUNC ,
1016510201 .v .func = alc245_fixup_hp_mute_led_coefbit ,
1016610202 },
10203+ [ALC245_FIXUP_HP_MUTE_LED_V1_COEFBIT ] = {
10204+ .type = HDA_FIXUP_FUNC ,
10205+ .v .func = alc245_fixup_hp_mute_led_v1_coefbit ,
10206+ },
1016710207 [ALC245_FIXUP_HP_X360_MUTE_LEDS ] = {
1016810208 .type = HDA_FIXUP_FUNC ,
1016910209 .v .func = alc245_fixup_hp_mute_led_coefbit ,
@@ -10212,6 +10252,10 @@ static const struct hda_fixup alc269_fixups[] = {
1021210252 .type = HDA_FIXUP_FUNC ,
1021310253 .v .func = alc245_fixup_hp_spectre_x360_16_aa0xxx ,
1021410254 },
10255+ [ALC245_FIXUP_HP_ZBOOK_FIREFLY_G12A ] = {
10256+ .type = HDA_FIXUP_FUNC ,
10257+ .v .func = alc245_fixup_hp_zbook_firefly_g12a ,
10258+ },
1021510259 [ALC285_FIXUP_ASUS_GA403U ] = {
1021610260 .type = HDA_FIXUP_FUNC ,
1021710261 .v .func = alc285_fixup_asus_ga403u ,
@@ -10658,6 +10702,7 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
1065810702 SND_PCI_QUIRK (0x103c , 0x8b97 , "HP" , ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF ),
1065910703 SND_PCI_QUIRK (0x103c , 0x8bb3 , "HP Slim OMEN" , ALC287_FIXUP_CS35L41_I2C_2 ),
1066010704 SND_PCI_QUIRK (0x103c , 0x8bb4 , "HP Slim OMEN" , ALC287_FIXUP_CS35L41_I2C_2 ),
10705+ SND_PCI_QUIRK (0x103c , 0x8bcd , "HP Omen 16-xd0xxx" , ALC245_FIXUP_HP_MUTE_LED_V1_COEFBIT ),
1066110706 SND_PCI_QUIRK (0x103c , 0x8bdd , "HP Envy 17" , ALC287_FIXUP_CS35L41_I2C_2 ),
1066210707 SND_PCI_QUIRK (0x103c , 0x8bde , "HP Envy 17" , ALC287_FIXUP_CS35L41_I2C_2 ),
1066310708 SND_PCI_QUIRK (0x103c , 0x8bdf , "HP Envy 15" , ALC287_FIXUP_CS35L41_I2C_2 ),
@@ -10751,15 +10796,15 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
1075110796 SND_PCI_QUIRK (0x103c , 0x8e11 , "HP Trekker" , ALC287_FIXUP_CS35L41_I2C_2 ),
1075210797 SND_PCI_QUIRK (0x103c , 0x8e12 , "HP Trekker" , ALC287_FIXUP_CS35L41_I2C_2 ),
1075310798 SND_PCI_QUIRK (0x103c , 0x8e13 , "HP Trekker" , ALC287_FIXUP_CS35L41_I2C_2 ),
10754- SND_PCI_QUIRK (0x103c , 0x8e14 , "HP ZBook Firefly 14 G12" , ALC285_FIXUP_HP_GPIO_LED ),
10755- SND_PCI_QUIRK (0x103c , 0x8e15 , "HP ZBook Firefly 14 G12" , ALC285_FIXUP_HP_GPIO_LED ),
10756- SND_PCI_QUIRK (0x103c , 0x8e16 , "HP ZBook Firefly 14 G12" , ALC285_FIXUP_HP_GPIO_LED ),
10757- SND_PCI_QUIRK (0x103c , 0x8e17 , "HP ZBook Firefly 14 G12" , ALC285_FIXUP_HP_GPIO_LED ),
10758- SND_PCI_QUIRK (0x103c , 0x8e18 , "HP ZBook Firefly 14 G12A" , ALC285_FIXUP_HP_GPIO_LED ),
10759- SND_PCI_QUIRK (0x103c , 0x8e19 , "HP ZBook Firefly 14 G12A" , ALC285_FIXUP_HP_GPIO_LED ),
10760- SND_PCI_QUIRK (0x103c , 0x8e1a , "HP ZBook Firefly 14 G12A" , ALC285_FIXUP_HP_GPIO_LED ),
10761- SND_PCI_QUIRK (0x103c , 0x8e1b , "HP EliteBook G12" , ALC285_FIXUP_HP_GPIO_LED ),
10762- SND_PCI_QUIRK (0x103c , 0x8e1c , "HP EliteBook G12" , ALC285_FIXUP_HP_GPIO_LED ),
10799+ SND_PCI_QUIRK (0x103c , 0x8e14 , "HP ZBook Firefly 14 G12" , ALC245_FIXUP_HP_ZBOOK_FIREFLY_G12A ),
10800+ SND_PCI_QUIRK (0x103c , 0x8e15 , "HP ZBook Firefly 14 G12" , ALC245_FIXUP_HP_ZBOOK_FIREFLY_G12A ),
10801+ SND_PCI_QUIRK (0x103c , 0x8e16 , "HP ZBook Firefly 14 G12" , ALC245_FIXUP_HP_ZBOOK_FIREFLY_G12A ),
10802+ SND_PCI_QUIRK (0x103c , 0x8e17 , "HP ZBook Firefly 14 G12" , ALC245_FIXUP_HP_ZBOOK_FIREFLY_G12A ),
10803+ SND_PCI_QUIRK (0x103c , 0x8e18 , "HP ZBook Firefly 14 G12A" , ALC245_FIXUP_HP_ZBOOK_FIREFLY_G12A ),
10804+ SND_PCI_QUIRK (0x103c , 0x8e19 , "HP ZBook Firefly 14 G12A" , ALC245_FIXUP_HP_ZBOOK_FIREFLY_G12A ),
10805+ SND_PCI_QUIRK (0x103c , 0x8e1a , "HP ZBook Firefly 14 G12A" , ALC245_FIXUP_HP_ZBOOK_FIREFLY_G12A ),
10806+ SND_PCI_QUIRK (0x103c , 0x8e1b , "HP EliteBook G12" , ALC245_FIXUP_HP_ZBOOK_FIREFLY_G12A ),
10807+ SND_PCI_QUIRK (0x103c , 0x8e1c , "HP EliteBook G12" , ALC245_FIXUP_HP_ZBOOK_FIREFLY_G12A ),
1076310808 SND_PCI_QUIRK (0x103c , 0x8e2c , "HP EliteBook 16 G12" , ALC285_FIXUP_HP_GPIO_LED ),
1076410809 SND_PCI_QUIRK (0x103c , 0x8e36 , "HP 14 Enstrom OmniBook X" , ALC287_FIXUP_CS35L41_I2C_2 ),
1076510810 SND_PCI_QUIRK (0x103c , 0x8e37 , "HP 16 Piston OmniBook X" , ALC287_FIXUP_CS35L41_I2C_2 ),
@@ -10804,6 +10849,7 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
1080410849 SND_PCI_QUIRK (0x1043 , 0x1493 , "ASUS GV601VV/VU/VJ/VQ/VI" , ALC285_FIXUP_ASUS_HEADSET_MIC ),
1080510850 SND_PCI_QUIRK (0x1043 , 0x14d3 , "ASUS G614JY/JZ/JG" , ALC245_FIXUP_CS35L41_SPI_2 ),
1080610851 SND_PCI_QUIRK (0x1043 , 0x14e3 , "ASUS G513PI/PU/PV" , ALC287_FIXUP_CS35L41_I2C_2 ),
10852+ SND_PCI_QUIRK (0x1043 , 0x14f2 , "ASUS VivoBook X515JA" , ALC256_FIXUP_ASUS_MIC_NO_PRESENCE ),
1080710853 SND_PCI_QUIRK (0x1043 , 0x1503 , "ASUS G733PY/PZ/PZV/PYV" , ALC287_FIXUP_CS35L41_I2C_2 ),
1080810854 SND_PCI_QUIRK (0x1043 , 0x1517 , "Asus Zenbook UX31A" , ALC269VB_FIXUP_ASUS_ZENBOOK_UX31A ),
1080910855 SND_PCI_QUIRK (0x1043 , 0x1533 , "ASUS GV302XA/XJ/XQ/XU/XV/XI" , ALC287_FIXUP_CS35L41_I2C_2 ),
@@ -10843,6 +10889,7 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
1084310889 SND_PCI_QUIRK (0x1043 , 0x1c43 , "ASUS UX8406MA" , ALC245_FIXUP_CS35L41_SPI_2 ),
1084410890 SND_PCI_QUIRK (0x1043 , 0x1c62 , "ASUS GU603" , ALC289_FIXUP_ASUS_GA401 ),
1084510891 SND_PCI_QUIRK (0x1043 , 0x1c63 , "ASUS GU605M" , ALC285_FIXUP_ASUS_GU605_SPI_SPEAKER2_TO_DAC1 ),
10892+ SND_PCI_QUIRK (0x1043 , 0x1c80 , "ASUS VivoBook TP401" , ALC256_FIXUP_ASUS_MIC_NO_PRESENCE ),
1084610893 SND_PCI_QUIRK (0x1043 , 0x1c92 , "ASUS ROG Strix G15" , ALC285_FIXUP_ASUS_G533Z_PINS ),
1084710894 SND_PCI_QUIRK (0x1043 , 0x1c9f , "ASUS G614JU/JV/JI" , ALC285_FIXUP_ASUS_HEADSET_MIC ),
1084810895 SND_PCI_QUIRK (0x1043 , 0x1caf , "ASUS G634JY/JZ/JI/JG" , ALC285_FIXUP_ASUS_SPI_REAR_SPEAKERS ),
0 commit comments