@@ -5975,6 +5975,16 @@ static void alc_fixup_disable_mic_vref(struct hda_codec *codec,
5975
5975
snd_hda_codec_set_pin_target (codec , 0x19 , PIN_VREFHIZ );
5976
5976
}
5977
5977
5978
+ static void alc285_fixup_hp_gpio_amp_init (struct hda_codec * codec ,
5979
+ const struct hda_fixup * fix , int action )
5980
+ {
5981
+ if (action != HDA_FIXUP_ACT_INIT )
5982
+ return ;
5983
+
5984
+ msleep (100 );
5985
+ alc_write_coef_idx (codec , 0x65 , 0x0 );
5986
+ }
5987
+
5978
5988
/* for hda_fixup_thinkpad_acpi() */
5979
5989
#include "thinkpad_helper.c"
5980
5990
@@ -6155,6 +6165,7 @@ enum {
6155
6165
ALC289_FIXUP_ASUS_GA401 ,
6156
6166
ALC289_FIXUP_ASUS_GA502 ,
6157
6167
ALC256_FIXUP_ACER_MIC_NO_PRESENCE ,
6168
+ ALC285_FIXUP_HP_GPIO_AMP_INIT ,
6158
6169
};
6159
6170
6160
6171
static const struct hda_fixup alc269_fixups [] = {
@@ -7387,6 +7398,12 @@ static const struct hda_fixup alc269_fixups[] = {
7387
7398
.chained = true,
7388
7399
.chain_id = ALC256_FIXUP_ASUS_HEADSET_MODE
7389
7400
},
7401
+ [ALC285_FIXUP_HP_GPIO_AMP_INIT ] = {
7402
+ .type = HDA_FIXUP_FUNC ,
7403
+ .v .func = alc285_fixup_hp_gpio_amp_init ,
7404
+ .chained = true,
7405
+ .chain_id = ALC285_FIXUP_HP_GPIO_LED
7406
+ },
7390
7407
};
7391
7408
7392
7409
static const struct snd_pci_quirk alc269_fixup_tbl [] = {
@@ -7537,7 +7554,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
7537
7554
SND_PCI_QUIRK (0x103c , 0x84e7 , "HP Pavilion 15" , ALC269_FIXUP_HP_MUTE_LED_MIC3 ),
7538
7555
SND_PCI_QUIRK (0x103c , 0x869d , "HP" , ALC236_FIXUP_HP_MUTE_LED ),
7539
7556
SND_PCI_QUIRK (0x103c , 0x8729 , "HP" , ALC285_FIXUP_HP_GPIO_LED ),
7540
- SND_PCI_QUIRK (0x103c , 0x8736 , "HP" , ALC285_FIXUP_HP_GPIO_LED ),
7557
+ SND_PCI_QUIRK (0x103c , 0x8736 , "HP" , ALC285_FIXUP_HP_GPIO_AMP_INIT ),
7541
7558
SND_PCI_QUIRK (0x103c , 0x877a , "HP" , ALC285_FIXUP_HP_MUTE_LED ),
7542
7559
SND_PCI_QUIRK (0x103c , 0x877d , "HP" , ALC236_FIXUP_HP_MUTE_LED ),
7543
7560
SND_PCI_QUIRK (0x1043 , 0x103e , "ASUS X540SA" , ALC256_FIXUP_ASUS_MIC ),
0 commit comments