aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2013-09-30 06:13:44 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-10-13 19:08:34 -0400
commit22c748d6172867030c228d4737fdef0e9713a125 (patch)
treef6af1bfebc943850f76837f31c08cec254917312
parentf60945fd5684f5773efd2d87d383f528056d6285 (diff)
ALSA: hda - Fix GPIO for Acer Aspire 3830TG
commit 4a4370442c996be0fd08234a167c8a127c2488bb upstream. Acer Aspire 3830TG seems requiring GPIO bit 0 as the primary mute control. When a machine is booted after Windows 8, the GPIO pin is turned off and it results in the silent output. This patch adds the manual fixup of GPIO bit 0 for this model. Reported-by: Christopher <DIDI2002@web.de> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--sound/pci/hda/patch_conexant.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_conexant.c b/sound/pci/hda/patch_conexant.c
index b314d3e6d7fa..c96e1945059d 100644
--- a/sound/pci/hda/patch_conexant.c
+++ b/sound/pci/hda/patch_conexant.c
@@ -3225,6 +3225,7 @@ enum {
3225 CXT_PINCFG_LEMOTE_A1205, 3225 CXT_PINCFG_LEMOTE_A1205,
3226 CXT_FIXUP_STEREO_DMIC, 3226 CXT_FIXUP_STEREO_DMIC,
3227 CXT_FIXUP_INC_MIC_BOOST, 3227 CXT_FIXUP_INC_MIC_BOOST,
3228 CXT_FIXUP_GPIO1,
3228}; 3229};
3229 3230
3230static void cxt_fixup_stereo_dmic(struct hda_codec *codec, 3231static void cxt_fixup_stereo_dmic(struct hda_codec *codec,
@@ -3303,6 +3304,15 @@ static const struct hda_fixup cxt_fixups[] = {
3303 .type = HDA_FIXUP_FUNC, 3304 .type = HDA_FIXUP_FUNC,
3304 .v.func = cxt5066_increase_mic_boost, 3305 .v.func = cxt5066_increase_mic_boost,
3305 }, 3306 },
3307 [CXT_FIXUP_GPIO1] = {
3308 .type = HDA_FIXUP_VERBS,
3309 .v.verbs = (const struct hda_verb[]) {
3310 { 0x01, AC_VERB_SET_GPIO_MASK, 0x01 },
3311 { 0x01, AC_VERB_SET_GPIO_DIRECTION, 0x01 },
3312 { 0x01, AC_VERB_SET_GPIO_DATA, 0x01 },
3313 { }
3314 },
3315 },
3306}; 3316};
3307 3317
3308static const struct snd_pci_quirk cxt5051_fixups[] = { 3318static const struct snd_pci_quirk cxt5051_fixups[] = {
@@ -3312,6 +3322,7 @@ static const struct snd_pci_quirk cxt5051_fixups[] = {
3312 3322
3313static const struct snd_pci_quirk cxt5066_fixups[] = { 3323static const struct snd_pci_quirk cxt5066_fixups[] = {
3314 SND_PCI_QUIRK(0x1025, 0x0543, "Acer Aspire One 522", CXT_FIXUP_STEREO_DMIC), 3324 SND_PCI_QUIRK(0x1025, 0x0543, "Acer Aspire One 522", CXT_FIXUP_STEREO_DMIC),
3325 SND_PCI_QUIRK(0x1025, 0x054c, "Acer Aspire 3830TG", CXT_FIXUP_GPIO1),
3315 SND_PCI_QUIRK(0x17aa, 0x20f2, "Lenovo T400", CXT_PINCFG_LENOVO_TP410), 3326 SND_PCI_QUIRK(0x17aa, 0x20f2, "Lenovo T400", CXT_PINCFG_LENOVO_TP410),
3316 SND_PCI_QUIRK(0x17aa, 0x215e, "Lenovo T410", CXT_PINCFG_LENOVO_TP410), 3327 SND_PCI_QUIRK(0x17aa, 0x215e, "Lenovo T410", CXT_PINCFG_LENOVO_TP410),
3317 SND_PCI_QUIRK(0x17aa, 0x215f, "Lenovo T510", CXT_PINCFG_LENOVO_TP410), 3328 SND_PCI_QUIRK(0x17aa, 0x215f, "Lenovo T510", CXT_PINCFG_LENOVO_TP410),