[alsa-devel] [PATCH 3/6] sound/pci/hda: fix record volume controls of CX20459 ("Venice")

Takashi Iwai tiwai at suse.de
Thu Apr 5 16:30:03 CEST 2012


At Thu, 05 Apr 2012 15:30:16 +0200,
Michael Karcher wrote:
> 
> The "input converter" widget of the CX20459 has only one input amplifier,
> expose that one as "Capture Volume/Capture Switch". The actual record
> source selection is already exposed through the separately installed
> input mux.
> 
> diff --git a/sound/pci/hda/patch_conexant.c b/sound/pci/hda/patch_conexant.c
> index 7d92aac..bd7e7ce 100644
> --- a/sound/pci/hda/patch_conexant.c
> +++ b/sound/pci/hda/patch_conexant.c
> @@ -798,10 +798,8 @@ static void cxt5045_hp_unsol_event(struct hda_codec *codec,
>  }
>  
>  static const struct snd_kcontrol_new cxt5045_mixers[] = {
> -	HDA_CODEC_VOLUME("Internal Mic Capture Volume", 0x1a, 0x01, HDA_INPUT),
> -	HDA_CODEC_MUTE("Internal Mic Capture Switch", 0x1a, 0x01, HDA_INPUT),
> -	HDA_CODEC_VOLUME("Mic Capture Volume", 0x1a, 0x02, HDA_INPUT),
> -	HDA_CODEC_MUTE("Mic Capture Switch", 0x1a, 0x02, HDA_INPUT),
> +	HDA_CODEC_VOLUME("Capture Volume", 0x1a, 0x00, HDA_INPUT),
> +	HDA_CODEC_MUTE("Capture Switch", 0x1a, 0x0, HDA_INPUT),
>  	HDA_CODEC_VOLUME("PCM Playback Volume", 0x17, 0x0, HDA_INPUT),
>  	HDA_CODEC_MUTE("PCM Playback Switch", 0x17, 0x0, HDA_INPUT),
>  	HDA_CODEC_VOLUME("Internal Mic Playback Volume", 0x17, 0x1, HDA_INPUT),
> @@ -822,27 +820,18 @@ static const struct snd_kcontrol_new cxt5045_mixers[] = {
>  };
>  
>  static const struct snd_kcontrol_new cxt5045_benq_mixers[] = {
> -	HDA_CODEC_VOLUME("CD Capture Volume", 0x1a, 0x04, HDA_INPUT),
> -	HDA_CODEC_MUTE("CD Capture Switch", 0x1a, 0x04, HDA_INPUT),
>  	HDA_CODEC_VOLUME("CD Playback Volume", 0x17, 0x4, HDA_INPUT),
>  	HDA_CODEC_MUTE("CD Playback Switch", 0x17, 0x4, HDA_INPUT),
>  
> -	HDA_CODEC_VOLUME("Line In Capture Volume", 0x1a, 0x03, HDA_INPUT),
> -	HDA_CODEC_MUTE("Line In Capture Switch", 0x1a, 0x03, HDA_INPUT),
>  	HDA_CODEC_VOLUME("Line In Playback Volume", 0x17, 0x3, HDA_INPUT),
>  	HDA_CODEC_MUTE("Line In Playback Switch", 0x17, 0x3, HDA_INPUT),
>  
> -	HDA_CODEC_VOLUME("Mixer Capture Volume", 0x1a, 0x0, HDA_INPUT),
> -	HDA_CODEC_MUTE("Mixer Capture Switch", 0x1a, 0x0, HDA_INPUT),
> -
>  	{}
>  };
>  
>  static const struct snd_kcontrol_new cxt5045_mixers_hp530[] = {
> -	HDA_CODEC_VOLUME("Internal Mic Capture Volume", 0x1a, 0x02, HDA_INPUT),
> -	HDA_CODEC_MUTE("Internal Mic Capture Switch", 0x1a, 0x02, HDA_INPUT),
> -	HDA_CODEC_VOLUME("Mic Capture Volume", 0x1a, 0x01, HDA_INPUT),
> -	HDA_CODEC_MUTE("Mic Capture Switch", 0x1a, 0x01, HDA_INPUT),
> +	HDA_CODEC_VOLUME("Capture Volume", 0x1a, 0x00, HDA_INPUT),
> +	HDA_CODEC_MUTE("Capture Switch", 0x1a, 0x0, HDA_INPUT),
>  	HDA_CODEC_VOLUME("PCM Playback Volume", 0x17, 0x0, HDA_INPUT),
>  	HDA_CODEC_MUTE("PCM Playback Switch", 0x17, 0x0, HDA_INPUT),
>  	HDA_CODEC_VOLUME("Internal Mic Playback Volume", 0x17, 0x2, HDA_INPUT),
> @@ -978,16 +967,8 @@ static const struct snd_kcontrol_new cxt5045_test_mixer[] = {
>  		.put = conexant_mux_enum_put,
>  	},
>  	/* Audio input controls */
> -	HDA_CODEC_VOLUME("Input-1 Volume", 0x1a, 0x0, HDA_INPUT),
> -	HDA_CODEC_MUTE("Input-1 Switch", 0x1a, 0x0, HDA_INPUT),
> -	HDA_CODEC_VOLUME("Input-2 Volume", 0x1a, 0x1, HDA_INPUT),
> -	HDA_CODEC_MUTE("Input-2 Switch", 0x1a, 0x1, HDA_INPUT),
> -	HDA_CODEC_VOLUME("Input-3 Volume", 0x1a, 0x2, HDA_INPUT),
> -	HDA_CODEC_MUTE("Input-3 Switch", 0x1a, 0x2, HDA_INPUT),
> -	HDA_CODEC_VOLUME("Input-4 Volume", 0x1a, 0x3, HDA_INPUT),
> -	HDA_CODEC_MUTE("Input-4 Switch", 0x1a, 0x3, HDA_INPUT),
> -	HDA_CODEC_VOLUME("Input-5 Volume", 0x1a, 0x4, HDA_INPUT),
> -	HDA_CODEC_MUTE("Input-5 Switch", 0x1a, 0x4, HDA_INPUT),
> +	HDA_CODEC_VOLUME("Capture Volume", 0x1a, 0x0, HDA_INPUT),
> +	HDA_CODEC_MUTE("Capture Switch", 0x1a, 0x0, HDA_INPUT),
>  	{ } /* end */
>  };

Looks good.


Takashi


More information about the Alsa-devel mailing list