[alsa-devel] VIA VT2021 Support

Paul Freeman alsa-dev at lists-in.noc4.net
Wed Jul 25 12:57:12 CEST 2012


>> 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 :)

> 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