linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v8 0/5] usb: early: add support for early printk through USB3 debug port
@ 2017-03-21  8:01 Lu Baolu
  2017-03-21  8:01 ` [PATCH v8 1/5] x86: add simple udelay calibration Lu Baolu
                   ` (5 more replies)
  0 siblings, 6 replies; 34+ messages in thread
From: Lu Baolu @ 2017-03-21  8:01 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Ingo Molnar
  Cc: Mathias Nyman, tglx, peterz, linux-usb, x86, linux-kernel, Lu Baolu

xHCI debug capability (DbC) is an optional but standalone
functionality provided by an xHCI host controller. With DbC
hardware initialized, the system will present a debug device
through the USB3 debug port (normally the first USB3 port).
The debug device is fully compliant with the USB framework
and provides the equivalent of a very high performance (USB3)
full-duplex serial link between the debug host and target.
The DbC functionality is independent of xHCI host.

This patch set adds support for early printk functionality
through a USB3 debug port by 1) initializing and enabling
the DbC hardware during early boot; 2) registering a boot
console to the system so that early printk messages can go
through the USB3 debug port. It also includes some lines
of changes in usb_debug driver so that it can be bound when
a USB3 debug device is enumerated.

---
Change log:

v7->v8:
  - refine the Kconfig help text.
  - cleanup the unnecessary USB_EARLY_PRINTK bool.
  - refine comments and trace messages in the driver.
  - update usb3-debug-port.rst after internal reivew.

v6->v7:
  - add a new patch "[PATCH 1/5] x86: add simple udelay
    calibration" to make udelay() work for early drivers.
  - [PATCH 2/5] usb: dbc: early driver for xhci debug capability
    - add a kernel thread to handle error cases, such as cable
      unplugging.
    - Fixed several code styles pointed out by Ingo.

v5->v6:
  - rebase the patches on top of the latest 4.10-rc4
  - run successfully in a 32-bit kernel
  - [PATCH 1/4]
    - remove ugly linebreaks to make code more readable
    - rename config names to make them consistency
    - move sleep-able ioremap() out of the lock area
    - rename reserved fields of register structures
    - make the vertical tabulation of struct fields consistent
  - [PATCH 2/4]
    - remove "#ifdef" in the generic code by creating proper
      wrappers in header file
  - [PATCH 3/4]
    - refine the title and commit message
  - [PATCH 4/4]
    - fix several typos and grammar errors in the document

v4->v5:
  - add raw_spin_lock to make xdbc_bulk_write() reentrant.

v3->v4:
  - Rename the document with .dst suffix.
  - Add the list of hardware that has been succesfuly
    tested on in the document.

v2->v3:
  - Removed spinlock usage.
  - Removed work queue usage.
  - Refined the user guide document.

v1->v2:
  - Refactor the duplicate code in xdbc_early_start() and
    xdbc_handle_external_reset().
  - Free resources when hardware not used any more.
  - Refine the user guide document.

Lu Baolu (5):
  x86: add simple udelay calibration
  usb: early: add driver for xhci debug capability
  x86: add support for earlyprintk via USB3 debug port
  usb: serial: add dbc debug device support to usb_debug
  usb: doc: add document for USB3 debug port usage

 Documentation/admin-guide/kernel-parameters.txt |    1 +
 Documentation/usb/usb3-debug-port.rst           |  100 +++
 arch/x86/Kconfig.debug                          |   23 +
 arch/x86/kernel/early_printk.c                  |    5 +
 arch/x86/kernel/setup.c                         |   26 +
 drivers/usb/Makefile                            |    2 +-
 drivers/usb/early/Makefile                      |    1 +
 drivers/usb/early/xhci-dbc.c                    | 1014 +++++++++++++++++++++++
 drivers/usb/early/xhci-dbc.h                    |  211 +++++
 drivers/usb/serial/usb_debug.c                  |   28 +-
 include/linux/usb/xhci-dbgp.h                   |   29 +
 11 files changed, 1436 insertions(+), 4 deletions(-)
 create mode 100644 Documentation/usb/usb3-debug-port.rst
 create mode 100644 drivers/usb/early/xhci-dbc.c
 create mode 100644 drivers/usb/early/xhci-dbc.h
 create mode 100644 include/linux/usb/xhci-dbgp.h

-- 
2.1.4

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

end of thread, other threads:[~2017-07-14  3:21 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-21  8:01 [PATCH v8 0/5] usb: early: add support for early printk through USB3 debug port Lu Baolu
2017-03-21  8:01 ` [PATCH v8 1/5] x86: add simple udelay calibration Lu Baolu
2017-03-21 12:19   ` [tip:x86/debug] x86/timers: Add " tip-bot for Lu Baolu
2017-05-24 16:56     ` Jan Kiszka
2017-05-25  0:49       ` Lu Baolu
2017-05-02 22:38   ` [PATCH v8 1/5] x86: add " Boris Ostrovsky
2017-05-05  5:41     ` Lu Baolu
2017-05-05 12:50       ` Boris Ostrovsky
2017-07-12  8:02         ` Dou Liyang
2017-07-13  1:17           ` Lu Baolu
2017-07-13  1:39             ` Dou Liyang
2017-07-13  3:00               ` Lu Baolu
2017-07-14  3:21                 ` Dou Liyang
2017-03-21  8:01 ` [PATCH v8 2/5] usb: early: add driver for xhci debug capability Lu Baolu
2017-03-21 12:19   ` [tip:x86/debug] usb/early: Add " tip-bot for Lu Baolu
2017-05-30 13:46   ` [PATCH v8 2/5] usb: early: add " Vlastimil Babka
2017-05-31  3:27     ` Lu Baolu
2017-05-31  6:24       ` Steven Rostedt
2017-06-01  3:35         ` Lu Baolu
2017-05-31  9:38       ` Vlastimil Babka
2017-06-01  3:37         ` Lu Baolu
2017-06-01  8:15           ` Vlastimil Babka
2017-06-01 12:25             ` Peter Zijlstra
2017-06-02  0:47               ` Steven Rostedt
2017-03-21  8:01 ` [PATCH v8 3/5] x86: add support for earlyprintk via USB3 debug port Lu Baolu
2017-03-21 12:20   ` [tip:x86/debug] x86/earlyprintk: Add " tip-bot for Lu Baolu
2017-03-21  8:01 ` [PATCH v8 4/5] usb: serial: add dbc debug device support to usb_debug Lu Baolu
2017-03-21 12:21   ` [tip:x86/debug] usb/serial: Add DBC " tip-bot for Lu Baolu
2017-03-21  8:01 ` [PATCH v8 5/5] usb: doc: add document for USB3 debug port usage Lu Baolu
2017-03-21 12:21   ` [tip:x86/debug] usb/doc: Add " tip-bot for Lu Baolu
2017-03-21 11:33 ` [PATCH v8 0/5] usb: early: add support for early printk through USB3 debug port Ingo Molnar
2017-03-21 12:27   ` Greg Kroah-Hartman
2017-03-21 12:46     ` Ingo Molnar
2017-03-22  2:23   ` Lu Baolu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).