All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/7] Add xHCI USB support
@ 2020-12-07  7:41 Patrick Rudolph
  2020-12-07  7:41 ` [PATCH v2 1/7] grub-core/bus/usb: Parse SuperSpeed companion descriptors Patrick Rudolph
                   ` (7 more replies)
  0 siblings, 8 replies; 12+ messages in thread
From: Patrick Rudolph @ 2020-12-07  7:41 UTC (permalink / raw)
  To: grub-devel; +Cc: Patrick Rudolph

Add basic support for xHCI USB controllers and non root xHCI hubs.
The motivation is to use this code on platforms that do not provide
user input by runtime services (like BIOS or UEFI platform) do.
This is the case when GRUB is used as coreboot payload for example.

The code is based on seabios implementation, but has been heavily
modified to match grubs internals.

Changes done in version 2:
 * Code cleanup
 * Code style fixes
 * Don't leak memory buffers
 * Compile without warnings
 * Add more defines
 * Add more helper functions
 * Don't assume a 1:1 virtual to physical mapping
 * Flush cachelines after writing buffers
 * Don't use hardcoded page size
 * Proper scratchpad register setup
 * xHCI bios ownership handoff

Changes done in version 3:
 * Several bug fixes for real hardware
 * Fixed a race condition detecting events, which doesn't appear on
   qemu based xHCI controllers
 * Don't accidently disable USB3.0 devices after first command
 * Support arbitrary protocol speed IDs
 * Coding style cleanup
 * Support for non root SuperSpeed hubs

Changes Tested:
 * Qemu system x86_64
   * virtual USB HID keyboard (usb-kbd)
   * virtual USB HID mass storage (usb-storage)
 * Intel C246 integrated xHCI (Supermicro X11SSH-F)
   * iKVM HID keyboard
   * USB3 HID mass storage (controller root port)
   * External USB HID keyboard

TODO:
 * Test on more hardware
 * Test on USB3 hubs
 * Support for USB 3.1 and USB 3.2 controllers

Patrick Rudolph (7):
  grub-core/bus/usb: Parse SuperSpeed companion descriptors
  usb: Add enum for xHCI
  usbtrans: Set default maximum packet size
  grub-core/bus/usb: Add function pointer for attach/detach events
  grub-core/bus/usb/usbhub: Add new private fields for xHCI controller
  grub-core/bus/usb: Add xhci support
  grub-core/bus/usb/usbhub: Add xHCI non root hub support

 Makefile.am                       |    2 +-
 grub-core/Makefile.core.def       |    7 +
 grub-core/bus/usb/ehci.c          |    2 +
 grub-core/bus/usb/ohci.c          |    2 +
 grub-core/bus/usb/serial/common.c |    2 +-
 grub-core/bus/usb/uhci.c          |    2 +
 grub-core/bus/usb/usb.c           |   44 +-
 grub-core/bus/usb/usbhub.c        |   95 +-
 grub-core/bus/usb/usbtrans.c      |    6 +-
 grub-core/bus/usb/xhci-pci.c      |  195 +++
 grub-core/bus/usb/xhci.c          | 2496 +++++++++++++++++++++++++++++
 grub-core/commands/usbtest.c      |    2 +-
 grub-core/disk/usbms.c            |    2 +-
 grub-core/term/usb_keyboard.c     |    2 +-
 include/grub/usb.h                |   18 +-
 include/grub/usbdesc.h            |   12 +-
 include/grub/usbtrans.h           |    4 +
 17 files changed, 2852 insertions(+), 41 deletions(-)
 create mode 100644 grub-core/bus/usb/xhci-pci.c
 create mode 100644 grub-core/bus/usb/xhci.c

-- 
2.26.2



^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2021-03-19  1:07 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-07  7:41 [PATCH v2 0/7] Add xHCI USB support Patrick Rudolph
2020-12-07  7:41 ` [PATCH v2 1/7] grub-core/bus/usb: Parse SuperSpeed companion descriptors Patrick Rudolph
2021-03-19  1:06   ` Glenn Washburn
2020-12-07  7:41 ` [PATCH v2 2/7] usb: Add enum for xHCI Patrick Rudolph
2020-12-07  7:41 ` [PATCH v2 3/7] usbtrans: Set default maximum packet size Patrick Rudolph
2020-12-07  7:41 ` [PATCH v2 4/7] grub-core/bus/usb: Add function pointer for attach/detach events Patrick Rudolph
2020-12-07  7:41 ` [PATCH v2 5/7] grub-core/bus/usb/usbhub: Add new private fields for xHCI controller Patrick Rudolph
2020-12-07  7:41 ` [PATCH v2 6/7] grub-core/bus/usb: Add xhci support Patrick Rudolph
2020-12-07  7:41 ` [PATCH v2 7/7] grub-core/bus/usb/usbhub: Add xHCI non root hub support Patrick Rudolph
2021-02-19 18:11 ` [PATCH v2 0/7] Add xHCI USB support Glenn Washburn
2021-02-24  6:46   ` Patrick Rudolph
2021-02-26 16:53     ` Glenn Washburn

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.