[alsa-devel] [PATCH 6/16] ALSA: VIA HDA: Fix independent headphone no sound issue

Takashi Iwai tiwai at suse.de
Mon Mar 21 13:04:46 CET 2011


At Mon, 21 Mar 2011 15:28:04 +0800,
Lydia Wang wrote:
> 
> From: Lydia Wang <lydiawang at viatech.com.cn>
> Subject: ALSA: VIA HDA: Fix independent headphone no sound issue.
> 
> Modify via_independent_hp_put() function to support VT1718S and VT1812 
> codecs, and fix independent headphone no sound issue.

This is also another issue that I'd like to fix before refactoring.
There are many complaints about the silent output on VT codecs...


Takashi

> 
> Signed-off-by: Lydia Wang <lydiawang at viatech.com.cn>
> ---
>  sound/pci/hda/patch_via.c |   13 +++++++++++--
>  1 file changed, 11 insertions(+), 2 deletions(-)
> 
> --- a/sound/pci/hda/patch_via.c
> +++ b/sound/pci/hda/patch_via.c
> @@ -740,8 +740,15 @@
>  	/* Get Independent Mode index of headphone pin widget */
>  	spec->hp_independent_mode = spec->hp_independent_mode_index == pinsel
>  		? 1 : 0;
> -	snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_CONNECT_SEL, pinsel);
> -
> +	if (spec->codec_type == VT1718S)
> +		snd_hda_codec_write(codec, nid, 0,
> +				    AC_VERB_SET_CONNECT_SEL, pinsel ? 2 : 0);
> +	else
> +		snd_hda_codec_write(codec, nid, 0,
> +				    AC_VERB_SET_CONNECT_SEL, pinsel);
> +	if (spec->codec_type == VT1812)
> +		snd_hda_codec_write(codec, 0x35, 0,
> +				    AC_VERB_SET_CONNECT_SEL, pinsel);
>  	if (spec->multiout.hp_nid && spec->multiout.hp_nid
>  	    != spec->multiout.dac_nids[HDA_FRONT])
>  		snd_hda_codec_setup_stream(codec, spec->multiout.hp_nid,
> @@ -761,6 +768,8 @@
>  		activate_ctl(codec, "Headphone Playback Switch",
>  			     spec->hp_independent_mode);
>  	}
> +	/* update jack power state */
> +	set_widgets_power_state(codec);
>  	return 0;
>  }
>  
> 


More information about the Alsa-devel mailing list