[alsa-devel] Fix capture mixers of ALC662 models

Herton Ronaldo Krzesinski herton at mandriva.com.br
Wed Dec 19 17:45:32 CET 2007


Em Wednesday 19 December 2007 11:07:23 Takashi Iwai escreveu:
> At Tue, 18 Dec 2007 22:40:31 -0200,
>
> Herton Ronaldo Krzesinski wrote:
> > The below patches fixes capture mixers of ALC662 models. The first one
> > applies to current hg tree, the second one to Linus tree (2.6.24-rcX).
> >
> > The commit that added support for ASUS P701 eeepc also changed the
> > mixers of other ALC662 models, duplicating entries for the Capture
> > items, making them to not work anymore. This fixes it by removing
> > duplicated entries using where possible the common alc662_capture_mixer.
> > Also alc662_capture_mixer should use alc662* functions and not alc882
> > (I checked /proc/asound/card0/codec* on an eepc model and it's ok).
> >
> > Signed-off-by: Herton Ronaldo Krzesinski <herton at mandriva.com>
>
> Thanks for the patch.
> It's mostly OK, but the capture-related elements should be removed
> from alc662_base_mixer, too.
>
> Could you check the patch (against HG) below works even with
> model=6stack-dig?

Yes, works fine here, thanks.

>
>
> Takashi
>
> diff -r 6c70857ab613 pci/hda/patch_realtek.c
> --- a/pci/hda/patch_realtek.c	Wed Dec 19 15:37:49 2007 +0100
> +++ b/pci/hda/patch_realtek.c	Wed Dec 19 15:55:48 2007 +0100
> @@ -12335,18 +12335,6 @@ static struct snd_kcontrol_new alc662_ba
>  	HDA_CODEC_MUTE("Mic Playback Switch", 0xb, 0x0, HDA_INPUT),
>  	HDA_CODEC_VOLUME("Front Mic Playback Volume", 0xb, 0x01, HDA_INPUT),
>  	HDA_CODEC_MUTE("Front Mic Playback Switch", 0xb, 0x01, HDA_INPUT),
> -
> -	/* Capture mixer control */
> -	HDA_CODEC_VOLUME("Capture Volume", 0x09, 0x0, HDA_INPUT),
> -	HDA_CODEC_MUTE("Capture Switch", 0x09, 0x0, HDA_INPUT),
> -	{
> -		.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
> -		.name = "Capture Source",
> -		.count = 1,
> -		.info = alc_mux_enum_info,
> -		.get = alc_mux_enum_get,
> -		.put = alc_mux_enum_put,
> -	},
>  	{ } /* end */
>  };
>
> @@ -12364,17 +12352,6 @@ static struct snd_kcontrol_new alc662_3S
>  	HDA_CODEC_MUTE("Front Mic Playback Switch", 0x0b, 0x1, HDA_INPUT),
>  	HDA_CODEC_VOLUME("PC Speaker Playback Volume", 0x0b, 0x05, HDA_INPUT),
>  	HDA_CODEC_MUTE("PC Speaker Playback Switch", 0x0b, 0x05, HDA_INPUT),
> -	HDA_CODEC_VOLUME("Capture Volume", 0x09, 0x0, HDA_INPUT),
> -	HDA_CODEC_MUTE("Capture Switch", 0x09, 0x0, HDA_INPUT),
> -	{
> -		.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
> -		/* .name = "Capture Source", */
> -		.name = "Input Source",
> -		.count = 1,
> -		.info = alc662_mux_enum_info,
> -		.get = alc662_mux_enum_get,
> -		.put = alc662_mux_enum_put,
> -	},
>  	{ } /* end */
>  };
>
> @@ -12398,17 +12375,6 @@ static struct snd_kcontrol_new alc662_3S
>  	HDA_CODEC_MUTE("Front Mic Playback Switch", 0x0b, 0x1, HDA_INPUT),
>  	HDA_CODEC_VOLUME("PC Speaker Playback Volume", 0x0b, 0x05, HDA_INPUT),
>  	HDA_CODEC_MUTE("PC Speaker Playback Switch", 0x0b, 0x05, HDA_INPUT),
> -	HDA_CODEC_VOLUME("Capture Volume", 0x09, 0x0, HDA_INPUT),
> -	HDA_CODEC_MUTE("Capture Switch", 0x09, 0x0, HDA_INPUT),
> -	{
> -		.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
> -		/* .name = "Capture Source", */
> -		.name = "Input Source",
> -		.count = 1,
> -		.info = alc662_mux_enum_info,
> -		.get = alc662_mux_enum_get,
> -		.put = alc662_mux_enum_put,
> -	},
>  	{ } /* end */
>  };
>
> @@ -12422,17 +12388,6 @@ static struct snd_kcontrol_new alc662_le
>  	HDA_CODEC_MUTE("Line Playback Switch", 0x0b, 0x02, HDA_INPUT),
>  	HDA_CODEC_VOLUME("Mic Playback Volume", 0x0b, 0x1, HDA_INPUT),
>  	HDA_CODEC_MUTE("Mic Playback Switch", 0x0b, 0x1, HDA_INPUT),
> -	HDA_CODEC_VOLUME("Capture Volume", 0x09, 0x0, HDA_INPUT),
> -	HDA_CODEC_MUTE("Capture Switch", 0x09, 0x0, HDA_INPUT),
> -	{
> -		.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
> -		/* .name = "Capture Source", */
> -		.name = "Input Source",
> -		.count = 1,
> -		.info = alc662_mux_enum_info,
> -		.get = alc662_mux_enum_get,
> -		.put = alc662_mux_enum_put,
> -	},
>  	{ } /* end */
>  };
>
> @@ -12598,9 +12553,9 @@ static struct snd_kcontrol_new alc662_ca
>  		/* .name = "Capture Source", */
>  		.name = "Input Source",
>  		.count = 1,
> -		.info = alc882_mux_enum_info,
> -		.get = alc882_mux_enum_get,
> -		.put = alc882_mux_enum_put,
> +		.info = alc662_mux_enum_info,
> +		.get = alc662_mux_enum_get,
> +		.put = alc662_mux_enum_put,
>  	},
>  	{ } /* end */
>  };

--
[]'s
Herton


More information about the Alsa-devel mailing list