Here you go:
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 1aa21d7e7245..06af38c37fec 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -4553,6 +4553,17 @@ static void alc271_hp_gate_mic_jack(struct hda_codec *codec, } }
+static void alc256_fixup_dell_xps_13_headset_noise(struct hda_codec *codec, + const struct hda_fixup *fix, + int action) +{ + if (action != HDA_FIXUP_ACT_PRE_PROBE) + return; + + snd_hda_codec_amp_stereo(codec, 0x1a, HDA_INPUT, 0, HDA_AMP_VOLMASK, 1); + snd_hda_override_wcaps(codec, 0x1a, get_wcaps(codec, 0x1a) & ~AC_WCAP_IN_AMP); +} + static void alc269_fixup_limit_int_mic_boost(struct hda_codec *codec, const struct hda_fixup *fix, int action) @@ -4861,6 +4872,7 @@ enum { ALC298_FIXUP_DELL_AIO_MIC_NO_PRESENCE, ALC275_FIXUP_DELL_XPS, ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE, + ALC256_FIXUP_DELL_XPS_13_HEADSET_NOISE, ALC293_FIXUP_LENOVO_SPK_NOISE, ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY, ALC255_FIXUP_DELL_SPK_NOISE, @@ -5502,6 +5514,12 @@ static const struct hda_fixup alc269_fixups[] = { .chained = true, .chain_id = ALC255_FIXUP_DELL1_MIC_NO_PRESENCE }, + [ALC256_FIXUP_DELL_XPS_13_HEADSET_NOISE] = { + .type = HDA_FIXUP_FUNC, + .v.func = alc256_fixup_dell_xps_13_headset_noise, + .chained = true, + .chain_id = ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE + }, [ALC293_FIXUP_LENOVO_SPK_NOISE] = { .type = HDA_FIXUP_FUNC, .v.func = alc_fixup_disable_aamix, @@ -5622,10 +5640,10 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = { SND_PCI_QUIRK(0x1028, 0x06de, "Dell", ALC293_FIXUP_DISABLE_AAMIX_MULTIJACK), SND_PCI_QUIRK(0x1028, 0x06df, "Dell", ALC293_FIXUP_DISABLE_AAMIX_MULTIJACK), SND_PCI_QUIRK(0x1028, 0x06e0, "Dell", ALC293_FIXUP_DISABLE_AAMIX_MULTIJACK), - SND_PCI_QUIRK(0x1028, 0x0704, "Dell XPS 13 9350", ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE), + SND_PCI_QUIRK(0x1028, 0x0704, "Dell XPS 13 9350", ALC256_FIXUP_DELL_XPS_13_HEADSET_NOISE), SND_PCI_QUIRK(0x1028, 0x0706, "Dell Inspiron 7559", ALC256_FIXUP_DELL_INSPIRON_7559_SUBWOOFER), SND_PCI_QUIRK(0x1028, 0x0725, "Dell Inspiron 3162", ALC255_FIXUP_DELL_SPK_NOISE), - SND_PCI_QUIRK(0x1028, 0x075b, "Dell XPS 13 9360", ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE), + SND_PCI_QUIRK(0x1028, 0x075b, "Dell XPS 13 9360", ALC256_FIXUP_DELL_XPS_13_HEADSET_NOISE), SND_PCI_QUIRK(0x1028, 0x075d, "Dell AIO", ALC298_FIXUP_SPK_VOLUME), SND_PCI_QUIRK(0x1028, 0x0798, "Dell Inspiron 17 7000 Gaming", ALC256_FIXUP_DELL_INSPIRON_7559_SUBWOOFER), SND_PCI_QUIRK(0x1028, 0x164a, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE),
Here you go:
diff --git a/sound/ pci/hda/ patch_realtek. c b/sound/ pci/hda/ patch_realtek. c .06af38c37fec 100644 pci/hda/ patch_realtek. c pci/hda/ patch_realtek. c hp_gate_ mic_jack( struct hda_codec *codec,
index 1aa21d7e7245.
--- a/sound/
+++ b/sound/
@@ -4553,6 +4553,17 @@ static void alc271_
}
}
+static void alc256_ fixup_dell_ xps_13_ headset_ noise(struct hda_codec *codec, ACT_PRE_ PROBE) codec_amp_ stereo( codec, 0x1a, HDA_INPUT, 0, HDA_AMP_VOLMASK, 1); override_ wcaps(codec, 0x1a, get_wcaps(codec, 0x1a) & ~AC_WCAP_IN_AMP); fixup_limit_ int_mic_ boost(struct hda_codec *codec,
const struct hda_fixup *fix,
int action)
ALC298_ FIXUP_DELL_ AIO_MIC_ NO_PRESENCE,
ALC275_ FIXUP_DELL_ XPS,
ALC256_ FIXUP_DELL_ XPS_13_ HEADPHONE_ NOISE, FIXUP_DELL_ XPS_13_ HEADSET_ NOISE,
ALC293_ FIXUP_LENOVO_ SPK_NOISE,
ALC233_ FIXUP_LENOVO_ LINE2_MIC_ HOTKEY,
ALC255_ FIXUP_DELL_ SPK_NOISE,
.chained = true,
.chain_ id = ALC255_ FIXUP_DELL1_ MIC_NO_ PRESENCE FIXUP_DELL_ XPS_13_ HEADSET_ NOISE] = { fixup_dell_ xps_13_ headset_ noise, FIXUP_DELL_ XPS_13_ HEADPHONE_ NOISE
[ALC293_ FIXUP_LENOVO_ SPK_NOISE] = {
.type = HDA_FIXUP_FUNC,
.v.func = alc_fixup_ disable_ aamix,
SND_PCI_ QUIRK(0x1028, 0x06de, "Dell", ALC293_ FIXUP_DISABLE_ AAMIX_MULTIJACK ),
SND_PCI_ QUIRK(0x1028, 0x06df, "Dell", ALC293_ FIXUP_DISABLE_ AAMIX_MULTIJACK ),
SND_PCI_ QUIRK(0x1028, 0x06e0, "Dell", ALC293_ FIXUP_DISABLE_ AAMIX_MULTIJACK ), QUIRK(0x1028, 0x0704, "Dell XPS 13 9350", ALC256_ FIXUP_DELL_ XPS_13_ HEADPHONE_ NOISE), QUIRK(0x1028, 0x0704, "Dell XPS 13 9350", ALC256_ FIXUP_DELL_ XPS_13_ HEADSET_ NOISE),
SND_PCI_ QUIRK(0x1028, 0x0706, "Dell Inspiron 7559", ALC256_ FIXUP_DELL_ INSPIRON_ 7559_SUBWOOFER) ,
SND_PCI_ QUIRK(0x1028, 0x0725, "Dell Inspiron 3162", ALC255_ FIXUP_DELL_ SPK_NOISE) , QUIRK(0x1028, 0x075b, "Dell XPS 13 9360", ALC256_ FIXUP_DELL_ XPS_13_ HEADPHONE_ NOISE), QUIRK(0x1028, 0x075b, "Dell XPS 13 9360", ALC256_ FIXUP_DELL_ XPS_13_ HEADSET_ NOISE),
SND_PCI_ QUIRK(0x1028, 0x075d, "Dell AIO", ALC298_ FIXUP_SPK_ VOLUME) ,
SND_PCI_ QUIRK(0x1028, 0x0798, "Dell Inspiron 17 7000 Gaming", ALC256_ FIXUP_DELL_ INSPIRON_ 7559_SUBWOOFER) ,
SND_PCI_ QUIRK(0x1028, 0x164a, "Dell", ALC293_ FIXUP_DELL1_ MIC_NO_ PRESENCE) ,
+ const struct hda_fixup *fix,
+ int action)
+{
+ if (action != HDA_FIXUP_
+ return;
+
+ snd_hda_
+ snd_hda_
+}
+
static void alc269_
@@ -4861,6 +4872,7 @@ enum {
+ ALC256_
@@ -5502,6 +5514,12 @@ static const struct hda_fixup alc269_fixups[] = {
},
+ [ALC256_
+ .type = HDA_FIXUP_FUNC,
+ .v.func = alc256_
+ .chained = true,
+ .chain_id = ALC256_
+ },
@@ -5622,10 +5640,10 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
- SND_PCI_
+ SND_PCI_
- SND_PCI_
+ SND_PCI_