[alsa-devel] [PATCH] ALSA: hda/realtek - change the location for one of two front microphones

Takashi Iwai tiwai at suse.de
Fri Jul 7 08:11:38 CEST 2017


On Fri, 07 Jul 2017 06:08:29 +0200,
Hui Wang wrote:
> 
> On this Lenovo machine, there are two front mics, and both of them are
> assigned the same name "Mic", but pulseaudio can't support two mics
> with the same name, as a workaround, we change the location for one of
> them, then the driver will assign "Front Mic" and "Mic" for them.
> 
> Cc: stable at vger.kernel.org
> Signed-off-by: Hui Wang <hui.wang at canonical.com>
> ---
>  sound/pci/hda/patch_realtek.c | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> index cebf59e..a6c3ce0 100644
> --- a/sound/pci/hda/patch_realtek.c
> +++ b/sound/pci/hda/patch_realtek.c
> @@ -5179,6 +5179,7 @@ enum {
>  	ALC233_FIXUP_ASUS_MIC_NO_PRESENCE,
>  	ALC233_FIXUP_EAPD_COEF_AND_MIC_NO_PRESENCE,
>  	ALC233_FIXUP_LENOVO_MULTI_CODECS,
> +	ALC294_FIXUP_LENOVO_MIC_LOCATION,
>  };
>  
>  static const struct hda_fixup alc269_fixups[] = {
> @@ -5962,6 +5963,18 @@ enum {
>  		.type = HDA_FIXUP_FUNC,
>  		.v.func = alc233_alc662_fixup_lenovo_dual_codecs,
>  	},
> +	[ALC294_FIXUP_LENOVO_MIC_LOCATION] = {
> +		.type = HDA_FIXUP_PINS,
> +		.v.pins = (const struct hda_pintbl[]) {
> +			/* Change the mic location from front to right, otherwise there are
> +			   two front mics with the same name, pulseaudio can't handle them.
> +			   This is just a temporary workaround, after applying this fixup,
> +			   there will be one "Front Mic" and one "Mic" in this machine.
> +			 */
> +			{ 0x1a, 0x04a19040 },
> +			{ }
> +		},
> +	},

Doesn't this Lenovo device need other quirks like hotkey?
Just to be sure.


thanks,

Takashi


More information about the Alsa-devel mailing list