]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.19-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 17 Feb 2020 11:55:10 +0000 (12:55 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 17 Feb 2020 11:55:10 +0000 (12:55 +0100)
added patches:
alsa-hda-realtek-fix-silent-output-on-msi-gl73.patch
alsa-usb-audio-apply-sample-rate-quirk-for-audioengine-d1.patch
alsa-usb-audio-fix-uac2-3-effect-unit-parsing.patch
input-synaptics-enable-smbus-on-thinkpad-l470.patch
input-synaptics-remove-the-len0049-dmi-id-from-topbuttonpad-list.patch
input-synaptics-switch-t470s-to-rmi4-by-default.patch

queue-4.19/alsa-hda-realtek-fix-silent-output-on-msi-gl73.patch [new file with mode: 0644]
queue-4.19/alsa-usb-audio-apply-sample-rate-quirk-for-audioengine-d1.patch [new file with mode: 0644]
queue-4.19/alsa-usb-audio-fix-uac2-3-effect-unit-parsing.patch [new file with mode: 0644]
queue-4.19/input-synaptics-enable-smbus-on-thinkpad-l470.patch [new file with mode: 0644]
queue-4.19/input-synaptics-remove-the-len0049-dmi-id-from-topbuttonpad-list.patch [new file with mode: 0644]
queue-4.19/input-synaptics-switch-t470s-to-rmi4-by-default.patch [new file with mode: 0644]
queue-4.19/series

diff --git a/queue-4.19/alsa-hda-realtek-fix-silent-output-on-msi-gl73.patch b/queue-4.19/alsa-hda-realtek-fix-silent-output-on-msi-gl73.patch
new file mode 100644 (file)
index 0000000..a60cf9a
--- /dev/null
@@ -0,0 +1,33 @@
+From 7dafba3762d6c0083ded00a48f8c1a158bc86717 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Wed, 12 Feb 2020 09:10:47 +0100
+Subject: ALSA: hda/realtek - Fix silent output on MSI-GL73
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit 7dafba3762d6c0083ded00a48f8c1a158bc86717 upstream.
+
+MSI-GL73 laptop with ALC1220 codec requires a similar workaround for
+Clevo laptops to enforce the DAC/mixer connection path.  Set up a
+quirk entry for that.
+
+BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=204159
+Cc: <stable@vger.kernel.org>
+Link: https://lore.kernel.org/r/20200212081047.27727-1-tiwai@suse.de
+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
+@@ -2442,6 +2442,7 @@ static const struct snd_pci_quirk alc882
+       SND_PCI_QUIRK(0x1071, 0x8258, "Evesham Voyaeger", ALC882_FIXUP_EAPD),
+       SND_PCI_QUIRK(0x1458, 0xa002, "Gigabyte EP45-DS3/Z87X-UD3H", ALC889_FIXUP_FRONT_HP_NO_PRESENCE),
+       SND_PCI_QUIRK(0x1458, 0xa0b8, "Gigabyte AZ370-Gaming", ALC1220_FIXUP_GB_DUAL_CODECS),
++      SND_PCI_QUIRK(0x1462, 0x1276, "MSI-GL73", ALC1220_FIXUP_CLEVO_P950),
+       SND_PCI_QUIRK(0x1462, 0x7350, "MSI-7350", ALC889_FIXUP_CD),
+       SND_PCI_QUIRK(0x1462, 0xda57, "MSI Z270-Gaming", ALC1220_FIXUP_GB_DUAL_CODECS),
+       SND_PCI_QUIRK_VENDOR(0x1462, "MSI", ALC882_FIXUP_GPIO3),
diff --git a/queue-4.19/alsa-usb-audio-apply-sample-rate-quirk-for-audioengine-d1.patch b/queue-4.19/alsa-usb-audio-apply-sample-rate-quirk-for-audioengine-d1.patch
new file mode 100644 (file)
index 0000000..9ead73a
--- /dev/null
@@ -0,0 +1,47 @@
+From 93f9d1a4ac5930654c17412e3911b46ece73755a Mon Sep 17 00:00:00 2001
+From: Arvind Sankar <nivedita@alum.mit.edu>
+Date: Tue, 11 Feb 2020 11:22:35 -0500
+Subject: ALSA: usb-audio: Apply sample rate quirk for Audioengine D1
+
+From: Arvind Sankar <nivedita@alum.mit.edu>
+
+commit 93f9d1a4ac5930654c17412e3911b46ece73755a upstream.
+
+The Audioengine D1 (0x2912:0x30c8) does support reading the sample rate,
+but it returns the rate in byte-reversed order.
+
+When setting sampling rate, the driver produces these warning messages:
+[168840.944226] usb 3-2.2: current rate 4500480 is different from the runtime rate 44100
+[168854.930414] usb 3-2.2: current rate 8436480 is different from the runtime rate 48000
+[168905.185825] usb 3-2.1.2: current rate 30465 is different from the runtime rate 96000
+
+As can be seen from the hexadecimal conversion, the current rate read
+back is byte-reversed from the rate that was set.
+
+44100 == 0x00ac44, 4500480 == 0x44ac00
+48000 == 0x00bb80, 8436480 == 0x80bb00
+96000 == 0x017700,   30465 == 0x007701
+
+Rather than implementing a new quirk to reverse the order, just skip
+checking the rate to avoid spamming the log.
+
+Signed-off-by: Arvind Sankar <nivedita@alum.mit.edu>
+Cc: <stable@vger.kernel.org>
+Link: https://lore.kernel.org/r/20200211162235.1639889-1-nivedita@alum.mit.edu
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/usb/quirks.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/sound/usb/quirks.c
++++ b/sound/usb/quirks.c
+@@ -1182,6 +1182,7 @@ bool snd_usb_get_sample_rate_quirk(struc
+       case USB_ID(0x1395, 0x740a): /* Sennheiser DECT */
+       case USB_ID(0x1901, 0x0191): /* GE B850V3 CP2114 audio interface */
+       case USB_ID(0x21B4, 0x0081): /* AudioQuest DragonFly */
++      case USB_ID(0x2912, 0x30c8): /* Audioengine D1 */
+               return true;
+       }
diff --git a/queue-4.19/alsa-usb-audio-fix-uac2-3-effect-unit-parsing.patch b/queue-4.19/alsa-usb-audio-fix-uac2-3-effect-unit-parsing.patch
new file mode 100644 (file)
index 0000000..4caad8e
--- /dev/null
@@ -0,0 +1,84 @@
+From d75a170fd848f037a1e28893ad10be7a4c51f8a6 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Tue, 11 Feb 2020 17:05:21 +0100
+Subject: ALSA: usb-audio: Fix UAC2/3 effect unit parsing
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit d75a170fd848f037a1e28893ad10be7a4c51f8a6 upstream.
+
+We've got a regression report about M-Audio Fast Track C400 device,
+and the git bisection resulted in the commit e0ccdef92653 ("ALSA:
+usb-audio: Clean up check_input_term()").  This commit was about the
+rewrite of the input terminal parser, and it's not too obvious from
+the change what really broke.  The answer is: it's the interpretation
+of UAC2/3 effect units.
+
+In the original code, UAC2 effect unit is as if through UAC1
+processing unit because both UAC1 PU and UAC2/3 EU share the same
+number (0x07).  The old code went through a complex switch-case
+fallthrough, finally bailing out in the middle:
+
+  if (protocol == UAC_VERSION_2 &&
+      hdr[2] == UAC2_EFFECT_UNIT) {
+         /* UAC2/UAC1 unit IDs overlap here in an
+          * uncompatible way. Ignore this unit for now.
+          */
+         return 0;
+   }
+
+... and this special handling was missing in the new code; the new
+code treats UAC2/3 effect unit as if it were equivalent with the
+processing unit.
+
+Actually, the old code was too confusing.  The effect unit has an
+incompatible unit description with the processing unit, so we
+shouldn't have dealt with EU in the same way.
+
+This patch addresses the regression by changing the effect unit
+handling to the own parser function.  The own parser function makes
+the clear distinct with PU, so it improves the readability, too.
+
+The EU parser just sets the type and the id like the old kernels.
+Once when the proper effect unit support is added, we can revisit this
+parser function, but for now, let's keep this simple setup as is.
+
+Fixes: e0ccdef92653 ("ALSA: usb-audio: Clean up check_input_term()")
+Cc: <stable@vger.kernel.org>
+BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=206147
+Link: https://lore.kernel.org/r/20200211160521.31990-1-tiwai@suse.de
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/usb/mixer.c |   12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+--- a/sound/usb/mixer.c
++++ b/sound/usb/mixer.c
+@@ -912,6 +912,15 @@ static int parse_term_proc_unit(struct m
+       return 0;
+ }
++static int parse_term_effect_unit(struct mixer_build *state,
++                                struct usb_audio_term *term,
++                                void *p1, int id)
++{
++      term->type = UAC3_EFFECT_UNIT << 16; /* virtual type */
++      term->id = id;
++      return 0;
++}
++
+ static int parse_term_uac2_clock_source(struct mixer_build *state,
+                                       struct usb_audio_term *term,
+                                       void *p1, int id)
+@@ -996,8 +1005,7 @@ static int __check_input_term(struct mix
+                                                   UAC3_PROCESSING_UNIT);
+               case PTYPE(UAC_VERSION_2, UAC2_EFFECT_UNIT):
+               case PTYPE(UAC_VERSION_3, UAC3_EFFECT_UNIT):
+-                      return parse_term_proc_unit(state, term, p1, id,
+-                                                  UAC3_EFFECT_UNIT);
++                      return parse_term_effect_unit(state, term, p1, id);
+               case PTYPE(UAC_VERSION_1, UAC1_EXTENSION_UNIT):
+               case PTYPE(UAC_VERSION_2, UAC2_EXTENSION_UNIT_V2):
+               case PTYPE(UAC_VERSION_3, UAC3_EXTENSION_UNIT):
diff --git a/queue-4.19/input-synaptics-enable-smbus-on-thinkpad-l470.patch b/queue-4.19/input-synaptics-enable-smbus-on-thinkpad-l470.patch
new file mode 100644 (file)
index 0000000..e227142
--- /dev/null
@@ -0,0 +1,32 @@
+From b8a3d819f872e0a3a0a6db0dbbcd48071042fb98 Mon Sep 17 00:00:00 2001
+From: Gaurav Agrawal <agrawalgaurav@gnome.org>
+Date: Thu, 13 Feb 2020 17:06:10 -0800
+Subject: Input: synaptics - enable SMBus on ThinkPad L470
+
+From: Gaurav Agrawal <agrawalgaurav@gnome.org>
+
+commit b8a3d819f872e0a3a0a6db0dbbcd48071042fb98 upstream.
+
+Add touchpad LEN2044 to the list, as it is capable of working with
+psmouse.synaptics_intertouch=1
+
+Signed-off-by: Gaurav Agrawal <agrawalgaurav@gnome.org>
+Cc: stable@vger.kernel.org
+Link: https://lore.kernel.org/r/CADdtggVzVJq5gGNmFhKSz2MBwjTpdN5YVOdr4D3Hkkv=KZRc9g@mail.gmail.com
+Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/input/mouse/synaptics.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/input/mouse/synaptics.c
++++ b/drivers/input/mouse/synaptics.c
+@@ -183,6 +183,7 @@ static const char * const smbus_pnp_ids[
+       "LEN0097", /* X280 -> ALPS trackpoint */
+       "LEN009b", /* T580 */
+       "LEN200f", /* T450s */
++      "LEN2044", /* L470  */
+       "LEN2054", /* E480 */
+       "LEN2055", /* E580 */
+       "SYN3052", /* HP EliteBook 840 G4 */
diff --git a/queue-4.19/input-synaptics-remove-the-len0049-dmi-id-from-topbuttonpad-list.patch b/queue-4.19/input-synaptics-remove-the-len0049-dmi-id-from-topbuttonpad-list.patch
new file mode 100644 (file)
index 0000000..65a56d5
--- /dev/null
@@ -0,0 +1,44 @@
+From 5179a9dfa9440c1781816e2c9a183d1d2512dc61 Mon Sep 17 00:00:00 2001
+From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
+Date: Thu, 13 Feb 2020 17:07:47 -0800
+Subject: Input: synaptics - remove the LEN0049 dmi id from topbuttonpad list
+
+From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
+
+commit 5179a9dfa9440c1781816e2c9a183d1d2512dc61 upstream.
+
+The Yoga 11e is using LEN0049, but it doesn't have a trackstick.
+
+Thus, there is no need to create a software top buttons row.
+
+However, it seems that the device works under SMBus, so keep it as part
+of the smbus_pnp_ids.
+
+Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
+Cc: stable@vger.kernel.org
+Link: https://lore.kernel.org/r/20200115013023.9710-1-benjamin.tissoires@redhat.com
+Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/input/mouse/synaptics.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/input/mouse/synaptics.c
++++ b/drivers/input/mouse/synaptics.c
+@@ -149,7 +149,6 @@ static const char * const topbuttonpad_p
+       "LEN0042", /* Yoga */
+       "LEN0045",
+       "LEN0047",
+-      "LEN0049",
+       "LEN2000", /* S540 */
+       "LEN2001", /* Edge E431 */
+       "LEN2002", /* Edge E531 */
+@@ -169,6 +168,7 @@ static const char * const smbus_pnp_ids[
+       /* all of the topbuttonpad_pnp_ids are valid, we just add some extras */
+       "LEN0048", /* X1 Carbon 3 */
+       "LEN0046", /* X250 */
++      "LEN0049", /* Yoga 11e */
+       "LEN004a", /* W541 */
+       "LEN005b", /* P50 */
+       "LEN005e", /* T560 */
diff --git a/queue-4.19/input-synaptics-switch-t470s-to-rmi4-by-default.patch b/queue-4.19/input-synaptics-switch-t470s-to-rmi4-by-default.patch
new file mode 100644 (file)
index 0000000..c48c692
--- /dev/null
@@ -0,0 +1,32 @@
+From bf502391353b928e63096127e5fd8482080203f5 Mon Sep 17 00:00:00 2001
+From: Lyude Paul <lyude@redhat.com>
+Date: Thu, 13 Feb 2020 16:59:15 -0800
+Subject: Input: synaptics - switch T470s to RMI4 by default
+
+From: Lyude Paul <lyude@redhat.com>
+
+commit bf502391353b928e63096127e5fd8482080203f5 upstream.
+
+This supports RMI4 and everything seems to work, including the touchpad
+buttons. So, let's enable this by default.
+
+Signed-off-by: Lyude Paul <lyude@redhat.com>
+Cc: stable@vger.kernel.org
+Link: https://lore.kernel.org/r/20200204194322.112638-1-lyude@redhat.com
+Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/input/mouse/synaptics.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/input/mouse/synaptics.c
++++ b/drivers/input/mouse/synaptics.c
+@@ -172,6 +172,7 @@ static const char * const smbus_pnp_ids[
+       "LEN004a", /* W541 */
+       "LEN005b", /* P50 */
+       "LEN005e", /* T560 */
++      "LEN006c", /* T470s */
+       "LEN0071", /* T480 */
+       "LEN0072", /* X1 Carbon Gen 5 (2017) - Elan/ALPS trackpoint */
+       "LEN0073", /* X1 Carbon G5 (Elantech) */
index 4155db89074bd30f247acea206b2cfc5f2a6732a..b5183b875593c5dc635e0504b49765a850a0aa06 100644 (file)
@@ -1,2 +1,8 @@
+input-synaptics-switch-t470s-to-rmi4-by-default.patch
+input-synaptics-enable-smbus-on-thinkpad-l470.patch
+input-synaptics-remove-the-len0049-dmi-id-from-topbuttonpad-list.patch
+alsa-usb-audio-fix-uac2-3-effect-unit-parsing.patch
+alsa-hda-realtek-fix-silent-output-on-msi-gl73.patch
+alsa-usb-audio-apply-sample-rate-quirk-for-audioengine-d1.patch
 arm64-cpufeature-set-the-fp-simd-compat-hwcap-bits-p.patch
 arm64-nofpsmid-handle-tif_foreign_fpstate-flag-clean.patch