@@ -5274,6 +5274,16 @@ static void alc298_fixup_speaker_volume(struct hda_codec *codec,
5274
5274
}
5275
5275
}
5276
5276
5277
+ /* disable DAC3 (0x06) selection on NID 0x17 as it has no volume amp control */
5278
+ static void alc295_fixup_disable_dac3 (struct hda_codec * codec ,
5279
+ const struct hda_fixup * fix , int action )
5280
+ {
5281
+ if (action == HDA_FIXUP_ACT_PRE_PROBE ) {
5282
+ hda_nid_t conn [2 ] = { 0x02 , 0x03 };
5283
+ snd_hda_override_conn_list (codec , 0x17 , 2 , conn );
5284
+ }
5285
+ }
5286
+
5277
5287
/* Hook to update amp GPIO4 for automute */
5278
5288
static void alc280_hp_gpio4_automute_hook (struct hda_codec * codec ,
5279
5289
struct hda_jack_callback * jack )
@@ -5466,6 +5476,7 @@ enum {
5466
5476
ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY ,
5467
5477
ALC255_FIXUP_DELL_SPK_NOISE ,
5468
5478
ALC225_FIXUP_DELL1_MIC_NO_PRESENCE ,
5479
+ ALC295_FIXUP_DISABLE_DAC3 ,
5469
5480
ALC280_FIXUP_HP_HEADSET_MIC ,
5470
5481
ALC221_FIXUP_HP_FRONT_MIC ,
5471
5482
ALC292_FIXUP_TPT460 ,
@@ -5480,10 +5491,12 @@ enum {
5480
5491
ALC233_FIXUP_EAPD_COEF_AND_MIC_NO_PRESENCE ,
5481
5492
ALC233_FIXUP_LENOVO_MULTI_CODECS ,
5482
5493
ALC294_FIXUP_LENOVO_MIC_LOCATION ,
5494
+ ALC225_FIXUP_DELL_WYSE_MIC_NO_PRESENCE ,
5483
5495
ALC700_FIXUP_INTEL_REFERENCE ,
5484
5496
ALC274_FIXUP_DELL_BIND_DACS ,
5485
5497
ALC274_FIXUP_DELL_AIO_LINEOUT_VERB ,
5486
5498
ALC298_FIXUP_TPT470_DOCK ,
5499
+ ALC255_FIXUP_DUMMY_LINEOUT_VERB ,
5487
5500
};
5488
5501
5489
5502
static const struct hda_fixup alc269_fixups [] = {
@@ -6198,6 +6211,10 @@ static const struct hda_fixup alc269_fixups[] = {
6198
6211
.chained = true,
6199
6212
.chain_id = ALC298_FIXUP_DELL_AIO_MIC_NO_PRESENCE ,
6200
6213
},
6214
+ [ALC295_FIXUP_DISABLE_DAC3 ] = {
6215
+ .type = HDA_FIXUP_FUNC ,
6216
+ .v .func = alc295_fixup_disable_dac3 ,
6217
+ },
6201
6218
[ALC256_FIXUP_DELL_INSPIRON_7559_SUBWOOFER ] = {
6202
6219
.type = HDA_FIXUP_PINS ,
6203
6220
.v .pins = (const struct hda_pintbl []) {
@@ -6283,6 +6300,18 @@ static const struct hda_fixup alc269_fixups[] = {
6283
6300
{ }
6284
6301
},
6285
6302
},
6303
+ [ALC225_FIXUP_DELL_WYSE_MIC_NO_PRESENCE ] = {
6304
+ .type = HDA_FIXUP_PINS ,
6305
+ .v .pins = (const struct hda_pintbl []) {
6306
+ { 0x16 , 0x0101102f }, /* Rear Headset HP */
6307
+ { 0x19 , 0x02a1913c }, /* use as Front headset mic, without its own jack detect */
6308
+ { 0x1a , 0x01a19030 }, /* Rear Headset MIC */
6309
+ { 0x1b , 0x02011020 },
6310
+ { }
6311
+ },
6312
+ .chained = true,
6313
+ .chain_id = ALC269_FIXUP_HEADSET_MODE_NO_HP_MIC
6314
+ },
6286
6315
[ALC700_FIXUP_INTEL_REFERENCE ] = {
6287
6316
.type = HDA_FIXUP_VERBS ,
6288
6317
.v .verbs = (const struct hda_verb []) {
@@ -6319,6 +6348,15 @@ static const struct hda_fixup alc269_fixups[] = {
6319
6348
.chained = true,
6320
6349
.chain_id = ALC293_FIXUP_LENOVO_SPK_NOISE
6321
6350
},
6351
+ [ALC255_FIXUP_DUMMY_LINEOUT_VERB ] = {
6352
+ .type = HDA_FIXUP_PINS ,
6353
+ .v .pins = (const struct hda_pintbl []) {
6354
+ { 0x14 , 0x0201101f },
6355
+ { }
6356
+ },
6357
+ .chained = true,
6358
+ .chain_id = ALC255_FIXUP_DELL1_MIC_NO_PRESENCE
6359
+ },
6322
6360
};
6323
6361
6324
6362
static const struct snd_pci_quirk alc269_fixup_tbl [] = {
@@ -6367,10 +6405,13 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
6367
6405
SND_PCI_QUIRK (0x1028 , 0x0725 , "Dell Inspiron 3162" , ALC255_FIXUP_DELL_SPK_NOISE ),
6368
6406
SND_PCI_QUIRK (0x1028 , 0x075b , "Dell XPS 13 9360" , ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE ),
6369
6407
SND_PCI_QUIRK (0x1028 , 0x075d , "Dell AIO" , ALC298_FIXUP_SPK_VOLUME ),
6408
+ SND_PCI_QUIRK (0x1028 , 0x07b0 , "Dell Precision 7520" , ALC295_FIXUP_DISABLE_DAC3 ),
6370
6409
SND_PCI_QUIRK (0x1028 , 0x0798 , "Dell Inspiron 17 7000 Gaming" , ALC256_FIXUP_DELL_INSPIRON_7559_SUBWOOFER ),
6410
+ SND_PCI_QUIRK (0x1028 , 0x080c , "Dell WYSE" , ALC225_FIXUP_DELL_WYSE_MIC_NO_PRESENCE ),
6371
6411
SND_PCI_QUIRK (0x1028 , 0x082a , "Dell XPS 13 9360" , ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE ),
6372
6412
SND_PCI_QUIRK (0x1028 , 0x084b , "Dell" , ALC274_FIXUP_DELL_AIO_LINEOUT_VERB ),
6373
6413
SND_PCI_QUIRK (0x1028 , 0x084e , "Dell" , ALC274_FIXUP_DELL_AIO_LINEOUT_VERB ),
6414
+ SND_PCI_QUIRK (0x1028 , 0x0873 , "Dell Precision 3930" , ALC255_FIXUP_DUMMY_LINEOUT_VERB ),
6374
6415
SND_PCI_QUIRK (0x1028 , 0x164a , "Dell" , ALC293_FIXUP_DELL1_MIC_NO_PRESENCE ),
6375
6416
SND_PCI_QUIRK (0x1028 , 0x164b , "Dell" , ALC293_FIXUP_DELL1_MIC_NO_PRESENCE ),
6376
6417
SND_PCI_QUIRK (0x103c , 0x1586 , "HP" , ALC269_FIXUP_HP_MUTE_LED_MIC2 ),
@@ -6508,9 +6549,11 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
6508
6549
SND_PCI_QUIRK (0x17aa , 0x2245 , "Thinkpad T470" , ALC298_FIXUP_TPT470_DOCK ),
6509
6550
SND_PCI_QUIRK (0x17aa , 0x2246 , "Thinkpad" , ALC298_FIXUP_TPT470_DOCK ),
6510
6551
SND_PCI_QUIRK (0x17aa , 0x2247 , "Thinkpad" , ALC298_FIXUP_TPT470_DOCK ),
6552
+ SND_PCI_QUIRK (0x17aa , 0x2249 , "Thinkpad" , ALC292_FIXUP_TPT460 ),
6511
6553
SND_PCI_QUIRK (0x17aa , 0x224b , "Thinkpad" , ALC298_FIXUP_TPT470_DOCK ),
6512
6554
SND_PCI_QUIRK (0x17aa , 0x224c , "Thinkpad" , ALC298_FIXUP_TPT470_DOCK ),
6513
6555
SND_PCI_QUIRK (0x17aa , 0x224d , "Thinkpad" , ALC298_FIXUP_TPT470_DOCK ),
6556
+ SND_PCI_QUIRK (0x17aa , 0x225d , "Thinkpad T480" , ALC269_FIXUP_LIMIT_INT_MIC_BOOST ),
6514
6557
SND_PCI_QUIRK (0x17aa , 0x30bb , "ThinkCentre AIO" , ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY ),
6515
6558
SND_PCI_QUIRK (0x17aa , 0x30e2 , "ThinkCentre AIO" , ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY ),
6516
6559
SND_PCI_QUIRK (0x17aa , 0x310c , "ThinkCentre Station" , ALC294_FIXUP_LENOVO_MIC_LOCATION ),
@@ -6872,7 +6915,7 @@ static const struct snd_hda_pin_quirk alc269_pin_fixup_tbl[] = {
6872
6915
{0x12 , 0x90a60120 },
6873
6916
{0x14 , 0x90170110 },
6874
6917
{0x21 , 0x0321101f }),
6875
- SND_HDA_PIN_QUIRK (0x10ec0289 , 0x1028 , "Dell" , ALC225_FIXUP_DELL1_MIC_NO_PRESENCE ,
6918
+ SND_HDA_PIN_QUIRK (0x10ec0289 , 0x1028 , "Dell" , ALC269_FIXUP_DELL4_MIC_NO_PRESENCE ,
6876
6919
{0x12 , 0xb7a60130 },
6877
6920
{0x14 , 0x90170110 },
6878
6921
{0x21 , 0x04211020 }),
0 commit comments