@@ -5577,6 +5577,9 @@ enum {
5577
5577
ALC285_FIXUP_LENOVO_HEADPHONE_NOISE ,
5578
5578
ALC295_FIXUP_HP_AUTO_MUTE ,
5579
5579
ALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE ,
5580
+ ALC294_FIXUP_ASUS_MIC ,
5581
+ ALC294_FIXUP_ASUS_HEADSET_MIC ,
5582
+ ALC294_FIXUP_ASUS_SPK ,
5580
5583
ALC225_FIXUP_HEADSET_JACK ,
5581
5584
};
5582
5585
@@ -6450,6 +6453,8 @@ static const struct hda_fixup alc269_fixups[] = {
6450
6453
[ALC285_FIXUP_LENOVO_HEADPHONE_NOISE ] = {
6451
6454
.type = HDA_FIXUP_FUNC ,
6452
6455
.v .func = alc285_fixup_invalidate_dacs ,
6456
+ .chained = true,
6457
+ .chain_id = ALC269_FIXUP_THINKPAD_ACPI
6453
6458
},
6454
6459
[ALC295_FIXUP_HP_AUTO_MUTE ] = {
6455
6460
.type = HDA_FIXUP_FUNC ,
@@ -6464,6 +6469,36 @@ static const struct hda_fixup alc269_fixups[] = {
6464
6469
.chained = true,
6465
6470
.chain_id = ALC269_FIXUP_HEADSET_MIC
6466
6471
},
6472
+ [ALC294_FIXUP_ASUS_MIC ] = {
6473
+ .type = HDA_FIXUP_PINS ,
6474
+ .v .pins = (const struct hda_pintbl []) {
6475
+ { 0x13 , 0x90a60160 }, /* use as internal mic */
6476
+ { 0x19 , 0x04a11120 }, /* use as headset mic, without its own jack detect */
6477
+ { }
6478
+ },
6479
+ .chained = true,
6480
+ .chain_id = ALC269_FIXUP_HEADSET_MODE_NO_HP_MIC
6481
+ },
6482
+ [ALC294_FIXUP_ASUS_HEADSET_MIC ] = {
6483
+ .type = HDA_FIXUP_PINS ,
6484
+ .v .pins = (const struct hda_pintbl []) {
6485
+ { 0x19 , 0x01a1113c }, /* use as headset mic, without its own jack detect */
6486
+ { }
6487
+ },
6488
+ .chained = true,
6489
+ .chain_id = ALC269_FIXUP_HEADSET_MODE_NO_HP_MIC
6490
+ },
6491
+ [ALC294_FIXUP_ASUS_SPK ] = {
6492
+ .type = HDA_FIXUP_VERBS ,
6493
+ .v .verbs = (const struct hda_verb []) {
6494
+ /* Set EAPD high */
6495
+ { 0x20 , AC_VERB_SET_COEF_INDEX , 0x40 },
6496
+ { 0x20 , AC_VERB_SET_PROC_COEF , 0x8800 },
6497
+ { }
6498
+ },
6499
+ .chained = true,
6500
+ .chain_id = ALC294_FIXUP_ASUS_HEADSET_MIC
6501
+ },
6467
6502
[ALC225_FIXUP_HEADSET_JACK ] = {
6468
6503
.type = HDA_FIXUP_FUNC ,
6469
6504
.v .func = alc_fixup_headset_jack ,
@@ -6610,6 +6645,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
6610
6645
SND_PCI_QUIRK (0x1043 , 0x12e0 , "ASUS X541SA" , ALC256_FIXUP_ASUS_MIC ),
6611
6646
SND_PCI_QUIRK (0x1043 , 0x13b0 , "ASUS Z550SA" , ALC256_FIXUP_ASUS_MIC ),
6612
6647
SND_PCI_QUIRK (0x1043 , 0x1427 , "Asus Zenbook UX31E" , ALC269VB_FIXUP_ASUS_ZENBOOK ),
6648
+ SND_PCI_QUIRK (0x1043 , 0x14a1 , "ASUS UX533FD" , ALC294_FIXUP_ASUS_SPK ),
6613
6649
SND_PCI_QUIRK (0x1043 , 0x1517 , "Asus Zenbook UX31A" , ALC269VB_FIXUP_ASUS_ZENBOOK_UX31A ),
6614
6650
SND_PCI_QUIRK (0x1043 , 0x16e3 , "ASUS UX50" , ALC269_FIXUP_STEREO_DMIC ),
6615
6651
SND_PCI_QUIRK (0x1043 , 0x1a13 , "Asus G73Jw" , ALC269_FIXUP_ASUS_G73JW ),
@@ -7218,6 +7254,14 @@ static const struct snd_hda_pin_quirk alc269_pin_fixup_tbl[] = {
7218
7254
SND_HDA_PIN_QUIRK (0x10ec0293 , 0x1028 , "Dell" , ALC293_FIXUP_DELL1_MIC_NO_PRESENCE ,
7219
7255
ALC292_STANDARD_PINS ,
7220
7256
{0x13 , 0x90a60140 }),
7257
+ SND_HDA_PIN_QUIRK (0x10ec0294 , 0x1043 , "ASUS" , ALC294_FIXUP_ASUS_MIC ,
7258
+ {0x14 , 0x90170110 },
7259
+ {0x1b , 0x90a70130 },
7260
+ {0x21 , 0x04211020 }),
7261
+ SND_HDA_PIN_QUIRK (0x10ec0294 , 0x1043 , "ASUS" , ALC294_FIXUP_ASUS_SPK ,
7262
+ {0x12 , 0x90a60130 },
7263
+ {0x17 , 0x90170110 },
7264
+ {0x21 , 0x04211020 }),
7221
7265
SND_HDA_PIN_QUIRK (0x10ec0295 , 0x1028 , "Dell" , ALC269_FIXUP_DELL1_MIC_NO_PRESENCE ,
7222
7266
ALC295_STANDARD_PINS ,
7223
7267
{0x17 , 0x21014020 },
0 commit comments