[alsa-devel] Bug: Conexant CX20588, Kernel 3.11, Win8 changes GPIO settings

Takashi Iwai tiwai at suse.de
Tue Oct 1 12:21:49 CEST 2013


At Mon, 30 Sep 2013 21:00:38 +0200,
Christopher K. wrote:
> 
> Works fine. Thanks for your support. I will now dive into the code to
> be able to send you a patch the next time something is wrong :)

OK, applied it now.

thanks,

Takashi

> 
> 
> Chris
> 
> On Mon, Sep 30, 2013 at 12:19 PM, Takashi Iwai <tiwai at suse.de> wrote:
> > At Fri, 27 Sep 2013 22:38:22 +0200,
> > Christopher wrote:
> >>
> >> I attached the alsa-info. This issue seems to be specific to the driver
> >> provided by Acer (with thx, equalizer etc.)
> >> Thanks for your help.
> >
> > Thanks.  Could you check whether the patch below works?
> >
> >
> > Takashi
> >
> > ---
> > From: Takashi Iwai <tiwai at suse.de>
> > Subject: [PATCH] ALSA: hda - Fix GPIO for Acer Aspire 3830TG
> >
> > 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 at web.de>
> > Cc: <stable at vger.kernel.org>
> > Signed-off-by: Takashi Iwai <tiwai at suse.de>
> > ---
> >  sound/pci/hda/patch_conexant.c | 11 +++++++++++
> >  1 file changed, 11 insertions(+)
> >
> > diff --git a/sound/pci/hda/patch_conexant.c b/sound/pci/hda/patch_conexant.c
> > index 4edd2d0..ec68eae 100644
> > --- a/sound/pci/hda/patch_conexant.c
> > +++ b/sound/pci/hda/patch_conexant.c
> > @@ -3231,6 +3231,7 @@ enum {
> >         CXT_FIXUP_INC_MIC_BOOST,
> >         CXT_FIXUP_HEADPHONE_MIC_PIN,
> >         CXT_FIXUP_HEADPHONE_MIC,
> > +       CXT_FIXUP_GPIO1,
> >  };
> >
> >  static void cxt_fixup_stereo_dmic(struct hda_codec *codec,
> > @@ -3375,6 +3376,15 @@ static const struct hda_fixup cxt_fixups[] = {
> >                 .type = HDA_FIXUP_FUNC,
> >                 .v.func = cxt_fixup_headphone_mic,
> >         },
> > +       [CXT_FIXUP_GPIO1] = {
> > +               .type = HDA_FIXUP_VERBS,
> > +               .v.verbs = (const struct hda_verb[]) {
> > +                       { 0x01, AC_VERB_SET_GPIO_MASK, 0x01 },
> > +                       { 0x01, AC_VERB_SET_GPIO_DIRECTION, 0x01 },
> > +                       { 0x01, AC_VERB_SET_GPIO_DATA, 0x01 },
> > +                       { }
> > +               },
> > +       },
> >  };
> >
> >  static const struct snd_pci_quirk cxt5051_fixups[] = {
> > @@ -3384,6 +3394,7 @@ static const struct snd_pci_quirk cxt5051_fixups[] = {
> >
> >  static const struct snd_pci_quirk cxt5066_fixups[] = {
> >         SND_PCI_QUIRK(0x1025, 0x0543, "Acer Aspire One 522", CXT_FIXUP_STEREO_DMIC),
> > +       SND_PCI_QUIRK(0x1025, 0x054c, "Acer Aspire 3830TG", CXT_FIXUP_GPIO1),
> >         SND_PCI_QUIRK(0x1043, 0x138d, "Asus", CXT_FIXUP_HEADPHONE_MIC_PIN),
> >         SND_PCI_QUIRK(0x17aa, 0x20f2, "Lenovo T400", CXT_PINCFG_LENOVO_TP410),
> >         SND_PCI_QUIRK(0x17aa, 0x215e, "Lenovo T410", CXT_PINCFG_LENOVO_TP410),
> > --
> > 1.8.4
> >
> 


More information about the Alsa-devel mailing list