[alsa-devel] VIA VT2021 Support
Takashi Iwai
tiwai at suse.de
Wed Jul 25 14:14:57 CEST 2012
At Wed, 25 Jul 2012 11:57:12 +0100,
Paul Freeman wrote:
>
> >> seems the list's SPAM filter thought the message including full
> >> alsa-info.sh output was to large.. so resorting so pastebin
> >> http://pastebin.com/7iSFm3mp
> >
> > Thanks. Actually VT2021 is identical with VT2020 from the spec POV,
> > so it should be fully supported.
> >
> > The lack of the headphone output is because of the wrong power state
> > handling. The patch below should fix the issue. Give it a try.
> >
> > If it still doesn't and the node 0x0b shows the power state D3, it
> > means that the jack detection doesn't work properly on your machine.
>
> this patch works perfectly, great :)
Thanks for testing. The patch is queued now.
Takashi
>
> > Takashi
> >
> > ---
> > diff --git a/sound/pci/hda/patch_via.c b/sound/pci/hda/patch_via.c
> > index 9064556..80d90cb 100644
> > --- a/sound/pci/hda/patch_via.c
> > +++ b/sound/pci/hda/patch_via.c
> > @@ -3226,7 +3226,7 @@ static void
> > set_widgets_power_state_vt1718S(struct hda_codec *codec)
> > {
> > struct via_spec *spec = codec->spec;
> > int imux_is_smixer;
> > - unsigned int parm;
> > + unsigned int parm, parm2;
> > /* MUX6 (1eh) = stereo mixer */
> > imux_is_smixer =
> > snd_hda_codec_read(codec, 0x1e, 0, AC_VERB_GET_CONNECT_SEL, 0x00)
> > == 5;
> > @@ -3249,7 +3249,7 @@ static void
> > set_widgets_power_state_vt1718S(struct hda_codec *codec)
> > parm = AC_PWRST_D3;
> > set_pin_power_state(codec, 0x27, &parm);
> > update_power_state(codec, 0x1a, parm);
> > - update_power_state(codec, 0xb, parm);
> > + parm2 = parm; /* for pin 0x0b */
> >
> > /* PW2 (26h), AOW2 (ah) */
> > parm = AC_PWRST_D3;
> > @@ -3264,6 +3264,9 @@ static void
> > set_widgets_power_state_vt1718S(struct hda_codec *codec)
> > if (!spec->hp_independent_mode) /* check for redirected HP */
> > set_pin_power_state(codec, 0x28, &parm);
> > update_power_state(codec, 0x8, parm);
> > + if (!spec->hp_independent_mode && parm2 != AC_PWRST_D3)
> > + parm = parm2;
> > + update_power_state(codec, 0xb, parm);
> > /* MW9 (21h), Mw2 (1ah), AOW0 (8h) */
> > update_power_state(codec, 0x21, imux_is_smixer ? AC_PWRST_D0 :
> > parm);
>
More information about the Alsa-devel
mailing list