| From 56f27013482c0803d978b667fe85de04ce9357cd Mon Sep 17 00:00:00 2001 |
| From: David Henningsson <david.henningsson@canonical.com> |
| Date: Mon, 11 Jan 2016 09:33:14 +0100 |
| Subject: ALSA: hda - Fixup inverted internal mic for Lenovo E50-80 |
| |
| From: David Henningsson <david.henningsson@canonical.com> |
| |
| commit 56f27013482c0803d978b667fe85de04ce9357cd upstream. |
| |
| Inform userspace that one channel of the internal mic has reversed |
| polarity, so it does not attempt to add both channels together and |
| end up with silence. |
| |
| Reported-by: Andrzej Mendel <andrzej.mendel@gmail.com> |
| Alsa-info: http://www.alsa-project.org/db/?f=3088f82a0cf977855f92af9db8ad406c04f71efa |
| BugLink: https://bugs.launchpad.net/bugs/1529624 |
| Signed-off-by: David Henningsson <david.henningsson@canonical.com> |
| Signed-off-by: Takashi Iwai <tiwai@suse.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| sound/pci/hda/patch_realtek.c | 8 ++++++++ |
| 1 file changed, 8 insertions(+) |
| |
| --- a/sound/pci/hda/patch_realtek.c |
| +++ b/sound/pci/hda/patch_realtek.c |
| @@ -4676,6 +4676,7 @@ enum { |
| ALC290_FIXUP_SUBWOOFER, |
| ALC290_FIXUP_SUBWOOFER_HSJACK, |
| ALC269_FIXUP_THINKPAD_ACPI, |
| + ALC269_FIXUP_DMIC_THINKPAD_ACPI, |
| ALC255_FIXUP_DELL1_MIC_NO_PRESENCE, |
| ALC255_FIXUP_DELL2_MIC_NO_PRESENCE, |
| ALC255_FIXUP_HEADSET_MODE, |
| @@ -5113,6 +5114,12 @@ static const struct hda_fixup alc269_fix |
| .type = HDA_FIXUP_FUNC, |
| .v.func = hda_fixup_thinkpad_acpi, |
| }, |
| + [ALC269_FIXUP_DMIC_THINKPAD_ACPI] = { |
| + .type = HDA_FIXUP_FUNC, |
| + .v.func = alc_fixup_inv_dmic, |
| + .chained = true, |
| + .chain_id = ALC269_FIXUP_THINKPAD_ACPI, |
| + }, |
| [ALC255_FIXUP_DELL1_MIC_NO_PRESENCE] = { |
| .type = HDA_FIXUP_PINS, |
| .v.pins = (const struct hda_pintbl[]) { |
| @@ -5467,6 +5474,7 @@ static const struct snd_pci_quirk alc269 |
| SND_PCI_QUIRK(0x17aa, 0x2226, "ThinkPad X250", ALC292_FIXUP_TPT440_DOCK), |
| SND_PCI_QUIRK(0x17aa, 0x2233, "Thinkpad", ALC293_FIXUP_LENOVO_SPK_NOISE), |
| SND_PCI_QUIRK(0x17aa, 0x30bb, "ThinkCentre AIO", ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY), |
| + 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, "IdeaPad Y410P", ALC269_FIXUP_NO_SHUTUP), |
| SND_PCI_QUIRK(0x17aa, 0x5013, "Thinkpad", ALC269_FIXUP_LIMIT_INT_MIC_BOOST), |