ALSA: hda/realtek - Fixup mute led on HP Spectre x360
[ Upstream commit 7f783bd5e215a014a3c98df64bef24c2dc736def ] This patch adds the mute LED control for HP Spectre x360 Kabylake model. The mute LED is controlled via VREF bits on NID 0x1b, so we need a new fixup function. Note that this doesn't fix the other issues like the missing speaker output on the machine. They will be addressed by later patches. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=189331 Signed-off-by: Tom Briden <tom@decompile.me.uk> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
f41f00e95e
commit
9987bd101e
@ -3611,6 +3611,19 @@ static void alc269_fixup_hp_mute_led_mic2(struct hda_codec *codec,
|
||||
}
|
||||
}
|
||||
|
||||
static void alc269_fixup_hp_mute_led_mic3(struct hda_codec *codec,
|
||||
const struct hda_fixup *fix, int action)
|
||||
{
|
||||
struct alc_spec *spec = codec->spec;
|
||||
if (action == HDA_FIXUP_ACT_PRE_PROBE) {
|
||||
spec->mute_led_polarity = 0;
|
||||
spec->mute_led_nid = 0x1b;
|
||||
spec->gen.vmaster_mute.hook = alc269_fixup_mic_mute_hook;
|
||||
spec->gen.vmaster_mute_enum = 1;
|
||||
codec->power_filter = led_power_filter;
|
||||
}
|
||||
}
|
||||
|
||||
/* update LED status via GPIO */
|
||||
static void alc_update_gpio_led(struct hda_codec *codec, unsigned int mask,
|
||||
bool enabled)
|
||||
@ -5385,6 +5398,7 @@ enum {
|
||||
ALC269_FIXUP_HP_MUTE_LED,
|
||||
ALC269_FIXUP_HP_MUTE_LED_MIC1,
|
||||
ALC269_FIXUP_HP_MUTE_LED_MIC2,
|
||||
ALC269_FIXUP_HP_MUTE_LED_MIC3,
|
||||
ALC269_FIXUP_HP_GPIO_LED,
|
||||
ALC269_FIXUP_HP_GPIO_MIC1_LED,
|
||||
ALC269_FIXUP_HP_LINE1_MIC1_LED,
|
||||
@ -5648,6 +5662,10 @@ static const struct hda_fixup alc269_fixups[] = {
|
||||
.type = HDA_FIXUP_FUNC,
|
||||
.v.func = alc269_fixup_hp_mute_led_mic2,
|
||||
},
|
||||
[ALC269_FIXUP_HP_MUTE_LED_MIC3] = {
|
||||
.type = HDA_FIXUP_FUNC,
|
||||
.v.func = alc269_fixup_hp_mute_led_mic3,
|
||||
},
|
||||
[ALC269_FIXUP_HP_GPIO_LED] = {
|
||||
.type = HDA_FIXUP_FUNC,
|
||||
.v.func = alc269_fixup_hp_gpio_led,
|
||||
@ -6502,6 +6520,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
|
||||
SND_PCI_QUIRK(0x103c, 0x2337, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC1),
|
||||
SND_PCI_QUIRK(0x103c, 0x221c, "HP EliteBook 755 G2", ALC280_FIXUP_HP_HEADSET_MIC),
|
||||
SND_PCI_QUIRK(0x103c, 0x8256, "HP", ALC221_FIXUP_HP_FRONT_MIC),
|
||||
SND_PCI_QUIRK(0x103c, 0x827e, "HP x360", ALC269_FIXUP_HP_MUTE_LED_MIC3),
|
||||
SND_PCI_QUIRK(0x103c, 0x82bf, "HP", ALC221_FIXUP_HP_MIC_NO_PRESENCE),
|
||||
SND_PCI_QUIRK(0x103c, 0x82c0, "HP", ALC221_FIXUP_HP_MIC_NO_PRESENCE),
|
||||
SND_PCI_QUIRK(0x1043, 0x103e, "ASUS X540SA", ALC256_FIXUP_ASUS_MIC),
|
||||
|
Loading…
x
Reference in New Issue
Block a user