[alsa-devel] [PATCH] hda-emu: Fixup ALC268 input amp on Beep node

Takashi Iwai tiwai at suse.de
Thu Aug 16 14:14:16 CEST 2012


At Thu, 16 Aug 2012 13:55:39 +0200,
David Henningsson wrote:
> 
> According to the ALC268 datasheet, there is actually an input amplifier
> on node 0x1d, even though this is not exposed in the codec proc file.
> 
> Signed-off-by: David Henningsson <david.henningsson at canonical.com>

Thanks, applied (after sorting the fixup_list item in the order of
codec id numbers).


Takashi

> ---
>  hda-spec.c |   15 +++++++++++++++
>  1 file changed, 15 insertions(+)
> 
> Relevant alsa info: alc268-toshiba-tecra-s11-m11--nvidia--ccert-201002-5346
> 
> diff --git a/hda-spec.c b/hda-spec.c
> index f1b03b4..dd43ee9 100644
> --- a/hda-spec.c
> +++ b/hda-spec.c
> @@ -386,6 +386,20 @@ static void fixup_via_mixer(struct xhda_codec *codec)
>  	node->node[node->num_nodes++] = 0x08;
>  }
>  
> +static void fixup_alc268_beep(struct xhda_codec *codec)
> +{
> +	struct xhda_node *node = find_node(codec, 0x1d);
> +	if (!node)
> +		return;
> +	node->wcaps |= (1 << 1);	/* AMP-in present */
> +
> +	node->amp_in_caps.ofs = 0x0c;
> +	node->amp_in_caps.nsteps = 0x0c;
> +	node->amp_in_caps.stepsize = 0x07;
> +	node->amp_in_caps.mute = 0;
> +	node->amp_in_caps.override = 1;
> +}
> +
>  struct fixup_list {
>  	unsigned int vendor_id;
>  	void (*func)(struct xhda_codec *);
> @@ -397,6 +411,7 @@ static struct fixup_list fixups[] = {
>  	{ 0x11060438, fixup_via_mixer },
>  	{ 0x11064438, fixup_via_mixer },
>  	{ 0x11060448, fixup_via_mixer },
> +	{ 0x10ec0268, fixup_alc268_beep },
>  	{ }
>  };
>  
> -- 
> 1.7.9.5
> 


More information about the Alsa-devel mailing list