ALSA: hda - add quirks for mute LED on two HP machines
authorDavid Henningsson <david.henningsson@canonical.com>
Mon, 18 Feb 2013 10:41:55 +0000 (11:41 +0100)
committerTakashi Iwai <tiwai@suse.de>
Mon, 18 Feb 2013 10:46:46 +0000 (11:46 +0100)
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>
sound/pci/hda/patch_realtek.c

index 48c9d10301b7335b25907b652bc04e42e567866b..e575685cca999b6f05bfec1e8e54cbac74163fd5 100644 (file)
@@ -2726,6 +2726,18 @@ static void alc269_fixup_hp_mute_led(struct hda_codec *codec,
        }
 }
 
+static void alc269_fixup_hp_mute_led_mic1(struct hda_codec *codec,
+                               const struct hda_fixup *fix, int action)
+{
+       struct alc_spec *spec = codec->spec;
+       if (action == HDA_FIXUP_ACT_PRE_PROBE) {
+               spec->mute_led_polarity = 0;
+               spec->mute_led_nid = 0x18;
+               spec->gen.vmaster_mute.hook = alc269_fixup_mic_mute_hook;
+               spec->gen.vmaster_mute_enum = 1;
+       }
+}
+
 static void alc269_fixup_hp_mute_led_mic2(struct hda_codec *codec,
                                const struct hda_fixup *fix, int action)
 {
@@ -2771,6 +2783,7 @@ enum {
        ALC269VB_FIXUP_AMIC,
        ALC269VB_FIXUP_DMIC,
        ALC269_FIXUP_HP_MUTE_LED,
+       ALC269_FIXUP_HP_MUTE_LED_MIC1,
        ALC269_FIXUP_HP_MUTE_LED_MIC2,
        ALC269_FIXUP_INV_DMIC,
        ALC269_FIXUP_LENOVO_DOCK,
@@ -2903,6 +2916,10 @@ static const struct hda_fixup alc269_fixups[] = {
                .type = HDA_FIXUP_FUNC,
                .v.func = alc269_fixup_hp_mute_led,
        },
+       [ALC269_FIXUP_HP_MUTE_LED_MIC1] = {
+               .type = HDA_FIXUP_FUNC,
+               .v.func = alc269_fixup_hp_mute_led_mic1,
+       },
        [ALC269_FIXUP_HP_MUTE_LED_MIC2] = {
                .type = HDA_FIXUP_FUNC,
                .v.func = alc269_fixup_hp_mute_led_mic2,
@@ -2947,6 +2964,8 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
        SND_PCI_QUIRK(0x1025, 0x029b, "Acer 1810TZ", ALC269_FIXUP_INV_DMIC),
        SND_PCI_QUIRK(0x1025, 0x0349, "Acer AOD260", ALC269_FIXUP_INV_DMIC),
        SND_PCI_QUIRK(0x103c, 0x1586, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC2),
+       SND_PCI_QUIRK(0x103c, 0x1973, "HP Pavilion", ALC269_FIXUP_HP_MUTE_LED_MIC1),
+       SND_PCI_QUIRK(0x103c, 0x1983, "HP Pavilion", ALC269_FIXUP_HP_MUTE_LED_MIC1),
        SND_PCI_QUIRK_VENDOR(0x103c, "HP", ALC269_FIXUP_HP_MUTE_LED),
        SND_PCI_QUIRK(0x1043, 0x1427, "Asus Zenbook UX31E", ALC269VB_FIXUP_DMIC),
        SND_PCI_QUIRK(0x1043, 0x1517, "Asus Zenbook UX31A", ALC269VB_FIXUP_DMIC),