Skip to content

Commit f36938a

Browse files
tchebbtiwai
authored andcommitted
ALSA: hda/realtek - Remove now-unnecessary XPS 13 headphone noise fixups
patch_realtek.c has historically failed to properly configure the PC Beep Hidden Register for the ALC256 codec (among others). Depending on your kernel version, symptoms of this misconfiguration can range from chassis noise, picked up by a poorly-shielded PCBEEP trace, getting amplified and played on your internal speaker and/or headphones to loud feedback, which responds to the "Headphone Mic Boost" ALSA control, getting played through your headphones. For details of the problem, see the patch in this series titled "ALSA: hda/realtek - Set principled PC Beep configuration for ALC256", which fixes the configuration. These symptoms have been most noticed on the Dell XPS 13 9350 and 9360, popular laptops that use the ALC256. As a result, several model-specific fixups have been introduced to try and fix the problem, the most egregious of which locks the "Headphone Mic Boost" control as a hack to minimize noise from a feedback loop that shouldn't have been there in the first place. Now that the underlying issue has been fixed, remove all these fixups. Remaining fixups needed by the XPS 13 are all picked up by existing pin quirks. This change should, for the XPS 13 9350/9360 - Significantly increase volume and audio quality on headphones - Eliminate headphone popping on suspend/resume - Allow "Headphone Mic Boost" to be set again, making the headphone jack fully usable as a microphone jack too. Fixes: 8c69729 ("ALSA: hda - Fix headphone noise after Dell XPS 13 resume back from S3") Fixes: 423cd78 ("ALSA: hda - Fix headphone noise on Dell XPS 13 9360") Fixes: e4c9fd1 ("ALSA: hda - Apply headphone noise quirk for another Dell XPS 13 variant") Fixes: 1099f48 ("ALSA: hda/realtek: Reduce the Headphone static noise on XPS 9350/9360") Cc: [email protected] Signed-off-by: Thomas Hebb <[email protected]> Link: https://lore.kernel.org/r/b649a00edfde150cf6eebbb4390e15e0c2deb39a.1585584498.git.tommyhebb@gmail.com Signed-off-by: Takashi Iwai <[email protected]>
1 parent c447374 commit f36938a

File tree

2 files changed

+0
-36
lines changed

2 files changed

+0
-36
lines changed

Documentation/sound/hd-audio/models.rst

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -216,8 +216,6 @@ alc298-dell-aio
216216
ALC298 fixups on Dell AIO machines
217217
alc275-dell-xps
218218
ALC275 fixups on Dell XPS models
219-
alc256-dell-xps13
220-
ALC256 fixups on Dell XPS13
221219
lenovo-spk-noise
222220
Workaround for speaker noise on Lenovo machines
223221
lenovo-hotkey

sound/pci/hda/patch_realtek.c

Lines changed: 0 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -5491,17 +5491,6 @@ static void alc271_hp_gate_mic_jack(struct hda_codec *codec,
54915491
}
54925492
}
54935493

5494-
static void alc256_fixup_dell_xps_13_headphone_noise2(struct hda_codec *codec,
5495-
const struct hda_fixup *fix,
5496-
int action)
5497-
{
5498-
if (action != HDA_FIXUP_ACT_PRE_PROBE)
5499-
return;
5500-
5501-
snd_hda_codec_amp_stereo(codec, 0x1a, HDA_INPUT, 0, HDA_AMP_VOLMASK, 1);
5502-
snd_hda_override_wcaps(codec, 0x1a, get_wcaps(codec, 0x1a) & ~AC_WCAP_IN_AMP);
5503-
}
5504-
55055494
static void alc269_fixup_limit_int_mic_boost(struct hda_codec *codec,
55065495
const struct hda_fixup *fix,
55075496
int action)
@@ -5916,8 +5905,6 @@ enum {
59165905
ALC298_FIXUP_DELL1_MIC_NO_PRESENCE,
59175906
ALC298_FIXUP_DELL_AIO_MIC_NO_PRESENCE,
59185907
ALC275_FIXUP_DELL_XPS,
5919-
ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE,
5920-
ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE2,
59215908
ALC293_FIXUP_LENOVO_SPK_NOISE,
59225909
ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY,
59235910
ALC255_FIXUP_DELL_SPK_NOISE,
@@ -6658,23 +6645,6 @@ static const struct hda_fixup alc269_fixups[] = {
66586645
{}
66596646
}
66606647
},
6661-
[ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE] = {
6662-
.type = HDA_FIXUP_VERBS,
6663-
.v.verbs = (const struct hda_verb[]) {
6664-
/* Disable pass-through path for FRONT 14h */
6665-
{0x20, AC_VERB_SET_COEF_INDEX, 0x36},
6666-
{0x20, AC_VERB_SET_PROC_COEF, 0x1737},
6667-
{}
6668-
},
6669-
.chained = true,
6670-
.chain_id = ALC255_FIXUP_DELL1_MIC_NO_PRESENCE
6671-
},
6672-
[ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE2] = {
6673-
.type = HDA_FIXUP_FUNC,
6674-
.v.func = alc256_fixup_dell_xps_13_headphone_noise2,
6675-
.chained = true,
6676-
.chain_id = ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE
6677-
},
66786648
[ALC293_FIXUP_LENOVO_SPK_NOISE] = {
66796649
.type = HDA_FIXUP_FUNC,
66806650
.v.func = alc_fixup_disable_aamix,
@@ -7172,17 +7142,14 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
71727142
SND_PCI_QUIRK(0x1028, 0x06de, "Dell", ALC293_FIXUP_DISABLE_AAMIX_MULTIJACK),
71737143
SND_PCI_QUIRK(0x1028, 0x06df, "Dell", ALC293_FIXUP_DISABLE_AAMIX_MULTIJACK),
71747144
SND_PCI_QUIRK(0x1028, 0x06e0, "Dell", ALC293_FIXUP_DISABLE_AAMIX_MULTIJACK),
7175-
SND_PCI_QUIRK(0x1028, 0x0704, "Dell XPS 13 9350", ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE2),
71767145
SND_PCI_QUIRK(0x1028, 0x0706, "Dell Inspiron 7559", ALC256_FIXUP_DELL_INSPIRON_7559_SUBWOOFER),
71777146
SND_PCI_QUIRK(0x1028, 0x0725, "Dell Inspiron 3162", ALC255_FIXUP_DELL_SPK_NOISE),
71787147
SND_PCI_QUIRK(0x1028, 0x0738, "Dell Precision 5820", ALC269_FIXUP_NO_SHUTUP),
7179-
SND_PCI_QUIRK(0x1028, 0x075b, "Dell XPS 13 9360", ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE2),
71807148
SND_PCI_QUIRK(0x1028, 0x075c, "Dell XPS 27 7760", ALC298_FIXUP_SPK_VOLUME),
71817149
SND_PCI_QUIRK(0x1028, 0x075d, "Dell AIO", ALC298_FIXUP_SPK_VOLUME),
71827150
SND_PCI_QUIRK(0x1028, 0x07b0, "Dell Precision 7520", ALC295_FIXUP_DISABLE_DAC3),
71837151
SND_PCI_QUIRK(0x1028, 0x0798, "Dell Inspiron 17 7000 Gaming", ALC256_FIXUP_DELL_INSPIRON_7559_SUBWOOFER),
71847152
SND_PCI_QUIRK(0x1028, 0x080c, "Dell WYSE", ALC225_FIXUP_DELL_WYSE_MIC_NO_PRESENCE),
7185-
SND_PCI_QUIRK(0x1028, 0x082a, "Dell XPS 13 9360", ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE2),
71867153
SND_PCI_QUIRK(0x1028, 0x084b, "Dell", ALC274_FIXUP_DELL_AIO_LINEOUT_VERB),
71877154
SND_PCI_QUIRK(0x1028, 0x084e, "Dell", ALC274_FIXUP_DELL_AIO_LINEOUT_VERB),
71887155
SND_PCI_QUIRK(0x1028, 0x0871, "Dell Precision 3630", ALC255_FIXUP_DELL_HEADSET_MIC),
@@ -7536,7 +7503,6 @@ static const struct hda_model_fixup alc269_fixup_models[] = {
75367503
{.id = ALC298_FIXUP_DELL1_MIC_NO_PRESENCE, .name = "alc298-dell1"},
75377504
{.id = ALC298_FIXUP_DELL_AIO_MIC_NO_PRESENCE, .name = "alc298-dell-aio"},
75387505
{.id = ALC275_FIXUP_DELL_XPS, .name = "alc275-dell-xps"},
7539-
{.id = ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE, .name = "alc256-dell-xps13"},
75407506
{.id = ALC293_FIXUP_LENOVO_SPK_NOISE, .name = "lenovo-spk-noise"},
75417507
{.id = ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY, .name = "lenovo-hotkey"},
75427508
{.id = ALC255_FIXUP_DELL_SPK_NOISE, .name = "dell-spk-noise"},

0 commit comments

Comments
 (0)