From patchwork Tue Jun 30 20:47:46 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jason Wessel X-Patchwork-Id: 243151 List-Id: U-Boot discussion From: jason.wessel at windriver.com (Jason Wessel) Date: Tue, 30 Jun 2020 13:47:46 -0700 Subject: [RFC PATCH v2 0/5] Improve USB Keyboard support for rpi3/rpi4 Message-ID: <20200630204751.68733-1-jason.wessel@windriver.com> 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(-)