[alsa-devel] [PATCH] Fix for Lenovo B50-70 inverted internal microphone bug.

Takashi Iwai tiwai at suse.de
Tue May 14 15:02:45 CEST 2019


On Mon, 13 May 2019 23:25:36 +0200,
MichaX2 Wadowski wrote:
> 
> Add patch for realtek codec in Lenovo B50-70.
> Bugzilla: https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/1524215
> 
> Signed-off-by: Michał Wadowski <wadosm at gmail.com>

Thanks for the patch.

Actually this seems problematic: the added PCI SSID (17aa:3978) does
already exist for Ideapad Y410P.  That is, we need to replace the
entry, not just adding.  The existing quirk is only about the noise
fix and it didn't seem help in a later kernel version, in anyway, so
it should be OK to replace with the new quirk.

Also, I wonder whether the existing quirk
ALC269_FIXUP_DMIC_THINKPAD_ACPI works on your device.  Could you check
it?


thanks,

Takashi


> ---
>  sound/pci/hda/patch_realtek.c | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> index 42cd3945e0de..36c18a5ba288 100644
> --- a/sound/pci/hda/patch_realtek.c
> +++ b/sound/pci/hda/patch_realtek.c
> @@ -5676,6 +5676,7 @@ enum {
>  	ALC233_FIXUP_EAPD_COEF_AND_MIC_NO_PRESENCE,
>  	ALC233_FIXUP_LENOVO_MULTI_CODECS,
>  	ALC233_FIXUP_ACER_HEADSET_MIC,
> +	ALC233_FIXUP_INV_DMIC,
>  	ALC294_FIXUP_LENOVO_MIC_LOCATION,
>  	ALC225_FIXUP_DELL_WYSE_MIC_NO_PRESENCE,
>  	ALC700_FIXUP_INTEL_REFERENCE,
> @@ -6384,6 +6385,10 @@ static const struct hda_fixup alc269_fixups[] = {
>  		.type = HDA_FIXUP_FUNC,
>  		.v.func = alc233_fixup_lenovo_line2_mic_hotkey,
>  	},
> +	[ALC233_FIXUP_INV_DMIC] = {
> +		.type = HDA_FIXUP_FUNC,
> +		.v.func = alc_fixup_inv_dmic,
> +	},
>  	[ALC255_FIXUP_DELL_SPK_NOISE] = {
>  		.type = HDA_FIXUP_FUNC,
>  		.v.func = alc_fixup_disable_aamix,
> @@ -6975,6 +6980,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
>  	SND_PCI_QUIRK(0x17aa, 0x313c, "ThinkCentre Station", ALC294_FIXUP_LENOVO_MIC_LOCATION),
>  	SND_PCI_QUIRK(0x17aa, 0x3902, "Lenovo E50-80", ALC269_FIXUP_DMIC_THINKPAD_ACPI),
>  	SND_PCI_QUIRK(0x17aa, 0x3977, "IdeaPad S210", ALC283_FIXUP_INT_MIC),
> +	SND_PCI_QUIRK(0x17aa, 0x3978, "Lenovo B50-70", ALC233_FIXUP_INV_DMIC),
>  	SND_PCI_QUIRK(0x17aa, 0x3978, "IdeaPad Y410P", ALC269_FIXUP_NO_SHUTUP),
>  	SND_PCI_QUIRK(0x17aa, 0x5013, "Thinkpad", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
>  	SND_PCI_QUIRK(0x17aa, 0x501a, "Thinkpad", ALC283_FIXUP_INT_MIC),
> @@ -7157,6 +7163,7 @@ static const struct hda_model_fixup alc269_fixup_models[] = {
>  	{.id = ALC256_FIXUP_ASUS_AIO_GPIO2, .name = "alc256-asus-aio"},
>  	{.id = ALC233_FIXUP_ASUS_MIC_NO_PRESENCE, .name = "alc233-asus"},
>  	{.id = ALC233_FIXUP_EAPD_COEF_AND_MIC_NO_PRESENCE, .name = "alc233-eapd"},
> +	{.id = ALC233_FIXUP_INV_DMIC, .name = "acl233-inv-dmic"},
>  	{.id = ALC294_FIXUP_LENOVO_MIC_LOCATION, .name = "alc294-lenovo-mic"},
>  	{.id = ALC225_FIXUP_DELL_WYSE_MIC_NO_PRESENCE, .name = "alc225-wyse"},
>  	{.id = ALC274_FIXUP_DELL_AIO_LINEOUT_VERB, .name = "alc274-dell-aio"},
> -- 
> 2.7.4
> 
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel at alsa-project.org
> https://mailman.alsa-project.org/mailman/listinfo/alsa-devel


More information about the Alsa-devel mailing list