@@ -5358,6 +5358,17 @@ static void alc271_hp_gate_mic_jack(struct hda_codec *codec,
5358
5358
}
5359
5359
}
5360
5360
5361
+ static void alc256_fixup_dell_xps_13_headphone_noise2 (struct hda_codec * codec ,
5362
+ const struct hda_fixup * fix ,
5363
+ int action )
5364
+ {
5365
+ if (action != HDA_FIXUP_ACT_PRE_PROBE )
5366
+ return ;
5367
+
5368
+ snd_hda_codec_amp_stereo (codec , 0x1a , HDA_INPUT , 0 , HDA_AMP_VOLMASK , 1 );
5369
+ snd_hda_override_wcaps (codec , 0x1a , get_wcaps (codec , 0x1a ) & ~AC_WCAP_IN_AMP );
5370
+ }
5371
+
5361
5372
static void alc269_fixup_limit_int_mic_boost (struct hda_codec * codec ,
5362
5373
const struct hda_fixup * fix ,
5363
5374
int action )
@@ -5822,6 +5833,7 @@ enum {
5822
5833
ALC298_FIXUP_DELL_AIO_MIC_NO_PRESENCE ,
5823
5834
ALC275_FIXUP_DELL_XPS ,
5824
5835
ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE ,
5836
+ ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE2 ,
5825
5837
ALC293_FIXUP_LENOVO_SPK_NOISE ,
5826
5838
ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY ,
5827
5839
ALC255_FIXUP_DELL_SPK_NOISE ,
@@ -5869,6 +5881,7 @@ enum {
5869
5881
ALC225_FIXUP_WYSE_AUTO_MUTE ,
5870
5882
ALC225_FIXUP_WYSE_DISABLE_MIC_VREF ,
5871
5883
ALC286_FIXUP_ACER_AIO_HEADSET_MIC ,
5884
+ ALC256_FIXUP_ASUS_HEADSET_MIC ,
5872
5885
ALC256_FIXUP_ASUS_MIC_NO_PRESENCE ,
5873
5886
ALC299_FIXUP_PREDATOR_SPK ,
5874
5887
ALC294_FIXUP_ASUS_INTSPK_HEADSET_MIC ,
@@ -6558,6 +6571,12 @@ static const struct hda_fixup alc269_fixups[] = {
6558
6571
.chained = true,
6559
6572
.chain_id = ALC255_FIXUP_DELL1_MIC_NO_PRESENCE
6560
6573
},
6574
+ [ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE2 ] = {
6575
+ .type = HDA_FIXUP_FUNC ,
6576
+ .v .func = alc256_fixup_dell_xps_13_headphone_noise2 ,
6577
+ .chained = true,
6578
+ .chain_id = ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE
6579
+ },
6561
6580
[ALC293_FIXUP_LENOVO_SPK_NOISE ] = {
6562
6581
.type = HDA_FIXUP_FUNC ,
6563
6582
.v .func = alc_fixup_disable_aamix ,
@@ -6912,6 +6931,15 @@ static const struct hda_fixup alc269_fixups[] = {
6912
6931
.chained = true,
6913
6932
.chain_id = ALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE
6914
6933
},
6934
+ [ALC256_FIXUP_ASUS_HEADSET_MIC ] = {
6935
+ .type = HDA_FIXUP_PINS ,
6936
+ .v .pins = (const struct hda_pintbl []) {
6937
+ { 0x19 , 0x03a11020 }, /* headset mic with jack detect */
6938
+ { }
6939
+ },
6940
+ .chained = true,
6941
+ .chain_id = ALC256_FIXUP_ASUS_HEADSET_MODE
6942
+ },
6915
6943
[ALC256_FIXUP_ASUS_MIC_NO_PRESENCE ] = {
6916
6944
.type = HDA_FIXUP_PINS ,
6917
6945
.v .pins = (const struct hda_pintbl []) {
@@ -7001,17 +7029,17 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
7001
7029
SND_PCI_QUIRK (0x1028 , 0x06de , "Dell" , ALC293_FIXUP_DISABLE_AAMIX_MULTIJACK ),
7002
7030
SND_PCI_QUIRK (0x1028 , 0x06df , "Dell" , ALC293_FIXUP_DISABLE_AAMIX_MULTIJACK ),
7003
7031
SND_PCI_QUIRK (0x1028 , 0x06e0 , "Dell" , ALC293_FIXUP_DISABLE_AAMIX_MULTIJACK ),
7004
- SND_PCI_QUIRK (0x1028 , 0x0704 , "Dell XPS 13 9350" , ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE ),
7032
+ SND_PCI_QUIRK (0x1028 , 0x0704 , "Dell XPS 13 9350" , ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE2 ),
7005
7033
SND_PCI_QUIRK (0x1028 , 0x0706 , "Dell Inspiron 7559" , ALC256_FIXUP_DELL_INSPIRON_7559_SUBWOOFER ),
7006
7034
SND_PCI_QUIRK (0x1028 , 0x0725 , "Dell Inspiron 3162" , ALC255_FIXUP_DELL_SPK_NOISE ),
7007
7035
SND_PCI_QUIRK (0x1028 , 0x0738 , "Dell Precision 5820" , ALC269_FIXUP_NO_SHUTUP ),
7008
- SND_PCI_QUIRK (0x1028 , 0x075b , "Dell XPS 13 9360" , ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE ),
7036
+ SND_PCI_QUIRK (0x1028 , 0x075b , "Dell XPS 13 9360" , ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE2 ),
7009
7037
SND_PCI_QUIRK (0x1028 , 0x075c , "Dell XPS 27 7760" , ALC298_FIXUP_SPK_VOLUME ),
7010
7038
SND_PCI_QUIRK (0x1028 , 0x075d , "Dell AIO" , ALC298_FIXUP_SPK_VOLUME ),
7011
7039
SND_PCI_QUIRK (0x1028 , 0x07b0 , "Dell Precision 7520" , ALC295_FIXUP_DISABLE_DAC3 ),
7012
7040
SND_PCI_QUIRK (0x1028 , 0x0798 , "Dell Inspiron 17 7000 Gaming" , ALC256_FIXUP_DELL_INSPIRON_7559_SUBWOOFER ),
7013
7041
SND_PCI_QUIRK (0x1028 , 0x080c , "Dell WYSE" , ALC225_FIXUP_DELL_WYSE_MIC_NO_PRESENCE ),
7014
- SND_PCI_QUIRK (0x1028 , 0x082a , "Dell XPS 13 9360" , ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE ),
7042
+ SND_PCI_QUIRK (0x1028 , 0x082a , "Dell XPS 13 9360" , ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE2 ),
7015
7043
SND_PCI_QUIRK (0x1028 , 0x084b , "Dell" , ALC274_FIXUP_DELL_AIO_LINEOUT_VERB ),
7016
7044
SND_PCI_QUIRK (0x1028 , 0x084e , "Dell" , ALC274_FIXUP_DELL_AIO_LINEOUT_VERB ),
7017
7045
SND_PCI_QUIRK (0x1028 , 0x0871 , "Dell Precision 3630" , ALC255_FIXUP_DELL_HEADSET_MIC ),
@@ -7108,6 +7136,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
7108
7136
SND_PCI_QUIRK (0x1043 , 0x1517 , "Asus Zenbook UX31A" , ALC269VB_FIXUP_ASUS_ZENBOOK_UX31A ),
7109
7137
SND_PCI_QUIRK (0x1043 , 0x16e3 , "ASUS UX50" , ALC269_FIXUP_STEREO_DMIC ),
7110
7138
SND_PCI_QUIRK (0x1043 , 0x17d1 , "ASUS UX431FL" , ALC294_FIXUP_ASUS_INTSPK_HEADSET_MIC ),
7139
+ SND_PCI_QUIRK (0x1043 , 0x18b1 , "Asus MJ401TA" , ALC256_FIXUP_ASUS_HEADSET_MIC ),
7111
7140
SND_PCI_QUIRK (0x1043 , 0x1a13 , "Asus G73Jw" , ALC269_FIXUP_ASUS_G73JW ),
7112
7141
SND_PCI_QUIRK (0x1043 , 0x1a30 , "ASUS X705UD" , ALC256_FIXUP_ASUS_MIC ),
7113
7142
SND_PCI_QUIRK (0x1043 , 0x1b13 , "Asus U41SV" , ALC269_FIXUP_INV_DMIC ),
0 commit comments