diff options
Diffstat (limited to 'sound/pci/hda/patch_realtek.c')
| -rw-r--r-- | sound/pci/hda/patch_realtek.c | 16 | 
1 files changed, 16 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index cd6987b5c6d9..45d58fc1df39 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -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 */  };  | 
