aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda
diff options
context:
space:
mode:
authorHui Wang <hui.wang@canonical.com>2014-11-18 04:57:40 -0500
committerTakashi Iwai <tiwai@suse.de>2014-11-18 05:05:45 -0500
commit4a83d42ae2041d5b76f1a0662bc3a5a85e4eb0d1 (patch)
tree8141090109f291aee738d802d97b75b032fd118b /sound/pci/hda
parent39ae97ea4b773be81bae9eec08ed1e5c53606c1a (diff)
ALSA: hda - move DELL_WMI_MIC_MUTE_LED to the tail in the quirk chain
We have one more Dell machine needs DELL_WMI_MIC_MUTE_LED quirk, but the machine uses alc293 instead of alc255. So if DELL_WMI_MIC_MUTE_LED still chain ALC255_FIXUP_DELL1_MIC_NO_PRESENCE, the machine can't use this quirk. To change this situation, let the DELL_WMI_MIC_MUTE_LED to be a standalone quirk, and let other quirks chain it. After this change, this quirk can be chained to any existing quirks, and as a result, it is possible that this quirk is applied to a non-Dell machine or a Dell machine without mic mute led on it, but it is still safe since alc_fixup_dell_wmi() will return an error in these situations. And remove the quirk for machine with subsystem id 0x6010 and 0x601f, these two machines will fall back to the quirk ALC255_FIXUP_DELL1_MIC_NO_PRESENCE-->ALC255_FIXUP_HEADSET_MODE--> ALC255_FIXUP_DELL_WMI_MIC_MUTE_LED through pin_fixup_tbl[]. BugLink: https://bugs.launchpad.net/bugs/1381856 Reported-and-tested-by: Po-Hsu Lin <po-hsu.lin@canonical.com> Signed-off-by: Hui Wang <hui.wang@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda')
-rw-r--r--sound/pci/hda/patch_realtek.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 172395465e8a..9da5798c370a 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -4709,6 +4709,8 @@ static const struct hda_fixup alc269_fixups[] = {
4709 [ALC255_FIXUP_HEADSET_MODE] = { 4709 [ALC255_FIXUP_HEADSET_MODE] = {
4710 .type = HDA_FIXUP_FUNC, 4710 .type = HDA_FIXUP_FUNC,
4711 .v.func = alc_fixup_headset_mode_alc255, 4711 .v.func = alc_fixup_headset_mode_alc255,
4712 .chained = true,
4713 .chain_id = ALC255_FIXUP_DELL_WMI_MIC_MUTE_LED
4712 }, 4714 },
4713 [ALC255_FIXUP_HEADSET_MODE_NO_HP_MIC] = { 4715 [ALC255_FIXUP_HEADSET_MODE_NO_HP_MIC] = {
4714 .type = HDA_FIXUP_FUNC, 4716 .type = HDA_FIXUP_FUNC,
@@ -4744,8 +4746,6 @@ static const struct hda_fixup alc269_fixups[] = {
4744 [ALC255_FIXUP_DELL_WMI_MIC_MUTE_LED] = { 4746 [ALC255_FIXUP_DELL_WMI_MIC_MUTE_LED] = {
4745 .type = HDA_FIXUP_FUNC, 4747 .type = HDA_FIXUP_FUNC,
4746 .v.func = alc_fixup_dell_wmi, 4748 .v.func = alc_fixup_dell_wmi,
4747 .chained_before = true,
4748 .chain_id = ALC255_FIXUP_DELL1_MIC_NO_PRESENCE
4749 }, 4749 },
4750 [ALC282_FIXUP_ASPIRE_V5_PINS] = { 4750 [ALC282_FIXUP_ASPIRE_V5_PINS] = {
4751 .type = HDA_FIXUP_PINS, 4751 .type = HDA_FIXUP_PINS,
@@ -4783,10 +4783,8 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
4783 SND_PCI_QUIRK(0x1028, 0x05f4, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE), 4783 SND_PCI_QUIRK(0x1028, 0x05f4, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE),
4784 SND_PCI_QUIRK(0x1028, 0x05f5, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE), 4784 SND_PCI_QUIRK(0x1028, 0x05f5, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE),
4785 SND_PCI_QUIRK(0x1028, 0x05f6, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE), 4785 SND_PCI_QUIRK(0x1028, 0x05f6, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE),
4786 SND_PCI_QUIRK(0x1028, 0x0610, "Dell", ALC255_FIXUP_DELL_WMI_MIC_MUTE_LED),
4787 SND_PCI_QUIRK(0x1028, 0x0615, "Dell Vostro 5470", ALC290_FIXUP_SUBWOOFER_HSJACK), 4786 SND_PCI_QUIRK(0x1028, 0x0615, "Dell Vostro 5470", ALC290_FIXUP_SUBWOOFER_HSJACK),
4788 SND_PCI_QUIRK(0x1028, 0x0616, "Dell Vostro 5470", ALC290_FIXUP_SUBWOOFER_HSJACK), 4787 SND_PCI_QUIRK(0x1028, 0x0616, "Dell Vostro 5470", ALC290_FIXUP_SUBWOOFER_HSJACK),
4789 SND_PCI_QUIRK(0x1028, 0x061f, "Dell", ALC255_FIXUP_DELL_WMI_MIC_MUTE_LED),
4790 SND_PCI_QUIRK(0x1028, 0x0638, "Dell Inspiron 5439", ALC290_FIXUP_MONO_SPEAKERS_HSJACK), 4788 SND_PCI_QUIRK(0x1028, 0x0638, "Dell Inspiron 5439", ALC290_FIXUP_MONO_SPEAKERS_HSJACK),
4791 SND_PCI_QUIRK(0x1028, 0x064a, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE), 4789 SND_PCI_QUIRK(0x1028, 0x064a, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE),
4792 SND_PCI_QUIRK(0x1028, 0x064b, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE), 4790 SND_PCI_QUIRK(0x1028, 0x064b, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE),