[alsa-devel] [PATCH 1/3] ALSA: HDA: Fix master control for Cirrus Logic 421X

Takashi Iwai tiwai at suse.de
Sun Jan 8 09:59:05 CET 2012


At Mon,  2 Jan 2012 12:40:15 +0100,
David Henningsson wrote:
> 
> The control name "HP/Speakers" is non-standard, and since there is
> only one DAC on this chip there is no need for a virtual master
> anyway.
> 
> Cc: stable at kernel.org
> Signed-off-by: David Henningsson <david.henningsson at canonical.com>

Thanks, applied all three patches.

BTW, do you have alsa-info.sh outputs of these codecs?
I thought CS4210 has multiple DACs, but I have no data here so far.


thanks,

Takashi

> ---
>  sound/pci/hda/patch_cirrus.c |   13 +------------
>  1 files changed, 1 insertions(+), 12 deletions(-)
> 
> diff --git a/sound/pci/hda/patch_cirrus.c b/sound/pci/hda/patch_cirrus.c
> index acfb645..9139558 100644
> --- a/sound/pci/hda/patch_cirrus.c
> +++ b/sound/pci/hda/patch_cirrus.c
> @@ -1779,30 +1779,19 @@ static int build_cs421x_output(struct hda_codec *codec)
>  	struct auto_pin_cfg *cfg = &spec->autocfg;
>  	struct snd_kcontrol *kctl;
>  	int err;
> -	char *name = "HP/Speakers";
> +	char *name = "Master";
>  
>  	fix_volume_caps(codec, dac);
> -	if (!spec->vmaster_sw) {
> -		err = add_vmaster(codec, dac);
> -		if (err < 0)
> -			return err;
> -	}
>  
>  	err = add_mute(codec, name, 0,
>  			HDA_COMPOSE_AMP_VAL(dac, 3, 0, HDA_OUTPUT), 0, &kctl);
>  	if (err < 0)
>  		return err;
> -	err = snd_ctl_add_slave(spec->vmaster_sw, kctl);
> -	if (err < 0)
> -		return err;
>  
>  	err = add_volume(codec, name, 0,
>  			HDA_COMPOSE_AMP_VAL(dac, 3, 0, HDA_OUTPUT), 0, &kctl);
>  	if (err < 0)
>  		return err;
> -	err = snd_ctl_add_slave(spec->vmaster_vol, kctl);
> -	if (err < 0)
> -		return err;
>  
>  	if (cfg->speaker_outs) {
>  		err = snd_hda_ctl_add(codec, 0,
> -- 
> 1.7.5.4
> 


More information about the Alsa-devel mailing list