| From 37c367ecdb9a01c9acc980e6e17913570a1788a7 Mon Sep 17 00:00:00 2001 |
| From: Takashi Iwai <tiwai@suse.de> |
| Date: Mon, 24 Feb 2014 15:23:10 +0100 |
| Subject: ALSA: hda - Add a fixup for HP Folio 13 mute LED |
| |
| From: Takashi Iwai <tiwai@suse.de> |
| |
| commit 37c367ecdb9a01c9acc980e6e17913570a1788a7 upstream. |
| |
| HP Folio 13 may have a broken BIOS that doesn't set up the mute LED |
| GPIO properly, and the driver guesses it wrongly, too. Add a new |
| fixup entry for setting the GPIO pin statically for this laptop. |
| |
| Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=70991 |
| Signed-off-by: Takashi Iwai <tiwai@suse.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| sound/pci/hda/patch_sigmatel.c | 20 ++++++++++++++++++++ |
| 1 file changed, 20 insertions(+) |
| |
| --- a/sound/pci/hda/patch_sigmatel.c |
| +++ b/sound/pci/hda/patch_sigmatel.c |
| @@ -98,6 +98,7 @@ enum { |
| STAC_92HD83XXX_HP_LED, |
| STAC_92HD83XXX_HP_INV_LED, |
| STAC_92HD83XXX_HP_MIC_LED, |
| + STAC_HP_LED_GPIO10, |
| STAC_92HD83XXX_HEADSET_JACK, |
| STAC_92HD83XXX_HP, |
| STAC_HP_ENVY_BASS, |
| @@ -2112,6 +2113,17 @@ static void stac92hd83xxx_fixup_hp_mic_l |
| } |
| } |
| |
| +static void stac92hd83xxx_fixup_hp_led_gpio10(struct hda_codec *codec, |
| + const struct hda_fixup *fix, int action) |
| +{ |
| + struct sigmatel_spec *spec = codec->spec; |
| + |
| + if (action == HDA_FIXUP_ACT_PRE_PROBE) { |
| + spec->gpio_led = 0x10; /* GPIO4 */ |
| + spec->default_polarity = 0; |
| + } |
| +} |
| + |
| static void stac92hd83xxx_fixup_headset_jack(struct hda_codec *codec, |
| const struct hda_fixup *fix, int action) |
| { |
| @@ -2606,6 +2618,12 @@ static const struct hda_fixup stac92hd83 |
| .chained = true, |
| .chain_id = STAC_92HD83XXX_HP, |
| }, |
| + [STAC_HP_LED_GPIO10] = { |
| + .type = HDA_FIXUP_FUNC, |
| + .v.func = stac92hd83xxx_fixup_hp_led_gpio10, |
| + .chained = true, |
| + .chain_id = STAC_92HD83XXX_HP, |
| + }, |
| [STAC_92HD83XXX_HEADSET_JACK] = { |
| .type = HDA_FIXUP_FUNC, |
| .v.func = stac92hd83xxx_fixup_headset_jack, |
| @@ -2684,6 +2702,8 @@ static const struct snd_pci_quirk stac92 |
| "HP", STAC_92HD83XXX_HP_cNB11_INTQUAD), |
| SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x1888, |
| "HP Envy Spectre", STAC_HP_ENVY_BASS), |
| + SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x1899, |
| + "HP Folio 13", STAC_HP_LED_GPIO10), |
| SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x18df, |
| "HP Folio", STAC_HP_BNB13_EQ), |
| SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x18F8, |