summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2019-06-14 11:59:03 +0200
committerHans de Goede <hdegoede@redhat.com>2019-06-14 11:59:03 +0200
commitb5f5548ebd96a176fdb582fa5254b77fc0f177f3 (patch)
treead4dc9ddb5ef231e162226be4791ec48b3567ee8
parentc46dbbae2ec73e6400714ceb394deafc85abb559 (diff)
downloadkernel-b5f5548ebd96a176fdb582fa5254b77fc0f177f3.tar.gz
kernel-b5f5548ebd96a176fdb582fa5254b77fc0f177f3.tar.xz
kernel-b5f5548ebd96a176fdb582fa5254b77fc0f177f3.zip
Fix the LCD panel an Asus EeePC 1025C not lighting up (rhbz#1697069)
Add small bugfix for new Logitech wireless keyboard support
-rw-r--r--0001-HID-logitech-dj-Fix-forwarding-of-very-long-HID-repo.patch46
-rw-r--r--0001-platform-x86-asus-wmi-Only-Tell-EC-the-OS-will-handl.patch106
-rw-r--r--kernel.spec10
3 files changed, 162 insertions, 0 deletions
diff --git a/0001-HID-logitech-dj-Fix-forwarding-of-very-long-HID-repo.patch b/0001-HID-logitech-dj-Fix-forwarding-of-very-long-HID-repo.patch
new file mode 100644
index 000000000..8c4f90c06
--- /dev/null
+++ b/0001-HID-logitech-dj-Fix-forwarding-of-very-long-HID-repo.patch
@@ -0,0 +1,46 @@
+From 3b6df7e8130719b6bd83be241eb455f2aa862e9f Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede@redhat.com>
+Date: Fri, 14 Jun 2019 09:28:32 +0200
+Subject: [PATCH] HID: logitech-dj: Fix forwarding of very long HID++ reports
+
+The HID++ spec also defines very long HID++ reports, with a reportid of
+0x12. The MX5000 and MX5500 keyboards use 0x12 output reports for sending
+messages to display on their buildin LCD.
+
+Userspace (libmx5000) supports this, in order for this to work when talking
+to the HID devices instantiated for the keyboard by hid-logitech-dj,
+we need to properly forward these reports to the device.
+
+This commit fixes logi_dj_ll_raw_request not forwarding these reports.
+
+Fixes: f2113c3020ef ("HID: logitech-dj: add support for Logitech Bluetooth Mini-Receiver")
+Signed-off-by: Hans de Goede <hdegoede@redhat.com>
+---
+ drivers/hid/hid-logitech-dj.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/hid/hid-logitech-dj.c b/drivers/hid/hid-logitech-dj.c
+index 865b179d0a62..aedbe18182db 100644
+--- a/drivers/hid/hid-logitech-dj.c
++++ b/drivers/hid/hid-logitech-dj.c
+@@ -30,6 +30,7 @@
+
+ #define REPORT_ID_HIDPP_SHORT 0x10
+ #define REPORT_ID_HIDPP_LONG 0x11
++#define REPORT_ID_HIDPP_VERY_LONG 0x12
+
+ #define HIDPP_REPORT_SHORT_LENGTH 7
+ #define HIDPP_REPORT_LONG_LENGTH 20
+@@ -1242,7 +1243,8 @@ static int logi_dj_ll_raw_request(struct hid_device *hid,
+ int ret;
+
+ if ((buf[0] == REPORT_ID_HIDPP_SHORT) ||
+- (buf[0] == REPORT_ID_HIDPP_LONG)) {
++ (buf[0] == REPORT_ID_HIDPP_LONG) ||
++ (buf[0] == REPORT_ID_HIDPP_VERY_LONG)) {
+ if (count < 2)
+ return -EINVAL;
+
+--
+2.21.0
+
diff --git a/0001-platform-x86-asus-wmi-Only-Tell-EC-the-OS-will-handl.patch b/0001-platform-x86-asus-wmi-Only-Tell-EC-the-OS-will-handl.patch
new file mode 100644
index 000000000..d6195e56a
--- /dev/null
+++ b/0001-platform-x86-asus-wmi-Only-Tell-EC-the-OS-will-handl.patch
@@ -0,0 +1,106 @@
+From d004ab4e282082ddb645ff48d3f62a28fc5d69ef Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede@redhat.com>
+Date: Wed, 15 May 2019 12:27:23 +0200
+Subject: [PATCH] platform/x86: asus-wmi: Only Tell EC the OS will handle
+ display hotkeys from asus_nb_wmi
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Commit 78f3ac76d9e5 ("platform/x86: asus-wmi: Tell the EC the OS will
+handle the display off hotkey") causes the backlight to be permanently off
+on various EeePC laptop models using the eeepc-wmi driver (Asus EeePC
+1015BX, Asus EeePC 1025C).
+
+The asus_wmi_set_devstate(ASUS_WMI_DEVID_BACKLIGHT, 2, NULL) call added
+by that commit is made conditional in this commit and only enabled in
+the quirk_entry structs in the asus-nb-wmi driver fixing the broken
+display / backlight on various EeePC laptop models.
+
+Cc: João Paulo Rechi Vita <jprvita@endlessm.com>
+Fixes: 78f3ac76d9e5 ("platform/x86: asus-wmi: Tell the EC the OS will handle the display off hotkey")
+Signed-off-by: Hans de Goede <hdegoede@redhat.com>
+---
+ drivers/platform/x86/asus-nb-wmi.c | 8 ++++++++
+ drivers/platform/x86/asus-wmi.c | 2 +-
+ drivers/platform/x86/asus-wmi.h | 1 +
+ 3 files changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/platform/x86/asus-nb-wmi.c b/drivers/platform/x86/asus-nb-wmi.c
+index 81642102bf65..8d9e30dbb5af 100644
+--- a/drivers/platform/x86/asus-nb-wmi.c
++++ b/drivers/platform/x86/asus-nb-wmi.c
+@@ -65,10 +65,12 @@ static bool asus_q500a_i8042_filter(unsigned char data, unsigned char str,
+
+ static struct quirk_entry quirk_asus_unknown = {
+ .wapf = 0,
++ .wmi_backlight_set_devstate = true,
+ };
+
+ static struct quirk_entry quirk_asus_q500a = {
+ .i8042_filter = asus_q500a_i8042_filter,
++ .wmi_backlight_set_devstate = true,
+ };
+
+ /*
+@@ -79,26 +81,32 @@ static struct quirk_entry quirk_asus_q500a = {
+ static struct quirk_entry quirk_asus_x55u = {
+ .wapf = 4,
+ .wmi_backlight_power = true,
++ .wmi_backlight_set_devstate = true,
+ .no_display_toggle = true,
+ };
+
+ static struct quirk_entry quirk_asus_wapf4 = {
+ .wapf = 4,
++ .wmi_backlight_set_devstate = true,
+ };
+
+ static struct quirk_entry quirk_asus_x200ca = {
+ .wapf = 2,
++ .wmi_backlight_set_devstate = true,
+ };
+
+ static struct quirk_entry quirk_asus_ux303ub = {
+ .wmi_backlight_native = true,
++ .wmi_backlight_set_devstate = true,
+ };
+
+ static struct quirk_entry quirk_asus_x550lb = {
++ .wmi_backlight_set_devstate = true,
+ .xusb2pr = 0x01D9,
+ };
+
+ static struct quirk_entry quirk_asus_forceals = {
++ .wmi_backlight_set_devstate = true,
+ .wmi_force_als_set = true,
+ };
+
+diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c
+index 3e4336025e8f..9b18a184e0aa 100644
+--- a/drivers/platform/x86/asus-wmi.c
++++ b/drivers/platform/x86/asus-wmi.c
+@@ -2146,7 +2146,7 @@ static int asus_wmi_add(struct platform_device *pdev)
+ err = asus_wmi_backlight_init(asus);
+ if (err && err != -ENODEV)
+ goto fail_backlight;
+- } else
++ } else if (asus->driver->quirks->wmi_backlight_set_devstate)
+ err = asus_wmi_set_devstate(ASUS_WMI_DEVID_BACKLIGHT, 2, NULL);
+
+ if (asus_wmi_has_fnlock_key(asus)) {
+diff --git a/drivers/platform/x86/asus-wmi.h b/drivers/platform/x86/asus-wmi.h
+index 0930be770688..4f31b68642a0 100644
+--- a/drivers/platform/x86/asus-wmi.h
++++ b/drivers/platform/x86/asus-wmi.h
+@@ -31,6 +31,7 @@ struct quirk_entry {
+ bool store_backlight_power;
+ bool wmi_backlight_power;
+ bool wmi_backlight_native;
++ bool wmi_backlight_set_devstate;
+ bool wmi_force_als_set;
+ int wapf;
+ /*
+--
+2.21.0
+
diff --git a/kernel.spec b/kernel.spec
index 083c31143..7a78980de 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -583,6 +583,12 @@ Patch530: crypto-ghash-fix-unaligned-memory-access-in-ghash_setkey.patch
# https://patchwork.kernel.org/patch/10817377/
Patch532: usb-dwc2-Fix-DMA-cache-alignment-issues.patch
+# 1697069 LCD panel an Asus EeePC 1025C not lighting up, submitted upstream
+Patch533: 0001-platform-x86-asus-wmi-Only-Tell-EC-the-OS-will-handl.patch
+
+# Fix for new Logitech wireless keyboard support in 5.2, submitted upstream
+Patch534: 0001-HID-logitech-dj-Fix-forwarding-of-very-long-HID-repo.patch
+
# END OF PATCH DEFINITIONS
%endif
@@ -1821,6 +1827,10 @@ fi
#
#
%changelog
+* Fri Jun 14 2019 Hans de Goede <hdegoede@redhat.com>
+- Fix the LCD panel an Asus EeePC 1025C not lighting up (rhbz#1697069)
+- Add small bugfix for new Logitech wireless keyboard support
+
* Thu Jun 13 2019 Justin M. Forbes <jforbes@fedoraproject.org> - 5.2.0-0.rc4.git2.1
- Linux v5.2-rc4-45-gc11fb13a117e