mbox series

[RFC,v2,0/5] Improve USB Keyboard support for rpi3/rpi4

Message ID 20200630204751.68733-1-jason.wessel@windriver.com
Headers show
Series Improve USB Keyboard support for rpi3/rpi4 | expand

Message

Jason Wessel June 30, 2020, 8:47 p.m. UTC
v2: 
  - Minor cleanups to patches 1-3 based on prior review
  - Patch 4 & 5 are new to fix various xhchi crashes
    while having additional devices plugged in along with
    booting off the usb port.  The nonblocking mode turned
    out to be somewhat complex.

v1:

For testing this patch series, I did apply the USB patches for the
rpi4 board which had not been merged yet.  Once the rpi4 USB changes
are eventually merged the keyboard delay issues will show up and I
imagine this issue is already a problem for other boards. This series
does not depend on rpi4 patches as the changes are in the core USB
functions.

I am not entirely certain about the change to the common/usb.c which
is why this is an RFC.  I am not sure if there would be other side
effects to other USB drivers.  I did test with a number of usb modules
attached including storage, ethernet, serial, wifi, keyboard, and
mouse without any issues.

----------------------------------------------------------------
Jason Wessel (5):
      xhci: Add polling support for USB keyboards
      usb_kbd: Do not fail the keyboard if it does not have an interrupt pending
      common/usb.c: Work around keyboard reporting "USB device not accepting new address"
      xhci-ring.c: Add the poll_pend state to properly abort transactions
      xhci-ring: Fix crash when issuing "usb reset"

 common/usb.c                 |   9 +++---
 common/usb_kbd.c             |   4 ++-
 drivers/usb/host/xhci-ring.c | 123 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------
 drivers/usb/host/xhci.c      |  11 ++++----
 include/usb/xhci.h           |   5 ++--
 5 files changed, 113 insertions(+), 39 deletions(-)