]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.15-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 23 Jul 2023 12:55:32 +0000 (14:55 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 23 Jul 2023 12:55:32 +0000 (14:55 +0200)
added patches:
alsa-hda-realtek-add-quirk-for-clevo-ns70au.patch
alsa-hda-realtek-enable-mute-led-on-hp-laptop-15s-eq2xxx.patch
alsa-hda-realtek-remove-3k-pull-low-procedure.patch
series

queue-5.15/alsa-hda-realtek-add-quirk-for-clevo-ns70au.patch [new file with mode: 0644]
queue-5.15/alsa-hda-realtek-enable-mute-led-on-hp-laptop-15s-eq2xxx.patch [new file with mode: 0644]
queue-5.15/alsa-hda-realtek-remove-3k-pull-low-procedure.patch [new file with mode: 0644]
queue-5.15/series [new file with mode: 0644]

diff --git a/queue-5.15/alsa-hda-realtek-add-quirk-for-clevo-ns70au.patch b/queue-5.15/alsa-hda-realtek-add-quirk-for-clevo-ns70au.patch
new file mode 100644 (file)
index 0000000..d740600
--- /dev/null
@@ -0,0 +1,32 @@
+From c250ef8954eda2024c8861c36e9fc1b589481fe7 Mon Sep 17 00:00:00 2001
+From: Christoffer Sandberg <cs@tuxedo.de>
+Date: Tue, 18 Jul 2023 16:57:22 +0200
+Subject: ALSA: hda/realtek: Add quirk for Clevo NS70AU
+
+From: Christoffer Sandberg <cs@tuxedo.de>
+
+commit c250ef8954eda2024c8861c36e9fc1b589481fe7 upstream.
+
+Fixes headset detection on Clevo NS70AU.
+
+Co-developed-by: Werner Sembach <wse@tuxedocomputers.com>
+Signed-off-by: Werner Sembach <wse@tuxedocomputers.com>
+Signed-off-by: Christoffer Sandberg <cs@tuxedo.de>
+Cc: <stable@vger.kernel.org>
+Link: https://lore.kernel.org/r/20230718145722.10592-1-wse@tuxedocomputers.com
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ sound/pci/hda/patch_realtek.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -9207,6 +9207,7 @@ static const struct snd_pci_quirk alc269
+       SND_PCI_QUIRK(0x1558, 0x5157, "Clevo W517GU1", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
+       SND_PCI_QUIRK(0x1558, 0x51a1, "Clevo NS50MU", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
+       SND_PCI_QUIRK(0x1558, 0x51b1, "Clevo NS50AU", ALC256_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
++      SND_PCI_QUIRK(0x1558, 0x51b3, "Clevo NS70AU", ALC256_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
+       SND_PCI_QUIRK(0x1558, 0x5630, "Clevo NP50RNJS", ALC256_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
+       SND_PCI_QUIRK(0x1558, 0x70a1, "Clevo NB70T[HJK]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
+       SND_PCI_QUIRK(0x1558, 0x70b3, "Clevo NK70SB", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
diff --git a/queue-5.15/alsa-hda-realtek-enable-mute-led-on-hp-laptop-15s-eq2xxx.patch b/queue-5.15/alsa-hda-realtek-enable-mute-led-on-hp-laptop-15s-eq2xxx.patch
new file mode 100644 (file)
index 0000000..0c3c7a7
--- /dev/null
@@ -0,0 +1,73 @@
+From 0659400f18c0e6c0c69d74fe5d09e7f6fbbd52a2 Mon Sep 17 00:00:00 2001
+From: Luka Guzenko <l.guzenko@web.de>
+Date: Tue, 18 Jul 2023 18:12:41 +0200
+Subject: ALSA: hda/realtek: Enable Mute LED on HP Laptop 15s-eq2xxx
+
+From: Luka Guzenko <l.guzenko@web.de>
+
+commit 0659400f18c0e6c0c69d74fe5d09e7f6fbbd52a2 upstream.
+
+The HP Laptop 15s-eq2xxx uses ALC236 codec and controls the mute LED using
+COEF 0x07 index 1. No existing quirk covers this configuration.
+Adds a new quirk and enables it for the device.
+
+Signed-off-by: Luka Guzenko <l.guzenko@web.de>
+Cc: <stable@vger.kernel.org>
+Link: https://lore.kernel.org/r/20230718161241.393181-1-l.guzenko@web.de
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ sound/pci/hda/patch_realtek.c |   21 +++++++++++++++++++++
+ 1 file changed, 21 insertions(+)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -4617,6 +4617,21 @@ static void alc236_fixup_hp_mute_led_coe
+       }
+ }
++static void alc236_fixup_hp_mute_led_coefbit2(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_coef.idx = 0x07;
++              spec->mute_led_coef.mask = 1;
++              spec->mute_led_coef.on = 1;
++              spec->mute_led_coef.off = 0;
++              snd_hda_gen_add_mute_led_cdev(codec, coef_mute_led_set);
++      }
++}
++
+ /* turn on/off mic-mute LED per capture hook by coef bit */
+ static int coef_micmute_led_set(struct led_classdev *led_cdev,
+                               enum led_brightness brightness)
+@@ -6935,6 +6950,7 @@ enum {
+       ALC285_FIXUP_HP_GPIO_LED,
+       ALC285_FIXUP_HP_MUTE_LED,
+       ALC285_FIXUP_HP_SPECTRE_X360_MUTE_LED,
++      ALC236_FIXUP_HP_MUTE_LED_COEFBIT2,
+       ALC236_FIXUP_HP_GPIO_LED,
+       ALC236_FIXUP_HP_MUTE_LED,
+       ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF,
+@@ -8308,6 +8324,10 @@ static const struct hda_fixup alc269_fix
+               .type = HDA_FIXUP_FUNC,
+               .v.func = alc285_fixup_hp_spectre_x360_mute_led,
+       },
++      [ALC236_FIXUP_HP_MUTE_LED_COEFBIT2] = {
++          .type = HDA_FIXUP_FUNC,
++          .v.func = alc236_fixup_hp_mute_led_coefbit2,
++      },
+       [ALC236_FIXUP_HP_GPIO_LED] = {
+               .type = HDA_FIXUP_FUNC,
+               .v.func = alc236_fixup_hp_gpio_led,
+@@ -9068,6 +9088,7 @@ static const struct snd_pci_quirk alc269
+       SND_PCI_QUIRK(0x103c, 0x886d, "HP ZBook Fury 17.3 Inch G8 Mobile Workstation PC", ALC285_FIXUP_HP_GPIO_AMP_INIT),
+       SND_PCI_QUIRK(0x103c, 0x8870, "HP ZBook Fury 15.6 Inch G8 Mobile Workstation PC", ALC285_FIXUP_HP_GPIO_AMP_INIT),
+       SND_PCI_QUIRK(0x103c, 0x8873, "HP ZBook Studio 15.6 Inch G8 Mobile Workstation PC", ALC285_FIXUP_HP_GPIO_AMP_INIT),
++      SND_PCI_QUIRK(0x103c, 0x887a, "HP Laptop 15s-eq2xxx", ALC236_FIXUP_HP_MUTE_LED_COEFBIT2),
+       SND_PCI_QUIRK(0x103c, 0x888d, "HP ZBook Power 15.6 inch G8 Mobile Workstation PC", ALC236_FIXUP_HP_GPIO_LED),
+       SND_PCI_QUIRK(0x103c, 0x8895, "HP EliteBook 855 G8 Notebook PC", ALC285_FIXUP_HP_SPEAKERS_MICMUTE_LED),
+       SND_PCI_QUIRK(0x103c, 0x8896, "HP EliteBook 855 G8 Notebook PC", ALC285_FIXUP_HP_MUTE_LED),
diff --git a/queue-5.15/alsa-hda-realtek-remove-3k-pull-low-procedure.patch b/queue-5.15/alsa-hda-realtek-remove-3k-pull-low-procedure.patch
new file mode 100644 (file)
index 0000000..528d080
--- /dev/null
@@ -0,0 +1,66 @@
+From 69ea4c9d02b7947cdd612335a61cc1a02e544ccd Mon Sep 17 00:00:00 2001
+From: Kailang Yang <kailang@realtek.com>
+Date: Thu, 13 Jul 2023 15:57:13 +0800
+Subject: ALSA: hda/realtek - remove 3k pull low procedure
+
+From: Kailang Yang <kailang@realtek.com>
+
+commit 69ea4c9d02b7947cdd612335a61cc1a02e544ccd upstream.
+
+This was the ALC283 depop procedure.
+Maybe this procedure wasn't suitable with new codec.
+So, let us remove it. But HP 15z-fc000 must do 3k pull low. If it
+reboot with plugged headset,
+it will have errors show don't find codec error messages. Run 3k pull
+low will solve issues.
+So, let AMD chipset will run this for workarround.
+
+Fixes: 5aec98913095 ("ALSA: hda/realtek - ALC236 headset MIC recording issue")
+Signed-off-by: Kailang Yang <kailang@realtek.com>
+Cc: <stable@vger.kernel.org>
+Reported-by: Joseph C. Sible <josephcsible@gmail.com>
+Closes: https://lore.kernel.org/r/CABpewhE4REgn9RJZduuEU6Z_ijXNeQWnrxO1tg70Gkw=F8qNYg@mail.gmail.com/
+Link: https://lore.kernel.org/r/4678992299664babac4403d9978e7ba7@realtek.com
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ sound/pci/hda/patch_realtek.c |    7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -120,6 +120,7 @@ struct alc_spec {
+       unsigned int ultra_low_power:1;
+       unsigned int has_hs_key:1;
+       unsigned int no_internal_mic_pin:1;
++      unsigned int en_3kpull_low:1;
+       /* for PLL fix */
+       hda_nid_t pll_nid;
+@@ -3616,6 +3617,7 @@ static void alc256_shutup(struct hda_cod
+       if (!hp_pin)
+               hp_pin = 0x21;
++      alc_update_coefex_idx(codec, 0x57, 0x04, 0x0007, 0x1); /* Low power */
+       hp_pin_sense = snd_hda_jack_detect(codec, hp_pin);
+       if (hp_pin_sense)
+@@ -3632,8 +3634,7 @@ static void alc256_shutup(struct hda_cod
+       /* If disable 3k pulldown control for alc257, the Mic detection will not work correctly
+        * when booting with headset plugged. So skip setting it for the codec alc257
+        */
+-      if (codec->core.vendor_id != 0x10ec0236 &&
+-          codec->core.vendor_id != 0x10ec0257)
++      if (spec->en_3kpull_low)
+               alc_update_coef_idx(codec, 0x46, 0, 3 << 12);
+       if (!spec->no_shutup_pins)
+@@ -10146,6 +10147,8 @@ static int patch_alc269(struct hda_codec
+               spec->shutup = alc256_shutup;
+               spec->init_hook = alc256_init;
+               spec->gen.mixer_nid = 0; /* ALC256 does not have any loopback mixer path */
++              if (codec->bus->pci->vendor == PCI_VENDOR_ID_AMD)
++                      spec->en_3kpull_low = true;
+               break;
+       case 0x10ec0257:
+               spec->codec_variant = ALC269_TYPE_ALC257;
diff --git a/queue-5.15/series b/queue-5.15/series
new file mode 100644 (file)
index 0000000..23196d8
--- /dev/null
@@ -0,0 +1,3 @@
+alsa-hda-realtek-remove-3k-pull-low-procedure.patch
+alsa-hda-realtek-add-quirk-for-clevo-ns70au.patch
+alsa-hda-realtek-enable-mute-led-on-hp-laptop-15s-eq2xxx.patch