[alsa-devel] [PATCH] ALSA: hda - Fix powermap for external mics on IDT codecs

Takashi Iwai tiwai at suse.de
Mon Jan 28 11:33:54 CET 2013


At Mon, 28 Jan 2013 11:29:17 +0100,
David Henningsson wrote:
> 
> This patch fixes a regression of the external mic not working on
> HP Probook 4520s.
> 
> Signed-off-by: David Henningsson <david.henningsson at canonical.com>
> ---
>  sound/pci/hda/patch_sigmatel.c |    8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> This is why my external mic stopped working; I now had some time to track it down.
> Alsa-info at http://paste.ubuntu.com/1579993/

Thanks, applied.

I forgot that the input pins are also affected by the power map
control.


Takashi

> 
> diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c
> index 1c49861..951fc0d 100644
> --- a/sound/pci/hda/patch_sigmatel.c
> +++ b/sound/pci/hda/patch_sigmatel.c
> @@ -502,6 +502,13 @@ static void stac_line_automute(struct hda_codec *codec,
>  	jack_update_power(codec, jack);
>  }
>  
> +static void stac_mic_autoswitch(struct hda_codec *codec,
> +				struct hda_jack_tbl *jack)
> +{
> +	snd_hda_gen_mic_autoswitch(codec, jack);
> +	jack_update_power(codec, jack);
> +}
> +
>  static void stac_vref_event(struct hda_codec *codec, struct hda_jack_tbl *event)
>  {
>  	unsigned int data;
> @@ -3509,6 +3516,7 @@ static int stac_parse_auto_config(struct hda_codec *codec)
>  	spec->gen.automute_hook = stac_update_outputs;
>  	spec->gen.hp_automute_hook = stac_hp_automute;
>  	spec->gen.line_automute_hook = stac_line_automute;
> +	spec->gen.mic_autoswitch_hook = stac_mic_autoswitch;
>  
>  	err = snd_hda_gen_parse_auto_config(codec, &spec->gen.autocfg);
>  	if (err < 0)
> -- 
> 1.7.9.5
> 


More information about the Alsa-devel mailing list