[SRU] [B/C/D/Unstable] [PATCH 0/1] Disable LPM for Raydium Touchscreens

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

[SRU] [B/C/D/Unstable] [PATCH 0/1] Disable LPM for Raydium Touchscreens

Kai-Heng Feng
BugLink: https://bugs.launchpad.net/bugs/1802248

[Impact]
Raydium touchscreens don't work on LPM capable platforms.

[Test]
Raydium touchscreens start to work with the patch.

[Fix]
Disable LPM for Raydium touchscreens.

[Regression Potential]
Low. Limits to specific Raydium touchscreens. Also, USB runtime PM
(SeletiveSuspend) still works, so disabling LPM doesn't really increase
power consumption.

Kai-Heng Feng (1):
  USB: quirks: Add no-lpm quirk for Raydium touchscreens

 drivers/usb/core/quirks.c | 5 +++++
 1 file changed, 5 insertions(+)

--
2.17.1


--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

[SRU] [Bionic] [PATCH 1/1] USB: quirks: Add no-lpm quirk for Raydium touchscreens

Kai-Heng Feng
BugLink: https://bugs.launchpad.net/bugs/1802248

Raydium USB touchscreen fails to set config if LPM is enabled:
[    2.030658] usb 1-8: New USB device found, idVendor=2386, idProduct=3119
[    2.030659] usb 1-8: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    2.030660] usb 1-8: Product: Raydium Touch System
[    2.030661] usb 1-8: Manufacturer: Raydium Corporation
[    7.132209] usb 1-8: can't set config #1, error -110

Same behavior can be observed on 2386:3114.

Raydium claims the touchscreen supports LPM under Windows, so I used
Microsoft USB Test Tools (MUTT) [1] to check its LPM status. MUTT shows
that the LPM doesn't work under Windows, either. So let's just disable LPM
for Raydium touchscreens.

[1] https://docs.microsoft.com/en-us/windows-hardware/drivers/usbcon/usb-test-tools

Signed-off-by: Kai-Heng Feng <[hidden email]>
Cc: stable <[hidden email]>
Signed-off-by: Greg Kroah-Hartman <[hidden email]>
(backported from commit deefd24228a172d1b27d4a9adbfd2cdacd60ae64 linux-next)
Signed-off-by: Kai-Heng Feng <[hidden email]>
---
 drivers/usb/core/quirks.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
index 7909262a715d..51f962d5a113 100644
--- a/drivers/usb/core/quirks.c
+++ b/drivers/usb/core/quirks.c
@@ -403,6 +403,11 @@ static const struct usb_device_id usb_quirk_list[] = {
  { USB_DEVICE(0x2040, 0x7200), .driver_info =
  USB_QUIRK_CONFIG_INTF_STRINGS },
 
+ /* Raydium Touchscreen */
+ { USB_DEVICE(0x2386, 0x3114), .driver_info = USB_QUIRK_NO_LPM },
+
+ { USB_DEVICE(0x2386, 0x3119), .driver_info = USB_QUIRK_NO_LPM },
+
  /* INTEL VALUE SSD */
  { USB_DEVICE(0x8086, 0xf1a5), .driver_info = USB_QUIRK_RESET_RESUME },
 
--
2.17.1


--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

[SRU] [C/D/Unstable] [PATCH 1/1] USB: quirks: Add no-lpm quirk for Raydium touchscreens

Kai-Heng Feng
In reply to this post by Kai-Heng Feng
BugLink: https://bugs.launchpad.net/bugs/1802248

Raydium USB touchscreen fails to set config if LPM is enabled:
[    2.030658] usb 1-8: New USB device found, idVendor=2386, idProduct=3119
[    2.030659] usb 1-8: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    2.030660] usb 1-8: Product: Raydium Touch System
[    2.030661] usb 1-8: Manufacturer: Raydium Corporation
[    7.132209] usb 1-8: can't set config #1, error -110

Same behavior can be observed on 2386:3114.

Raydium claims the touchscreen supports LPM under Windows, so I used
Microsoft USB Test Tools (MUTT) [1] to check its LPM status. MUTT shows
that the LPM doesn't work under Windows, either. So let's just disable LPM
for Raydium touchscreens.

[1] https://docs.microsoft.com/en-us/windows-hardware/drivers/usbcon/usb-test-tools

Signed-off-by: Kai-Heng Feng <[hidden email]>
Cc: stable <[hidden email]>
Signed-off-by: Greg Kroah-Hartman <[hidden email]>
(cherry picked from commit deefd24228a172d1b27d4a9adbfd2cdacd60ae64 linux-next)
Signed-off-by: Kai-Heng Feng <[hidden email]>
---
 drivers/usb/core/quirks.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
index 178d6c6063c0..99f525ac4b2e 100644
--- a/drivers/usb/core/quirks.c
+++ b/drivers/usb/core/quirks.c
@@ -411,6 +411,11 @@ static const struct usb_device_id usb_quirk_list[] = {
  { USB_DEVICE(0x2040, 0x7200), .driver_info =
  USB_QUIRK_CONFIG_INTF_STRINGS },
 
+ /* Raydium Touchscreen */
+ { USB_DEVICE(0x2386, 0x3114), .driver_info = USB_QUIRK_NO_LPM },
+
+ { USB_DEVICE(0x2386, 0x3119), .driver_info = USB_QUIRK_NO_LPM },
+
  /* DJI CineSSD */
  { USB_DEVICE(0x2ca3, 0x0031), .driver_info = USB_QUIRK_NO_LPM },
 
--
2.17.1


--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

ACK+APPLIED[U]: [SRU] [C/D/Unstable] [PATCH 1/1] USB: quirks: Add no-lpm quirk for Raydium touchscreens

Thadeu Lima de Souza Cascardo-3
Applied to unstable master branch.

Thanks.
Cascardo.

Acked-by: Thadeu Lima de Souza Cascardo <[hidden email]>
Applied-to: unstable/master

--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team