aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2010-05-11 02:36:29 -0400
committerTakashi Iwai <tiwai@suse.de>2010-05-11 02:36:29 -0400
commit26ebe0a28986f4845b2c5bea43ac5cc0b9f27f0a (patch)
tree58973f99d2f0286c177da07a7822db24c1fa53db
parent0ebf9e3692d640917fb792a7494d05e1f5b1058f (diff)
ALSA: hda - Fix mute-LED GPIO pin for HP dv series
Old HP dv series seem to use the GPIO pin 0 for controlling the mute LED although the pin is a large package, where the newer models use GPIO 3 in such a case. For fixing the regression from the previous kernels, set spec->gpio_led statically for these model quirks. Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--sound/pci/hda/patch_sigmatel.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c
index 12825aa03106..eb4ea3df5d84 100644
--- a/sound/pci/hda/patch_sigmatel.c
+++ b/sound/pci/hda/patch_sigmatel.c
@@ -4766,6 +4766,9 @@ static void set_hp_led_gpio(struct hda_codec *codec)
4766 struct sigmatel_spec *spec = codec->spec; 4766 struct sigmatel_spec *spec = codec->spec;
4767 unsigned int gpio; 4767 unsigned int gpio;
4768 4768
4769 if (spec->gpio_led)
4770 return;
4771
4769 gpio = snd_hda_param_read(codec, codec->afg, AC_PAR_GPIO_CAP); 4772 gpio = snd_hda_param_read(codec, codec->afg, AC_PAR_GPIO_CAP);
4770 gpio &= AC_GPIO_IO_COUNT; 4773 gpio &= AC_GPIO_IO_COUNT;
4771 if (gpio > 3) 4774 if (gpio > 3)
@@ -5683,11 +5686,13 @@ again:
5683 * detection. 5686 * detection.
5684 */ 5687 */
5685 spec->hp_detect = 1; 5688 spec->hp_detect = 1;
5689 spec->gpio_led = 0x01;
5686 break; 5690 break;
5687 case STAC_HP_HDX: 5691 case STAC_HP_HDX:
5688 spec->num_dmics = 1; 5692 spec->num_dmics = 1;
5689 spec->num_dmuxes = 1; 5693 spec->num_dmuxes = 1;
5690 spec->num_smuxes = 1; 5694 spec->num_smuxes = 1;
5695 spec->gpio_led = 0x08;
5691 break; 5696 break;
5692 } 5697 }
5693 5698