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.
Cc: <email address hidden> Reported-by: Andrzej Mendel <email address hidden> Alsa-info: http://www.alsa-project.org/db/?f=3088f82a0cf977855f92af9db8ad406c04f71efa BugLink: https://bugs.launchpad.net/bugs/1529624 Signed-off-by: David Henningsson <email address hidden> --- sound/pci/hda/patch_realtek.c | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 3a89d82..2fdda51 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -4666,6 +4666,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, @@ -5103,6 +5104,12 @@ static const struct hda_fixup alc269_fixups[] = { .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[]) { @@ -5457,6 +5464,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = { 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), -- 1.9.1
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.
Cc: <email address hidden> www.alsa- project. org/db/ ?f=3088f82a0cf9 77855f92af9db8a d406c04f71efa /bugs.launchpad .net/bugs/ 1529624 pci/hda/ patch_realtek. c | 8 ++++++++
Reported-by: Andrzej Mendel <email address hidden>
Alsa-info: http://
BugLink: https:/
Signed-off-by: David Henningsson <email address hidden>
---
sound/
1 file changed, 8 insertions(+)
diff --git a/sound/ pci/hda/ patch_realtek. c b/sound/ pci/hda/ patch_realtek. c pci/hda/ patch_realtek. c pci/hda/ patch_realtek. c FIXUP_SUBWOOFER , FIXUP_SUBWOOFER _HSJACK, FIXUP_THINKPAD_ ACPI, FIXUP_DMIC_ THINKPAD_ ACPI, FIXUP_DELL1_ MIC_NO_ PRESENCE, FIXUP_DELL2_ MIC_NO_ PRESENCE, FIXUP_HEADSET_ MODE, thinkpad_ acpi, FIXUP_DMIC_ THINKPAD_ ACPI] = { FIXUP_THINKPAD_ ACPI, FIXUP_DELL1_ MIC_NO_ PRESENCE] = { QUIRK(0x17aa, 0x2226, "ThinkPad X250", ALC292_ FIXUP_TPT440_ DOCK), QUIRK(0x17aa, 0x2233, "Thinkpad", ALC293_ FIXUP_LENOVO_ SPK_NOISE) , QUIRK(0x17aa, 0x30bb, "ThinkCentre AIO", ALC233_ FIXUP_LENOVO_ LINE2_MIC_ HOTKEY) , QUIRK(0x17aa, 0x3902, "Lenovo E50-80", ALC269_ FIXUP_DMIC_ THINKPAD_ ACPI), QUIRK(0x17aa, 0x3977, "IdeaPad S210", ALC283_ FIXUP_INT_ MIC), QUIRK(0x17aa, 0x3978, "IdeaPad Y410P", ALC269_ FIXUP_NO_ SHUTUP) , QUIRK(0x17aa, 0x5013, "Thinkpad", ALC269_ FIXUP_LIMIT_ INT_MIC_ BOOST),
index 3a89d82..2fdda51 100644
--- a/sound/
+++ b/sound/
@@ -4666,6 +4666,7 @@ enum {
ALC290_
ALC290_
ALC269_
+ ALC269_
ALC255_
ALC255_
ALC255_
@@ -5103,6 +5104,12 @@ static const struct hda_fixup alc269_fixups[] = {
.type = HDA_FIXUP_FUNC,
.v.func = hda_fixup_
},
+ [ALC269_
+ .type = HDA_FIXUP_FUNC,
+ .v.func = alc_fixup_inv_dmic,
+ .chained = true,
+ .chain_id = ALC269_
+ },
[ALC255_
.type = HDA_FIXUP_PINS,
.v.pins = (const struct hda_pintbl[]) {
@@ -5457,6 +5464,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
SND_PCI_
SND_PCI_
SND_PCI_
+ SND_PCI_
SND_PCI_
SND_PCI_
SND_PCI_
--
1.9.1