aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/patch_realtek.c
diff options
context:
space:
mode:
authorDavid Henningsson <david.henningsson@canonical.com>2013-02-18 05:41:55 -0500
committerTakashi Iwai <tiwai@suse.de>2013-02-18 05:46:46 -0500
commitd06ac14399a0af7e4da0c67cff30d30d7e02df46 (patch)
treef3c5fc0c75369811851d6da97e39ddcdcd125915 /sound/pci/hda/patch_realtek.c
parent4909a0caabb8b4352efcea223e58b86f8bc1f98b (diff)
ALSA: hda - add quirks for mute LED on two HP machines
These two machines have no mute LED string in BIOS. BugLink: https://bugs.launchpad.net/bugs/1128934 Tested-by: Tammy Yang <tammy.yang@canonical.com> Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda/patch_realtek.c')
-rw-r--r--sound/pci/hda/patch_realtek.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 48c9d10301b7..e575685cca99 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -2726,6 +2726,18 @@ static void alc269_fixup_hp_mute_led(struct hda_codec *codec,
2726 } 2726 }
2727} 2727}
2728 2728
2729static void alc269_fixup_hp_mute_led_mic1(struct hda_codec *codec,
2730 const struct hda_fixup *fix, int action)
2731{
2732 struct alc_spec *spec = codec->spec;
2733 if (action == HDA_FIXUP_ACT_PRE_PROBE) {
2734 spec->mute_led_polarity = 0;
2735 spec->mute_led_nid = 0x18;
2736 spec->gen.vmaster_mute.hook = alc269_fixup_mic_mute_hook;
2737 spec->gen.vmaster_mute_enum = 1;
2738 }
2739}
2740
2729static void alc269_fixup_hp_mute_led_mic2(struct hda_codec *codec, 2741static void alc269_fixup_hp_mute_led_mic2(struct hda_codec *codec,
2730 const struct hda_fixup *fix, int action) 2742 const struct hda_fixup *fix, int action)
2731{ 2743{
@@ -2771,6 +2783,7 @@ enum {
2771 ALC269VB_FIXUP_AMIC, 2783 ALC269VB_FIXUP_AMIC,
2772 ALC269VB_FIXUP_DMIC, 2784 ALC269VB_FIXUP_DMIC,
2773 ALC269_FIXUP_HP_MUTE_LED, 2785 ALC269_FIXUP_HP_MUTE_LED,
2786 ALC269_FIXUP_HP_MUTE_LED_MIC1,
2774 ALC269_FIXUP_HP_MUTE_LED_MIC2, 2787 ALC269_FIXUP_HP_MUTE_LED_MIC2,
2775 ALC269_FIXUP_INV_DMIC, 2788 ALC269_FIXUP_INV_DMIC,
2776 ALC269_FIXUP_LENOVO_DOCK, 2789 ALC269_FIXUP_LENOVO_DOCK,
@@ -2903,6 +2916,10 @@ static const struct hda_fixup alc269_fixups[] = {
2903 .type = HDA_FIXUP_FUNC, 2916 .type = HDA_FIXUP_FUNC,
2904 .v.func = alc269_fixup_hp_mute_led, 2917 .v.func = alc269_fixup_hp_mute_led,
2905 }, 2918 },
2919 [ALC269_FIXUP_HP_MUTE_LED_MIC1] = {
2920 .type = HDA_FIXUP_FUNC,
2921 .v.func = alc269_fixup_hp_mute_led_mic1,
2922 },
2906 [ALC269_FIXUP_HP_MUTE_LED_MIC2] = { 2923 [ALC269_FIXUP_HP_MUTE_LED_MIC2] = {
2907 .type = HDA_FIXUP_FUNC, 2924 .type = HDA_FIXUP_FUNC,
2908 .v.func = alc269_fixup_hp_mute_led_mic2, 2925 .v.func = alc269_fixup_hp_mute_led_mic2,
@@ -2947,6 +2964,8 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
2947 SND_PCI_QUIRK(0x1025, 0x029b, "Acer 1810TZ", ALC269_FIXUP_INV_DMIC), 2964 SND_PCI_QUIRK(0x1025, 0x029b, "Acer 1810TZ", ALC269_FIXUP_INV_DMIC),
2948 SND_PCI_QUIRK(0x1025, 0x0349, "Acer AOD260", ALC269_FIXUP_INV_DMIC), 2965 SND_PCI_QUIRK(0x1025, 0x0349, "Acer AOD260", ALC269_FIXUP_INV_DMIC),
2949 SND_PCI_QUIRK(0x103c, 0x1586, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC2), 2966 SND_PCI_QUIRK(0x103c, 0x1586, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC2),
2967 SND_PCI_QUIRK(0x103c, 0x1973, "HP Pavilion", ALC269_FIXUP_HP_MUTE_LED_MIC1),
2968 SND_PCI_QUIRK(0x103c, 0x1983, "HP Pavilion", ALC269_FIXUP_HP_MUTE_LED_MIC1),
2950 SND_PCI_QUIRK_VENDOR(0x103c, "HP", ALC269_FIXUP_HP_MUTE_LED), 2969 SND_PCI_QUIRK_VENDOR(0x103c, "HP", ALC269_FIXUP_HP_MUTE_LED),
2951 SND_PCI_QUIRK(0x1043, 0x1427, "Asus Zenbook UX31E", ALC269VB_FIXUP_DMIC), 2970 SND_PCI_QUIRK(0x1043, 0x1427, "Asus Zenbook UX31E", ALC269VB_FIXUP_DMIC),
2952 SND_PCI_QUIRK(0x1043, 0x1517, "Asus Zenbook UX31A", ALC269VB_FIXUP_DMIC), 2971 SND_PCI_QUIRK(0x1043, 0x1517, "Asus Zenbook UX31A", ALC269VB_FIXUP_DMIC),