|
@@ -379,6 +379,7 @@ static void alc_fill_eapd_coef(struct hda_codec *codec)
|
|
|
break;
|
|
|
case 0x10ec0899:
|
|
|
case 0x10ec0900:
|
|
|
+ case 0x10ec1168:
|
|
|
case 0x10ec1220:
|
|
|
alc_update_coef_idx(codec, 0x7, 1<<1, 0);
|
|
|
break;
|
|
@@ -5179,6 +5180,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 +5964,18 @@ static const struct hda_fixup alc269_fixups[] = {
|
|
|
.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 },
|
|
|
+ { }
|
|
|
+ },
|
|
|
+ },
|
|
|
};
|
|
|
|
|
|
static const struct snd_pci_quirk alc269_fixup_tbl[] = {
|
|
@@ -6143,6 +6157,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
|
|
|
SND_PCI_QUIRK(0x17aa, 0x2233, "Thinkpad", ALC292_FIXUP_TPT460),
|
|
|
SND_PCI_QUIRK(0x17aa, 0x30bb, "ThinkCentre AIO", ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY),
|
|
|
SND_PCI_QUIRK(0x17aa, 0x30e2, "ThinkCentre AIO", ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY),
|
|
|
+ SND_PCI_QUIRK(0x17aa, 0x310c, "ThinkCentre Station", ALC294_FIXUP_LENOVO_MIC_LOCATION),
|
|
|
SND_PCI_QUIRK(0x17aa, 0x3112, "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),
|
|
@@ -7801,6 +7816,7 @@ static const struct hda_device_id snd_hda_id_realtek[] = {
|
|
|
HDA_CODEC_ENTRY(0x10ec0892, "ALC892", patch_alc662),
|
|
|
HDA_CODEC_ENTRY(0x10ec0899, "ALC898", patch_alc882),
|
|
|
HDA_CODEC_ENTRY(0x10ec0900, "ALC1150", patch_alc882),
|
|
|
+ HDA_CODEC_ENTRY(0x10ec1168, "ALC1220", patch_alc882),
|
|
|
HDA_CODEC_ENTRY(0x10ec1220, "ALC1220", patch_alc882),
|
|
|
{} /* terminator */
|
|
|
};
|