diff options
Diffstat (limited to 'sound/pci/hda/patch_realtek.c')
| -rw-r--r-- | sound/pci/hda/patch_realtek.c | 12 | 
1 files changed, 11 insertions, 1 deletions
| diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 56a8f1876603..d9693ca9546f 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -1821,6 +1821,7 @@ enum {  	ALC889_FIXUP_IMAC91_VREF,  	ALC889_FIXUP_MBA11_VREF,  	ALC889_FIXUP_MBA21_VREF, +	ALC889_FIXUP_MP11_VREF,  	ALC882_FIXUP_INV_DMIC,  	ALC882_FIXUP_NO_PRIMARY_HP,  	ALC887_FIXUP_ASUS_BASS, @@ -2190,6 +2191,12 @@ static const struct hda_fixup alc882_fixups[] = {  		.chained = true,  		.chain_id = ALC889_FIXUP_MBP_VREF,  	}, +	[ALC889_FIXUP_MP11_VREF] = { +		.type = HDA_FIXUP_FUNC, +		.v.func = alc889_fixup_mba11_vref, +		.chained = true, +		.chain_id = ALC885_FIXUP_MACPRO_GPIO, +	},  	[ALC882_FIXUP_INV_DMIC] = {  		.type = HDA_FIXUP_FUNC,  		.v.func = alc_fixup_inv_dmic_0x12, @@ -2253,7 +2260,7 @@ static const struct snd_pci_quirk alc882_fixup_tbl[] = {  	SND_PCI_QUIRK(0x106b, 0x00a0, "MacBookPro 3,1", ALC889_FIXUP_MBP_VREF),  	SND_PCI_QUIRK(0x106b, 0x00a1, "Macbook", ALC889_FIXUP_MBP_VREF),  	SND_PCI_QUIRK(0x106b, 0x00a4, "MacbookPro 4,1", ALC889_FIXUP_MBP_VREF), -	SND_PCI_QUIRK(0x106b, 0x0c00, "Mac Pro", ALC885_FIXUP_MACPRO_GPIO), +	SND_PCI_QUIRK(0x106b, 0x0c00, "Mac Pro", ALC889_FIXUP_MP11_VREF),  	SND_PCI_QUIRK(0x106b, 0x1000, "iMac 24", ALC885_FIXUP_MACPRO_GPIO),  	SND_PCI_QUIRK(0x106b, 0x2800, "AppleTV", ALC885_FIXUP_MACPRO_GPIO),  	SND_PCI_QUIRK(0x106b, 0x2c00, "MacbookPro rev3", ALC889_FIXUP_MBP_VREF), @@ -4427,6 +4434,9 @@ static void alc269_fill_coef(struct hda_codec *codec)  	if (spec->codec_variant != ALC269_TYPE_ALC269VB)  		return; +	/* ALC271X doesn't seem to support these COEFs (bko#52181) */ +	if (!strcmp(codec->chip_name, "ALC271X")) +		return;  	if ((alc_get_coef0(codec) & 0x00ff) < 0x015) {  		alc_write_coef_idx(codec, 0xf, 0x960b); |