From: Greg Kroah-Hartman Date: Mon, 17 Feb 2020 11:55:10 +0000 (+0100) Subject: 4.19-stable patches X-Git-Tag: v4.19.105~38 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7b2d73aa5e91b2fceda8389739ca9e3ae91d02fe;p=thirdparty%2Fkernel%2Fstable-queue.git 4.19-stable patches 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 --- 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 index 00000000000..a60cf9a1486 --- /dev/null +++ b/queue-4.19/alsa-hda-realtek-fix-silent-output-on-msi-gl73.patch @@ -0,0 +1,33 @@ +From 7dafba3762d6c0083ded00a48f8c1a158bc86717 Mon Sep 17 00:00:00 2001 +From: Takashi Iwai +Date: Wed, 12 Feb 2020 09:10:47 +0100 +Subject: ALSA: hda/realtek - Fix silent output on MSI-GL73 + +From: Takashi Iwai + +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: +Link: https://lore.kernel.org/r/20200212081047.27727-1-tiwai@suse.de +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..9ead73a0528 --- /dev/null +++ b/queue-4.19/alsa-usb-audio-apply-sample-rate-quirk-for-audioengine-d1.patch @@ -0,0 +1,47 @@ +From 93f9d1a4ac5930654c17412e3911b46ece73755a Mon Sep 17 00:00:00 2001 +From: Arvind Sankar +Date: Tue, 11 Feb 2020 11:22:35 -0500 +Subject: ALSA: usb-audio: Apply sample rate quirk for Audioengine D1 + +From: Arvind Sankar + +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 +Cc: +Link: https://lore.kernel.org/r/20200211162235.1639889-1-nivedita@alum.mit.edu +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..4caad8e04ac --- /dev/null +++ b/queue-4.19/alsa-usb-audio-fix-uac2-3-effect-unit-parsing.patch @@ -0,0 +1,84 @@ +From d75a170fd848f037a1e28893ad10be7a4c51f8a6 Mon Sep 17 00:00:00 2001 +From: Takashi Iwai +Date: Tue, 11 Feb 2020 17:05:21 +0100 +Subject: ALSA: usb-audio: Fix UAC2/3 effect unit parsing + +From: Takashi Iwai + +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: +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 +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..e227142201c --- /dev/null +++ b/queue-4.19/input-synaptics-enable-smbus-on-thinkpad-l470.patch @@ -0,0 +1,32 @@ +From b8a3d819f872e0a3a0a6db0dbbcd48071042fb98 Mon Sep 17 00:00:00 2001 +From: Gaurav Agrawal +Date: Thu, 13 Feb 2020 17:06:10 -0800 +Subject: Input: synaptics - enable SMBus on ThinkPad L470 + +From: Gaurav Agrawal + +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 +Cc: stable@vger.kernel.org +Link: https://lore.kernel.org/r/CADdtggVzVJq5gGNmFhKSz2MBwjTpdN5YVOdr4D3Hkkv=KZRc9g@mail.gmail.com +Signed-off-by: Dmitry Torokhov +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..65a56d50d19 --- /dev/null +++ b/queue-4.19/input-synaptics-remove-the-len0049-dmi-id-from-topbuttonpad-list.patch @@ -0,0 +1,44 @@ +From 5179a9dfa9440c1781816e2c9a183d1d2512dc61 Mon Sep 17 00:00:00 2001 +From: Benjamin Tissoires +Date: Thu, 13 Feb 2020 17:07:47 -0800 +Subject: Input: synaptics - remove the LEN0049 dmi id from topbuttonpad list + +From: Benjamin Tissoires + +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 +Cc: stable@vger.kernel.org +Link: https://lore.kernel.org/r/20200115013023.9710-1-benjamin.tissoires@redhat.com +Signed-off-by: Dmitry Torokhov +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..c48c6925849 --- /dev/null +++ b/queue-4.19/input-synaptics-switch-t470s-to-rmi4-by-default.patch @@ -0,0 +1,32 @@ +From bf502391353b928e63096127e5fd8482080203f5 Mon Sep 17 00:00:00 2001 +From: Lyude Paul +Date: Thu, 13 Feb 2020 16:59:15 -0800 +Subject: Input: synaptics - switch T470s to RMI4 by default + +From: Lyude Paul + +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 +Cc: stable@vger.kernel.org +Link: https://lore.kernel.org/r/20200204194322.112638-1-lyude@redhat.com +Signed-off-by: Dmitry Torokhov +Signed-off-by: Greg Kroah-Hartman + +--- + 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) */ diff --git a/queue-4.19/series b/queue-4.19/series index 4155db89074..b5183b87559 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -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