diff options
| author | Takashi Iwai <tiwai@suse.de> | 2020-05-14 18:05:33 +0200 | 
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2020-05-14 18:07:54 +0200 | 
| commit | b590b38ca305d6d7902ec7c4f7e273e0069f3bcc (patch) | |
| tree | 012d2ba9acebeac8daff3ebaae0fd6c41e37a02b | |
| parent | 1b94e59d30afecf18254ad413e953e7587645a20 (diff) | |
ALSA: hda/realtek - Limit int mic boost for Thinkpad T530
Lenovo Thinkpad T530 seems to have a sensitive internal mic capture
that needs to limit the mic boost like a few other Thinkpad models.
Although we may change the quirk for ALC269_FIXUP_LENOVO_DOCK, this
hits way too many other laptop models, so let's add a new fixup model
that limits the internal mic boost on top of the existing quirk and
apply to only T530.
BugLink: https://bugzilla.suse.com/show_bug.cgi?id=1171293
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20200514160533.10337-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
| -rw-r--r-- | sound/pci/hda/patch_realtek.c | 10 | 
1 files changed, 9 insertions, 1 deletions
| diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 4080b492ecc0..dc2302171a71 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -5969,6 +5969,7 @@ enum {  	ALC269_FIXUP_HP_LINE1_MIC1_LED,  	ALC269_FIXUP_INV_DMIC,  	ALC269_FIXUP_LENOVO_DOCK, +	ALC269_FIXUP_LENOVO_DOCK_LIMIT_BOOST,  	ALC269_FIXUP_NO_SHUTUP,  	ALC286_FIXUP_SONY_MIC_NO_PRESENCE,  	ALC269_FIXUP_PINCFG_NO_HP_TO_LINEOUT, @@ -6293,6 +6294,12 @@ static const struct hda_fixup alc269_fixups[] = {  		.chained = true,  		.chain_id = ALC269_FIXUP_PINCFG_NO_HP_TO_LINEOUT  	}, +	[ALC269_FIXUP_LENOVO_DOCK_LIMIT_BOOST] = { +		.type = HDA_FIXUP_FUNC, +		.v.func = alc269_fixup_limit_int_mic_boost, +		.chained = true, +		.chain_id = ALC269_FIXUP_LENOVO_DOCK, +	},  	[ALC269_FIXUP_PINCFG_NO_HP_TO_LINEOUT] = {  		.type = HDA_FIXUP_FUNC,  		.v.func = alc269_fixup_pincfg_no_hp_to_lineout, @@ -7476,7 +7483,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {  	SND_PCI_QUIRK(0x17aa, 0x21b8, "Thinkpad Edge 14", ALC269_FIXUP_SKU_IGNORE),  	SND_PCI_QUIRK(0x17aa, 0x21ca, "Thinkpad L412", ALC269_FIXUP_SKU_IGNORE),  	SND_PCI_QUIRK(0x17aa, 0x21e9, "Thinkpad Edge 15", ALC269_FIXUP_SKU_IGNORE), -	SND_PCI_QUIRK(0x17aa, 0x21f6, "Thinkpad T530", ALC269_FIXUP_LENOVO_DOCK), +	SND_PCI_QUIRK(0x17aa, 0x21f6, "Thinkpad T530", ALC269_FIXUP_LENOVO_DOCK_LIMIT_BOOST),  	SND_PCI_QUIRK(0x17aa, 0x21fa, "Thinkpad X230", ALC269_FIXUP_LENOVO_DOCK),  	SND_PCI_QUIRK(0x17aa, 0x21f3, "Thinkpad T430", ALC269_FIXUP_LENOVO_DOCK),  	SND_PCI_QUIRK(0x17aa, 0x21fb, "Thinkpad T430s", ALC269_FIXUP_LENOVO_DOCK), @@ -7615,6 +7622,7 @@ static const struct hda_model_fixup alc269_fixup_models[] = {  	{.id = ALC269_FIXUP_HEADSET_MODE, .name = "headset-mode"},  	{.id = ALC269_FIXUP_HEADSET_MODE_NO_HP_MIC, .name = "headset-mode-no-hp-mic"},  	{.id = ALC269_FIXUP_LENOVO_DOCK, .name = "lenovo-dock"}, +	{.id = ALC269_FIXUP_LENOVO_DOCK_LIMIT_BOOST, .name = "lenovo-dock-limit-boost"},  	{.id = ALC269_FIXUP_HP_GPIO_LED, .name = "hp-gpio-led"},  	{.id = ALC269_FIXUP_HP_DOCK_GPIO_MIC1_LED, .name = "hp-dock-gpio-mic1-led"},  	{.id = ALC269_FIXUP_DELL1_MIC_NO_PRESENCE, .name = "dell-headset-multi"}, | 
