aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHui Wang <hui.wang@canonical.com>2015-11-23 22:08:18 -0500
committerTakashi Iwai <tiwai@suse.de>2015-11-24 01:33:43 -0500
commit8c69729b4439bbda88c3073df7243f755cc418ed (patch)
tree23fb0c741fe4f9a07fce4b0c1a1a709d5b533b81
parent196543d54574f50e3fd04df4e3048181e006a9da (diff)
ALSA: hda - Fix headphone noise after Dell XPS 13 resume back from S3
We have a machine Dell XPS 13 with the codec alc256, after resume back from S3, the headphone has noise when play sound. Through comparing with the coeff vaule before and after S3, we found restoring a coeff register will help remove noise. BugLink: https://bugs.launchpad.net/bugs/1519168 Cc: Kailang Yang <kailang@realtek.com> Cc: <stable@vger.kernel.org> Signed-off-by: Hui Wang <hui.wang@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--sound/pci/hda/patch_realtek.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 53f6a0261ec9..e4f80dc4704f 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -4587,6 +4587,7 @@ enum {
4587 ALC292_FIXUP_DISABLE_AAMIX, 4587 ALC292_FIXUP_DISABLE_AAMIX,
4588 ALC298_FIXUP_DELL1_MIC_NO_PRESENCE, 4588 ALC298_FIXUP_DELL1_MIC_NO_PRESENCE,
4589 ALC275_FIXUP_DELL_XPS, 4589 ALC275_FIXUP_DELL_XPS,
4590 ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE,
4590}; 4591};
4591 4592
4592static const struct hda_fixup alc269_fixups[] = { 4593static const struct hda_fixup alc269_fixups[] = {
@@ -5167,6 +5168,17 @@ static const struct hda_fixup alc269_fixups[] = {
5167 {} 5168 {}
5168 } 5169 }
5169 }, 5170 },
5171 [ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE] = {
5172 .type = HDA_FIXUP_VERBS,
5173 .v.verbs = (const struct hda_verb[]) {
5174 /* Disable pass-through path for FRONT 14h */
5175 {0x20, AC_VERB_SET_COEF_INDEX, 0x36},
5176 {0x20, AC_VERB_SET_PROC_COEF, 0x1737},
5177 {}
5178 },
5179 .chained = true,
5180 .chain_id = ALC255_FIXUP_DELL1_MIC_NO_PRESENCE
5181 },
5170}; 5182};
5171 5183
5172static const struct snd_pci_quirk alc269_fixup_tbl[] = { 5184static const struct snd_pci_quirk alc269_fixup_tbl[] = {
@@ -5206,6 +5218,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
5206 SND_PCI_QUIRK(0x1028, 0x06de, "Dell", ALC292_FIXUP_DISABLE_AAMIX), 5218 SND_PCI_QUIRK(0x1028, 0x06de, "Dell", ALC292_FIXUP_DISABLE_AAMIX),
5207 SND_PCI_QUIRK(0x1028, 0x06df, "Dell", ALC292_FIXUP_DISABLE_AAMIX), 5219 SND_PCI_QUIRK(0x1028, 0x06df, "Dell", ALC292_FIXUP_DISABLE_AAMIX),
5208 SND_PCI_QUIRK(0x1028, 0x06e0, "Dell", ALC292_FIXUP_DISABLE_AAMIX), 5220 SND_PCI_QUIRK(0x1028, 0x06e0, "Dell", ALC292_FIXUP_DISABLE_AAMIX),
5221 SND_PCI_QUIRK(0x1028, 0x0704, "Dell XPS 13", ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE),
5209 SND_PCI_QUIRK(0x1028, 0x164a, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE), 5222 SND_PCI_QUIRK(0x1028, 0x164a, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE),
5210 SND_PCI_QUIRK(0x1028, 0x164b, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE), 5223 SND_PCI_QUIRK(0x1028, 0x164b, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE),
5211 SND_PCI_QUIRK(0x103c, 0x1586, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC2), 5224 SND_PCI_QUIRK(0x103c, 0x1586, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC2),