| From 2a36c16efab254dd6017efeb35ad88ecc96f2328 Mon Sep 17 00:00:00 2001 |
| From: Hui Wang <hui.wang@canonical.com> |
| Date: Wed, 4 Sep 2019 13:53:27 +0800 |
| Subject: ALSA: hda/realtek - Fix the problem of two front mics on a ThinkCentre |
| |
| From: Hui Wang <hui.wang@canonical.com> |
| |
| commit 2a36c16efab254dd6017efeb35ad88ecc96f2328 upstream. |
| |
| This ThinkCentre machine has a new realtek codec alc222, it is not |
| in the support list, we add it in the realtek.c then this machine |
| can apply FIXUPs for the realtek codec. |
| |
| And this machine has two front mics which can't be handled |
| by PA so far, it uses the pin 0x18 and 0x19 as the front mics, as |
| a result the existing FIXUP ALC294_FIXUP_LENOVO_MIC_LOCATION doesn't |
| work on this machine. Fortunately another FIXUP |
| ALC283_FIXUP_HEADSET_MIC also can change the location for one of the |
| two mics on this machine. |
| |
| Link: https://lore.kernel.org/r/20190904055327.9883-1-hui.wang@canonical.com |
| Signed-off-by: Hui Wang <hui.wang@canonical.com> |
| Cc: <stable@vger.kernel.org> |
| Signed-off-by: Takashi Iwai <tiwai@suse.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| sound/pci/hda/patch_realtek.c | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| --- a/sound/pci/hda/patch_realtek.c |
| +++ b/sound/pci/hda/patch_realtek.c |
| @@ -6951,6 +6951,7 @@ static const struct snd_pci_quirk alc269 |
| SND_PCI_QUIRK(0x17aa, 0x312a, "ThinkCentre Station", ALC294_FIXUP_LENOVO_MIC_LOCATION), |
| SND_PCI_QUIRK(0x17aa, 0x312f, "ThinkCentre Station", ALC294_FIXUP_LENOVO_MIC_LOCATION), |
| SND_PCI_QUIRK(0x17aa, 0x313c, "ThinkCentre Station", ALC294_FIXUP_LENOVO_MIC_LOCATION), |
| + SND_PCI_QUIRK(0x17aa, 0x3151, "ThinkCentre Station", ALC283_FIXUP_HEADSET_MIC), |
| 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", ALC269_FIXUP_DMIC_THINKPAD_ACPI), |
| @@ -8813,6 +8814,7 @@ static int patch_alc680(struct hda_codec |
| static const struct hda_device_id snd_hda_id_realtek[] = { |
| HDA_CODEC_ENTRY(0x10ec0215, "ALC215", patch_alc269), |
| HDA_CODEC_ENTRY(0x10ec0221, "ALC221", patch_alc269), |
| + HDA_CODEC_ENTRY(0x10ec0222, "ALC222", patch_alc269), |
| HDA_CODEC_ENTRY(0x10ec0225, "ALC225", patch_alc269), |
| HDA_CODEC_ENTRY(0x10ec0231, "ALC231", patch_alc269), |
| HDA_CODEC_ENTRY(0x10ec0233, "ALC233", patch_alc269), |