]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
fixes for 4.14
authorSasha Levin <sashal@kernel.org>
Wed, 2 Oct 2019 01:08:45 +0000 (21:08 -0400)
committerSasha Levin <sashal@kernel.org>
Wed, 2 Oct 2019 01:08:45 +0000 (21:08 -0400)
Signed-off-by: Sasha Levin <sashal@kernel.org>
queue-4.14/alsa-hda-realtek-fixup-mute-led-on-hp-spectre-x360.patch [new file with mode: 0644]
queue-4.14/series

diff --git a/queue-4.14/alsa-hda-realtek-fixup-mute-led-on-hp-spectre-x360.patch b/queue-4.14/alsa-hda-realtek-fixup-mute-led-on-hp-spectre-x360.patch
new file mode 100644 (file)
index 0000000..ddf429f
--- /dev/null
@@ -0,0 +1,78 @@
+From bae94a1daa215249e343bc48b48ead0f04009aab Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Sat, 25 Mar 2017 10:12:01 +0000
+Subject: ALSA: hda/realtek - Fixup mute led on HP Spectre x360
+
+From: Tom Briden <tom@decompile.me.uk>
+
+[ 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>
+---
+ sound/pci/hda/patch_realtek.c | 19 +++++++++++++++++++
+ 1 file changed, 19 insertions(+)
+
+diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
+index 4f35ac2606708..ab7bc7ebb7215 100644
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -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),
+-- 
+2.20.1
+
index 0e0cc5416bbbac69e2ef616576cc3e606abaa915..44309b0d51ea2cf8d52ab49ce307f8a27fb56235 100644 (file)
@@ -144,3 +144,4 @@ scsi-scsi_dh_rdac-zero-cdb-in-send_mode_select.patch
 printk-do-not-lose-last-line-in-kmsg-buffer-dump.patch
 ib-hfi1-define-variables-as-unsigned-long-to-fix-kasan-warning.patch
 randstruct-check-member-structs-in-is_pure_ops_struct.patch
+alsa-hda-realtek-fixup-mute-led-on-hp-spectre-x360.patch