[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