From: Lu Baolu <baolu.lu@linux.intel.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Ingo Molnar <mingo@redhat.com>
Cc: Mathias Nyman <mathias.nyman@linux.intel.com>,
tglx@linutronix.de, peterz@infradead.org,
linux-usb@vger.kernel.org, x86@kernel.org,
linux-kernel@vger.kernel.org, Lu Baolu <baolu.lu@linux.intel.com>
Subject: [PATCH v8 0/5] usb: early: add support for early printk through USB3 debug port
Date: Tue, 21 Mar 2017 16:01:28 +0800 [thread overview]
Message-ID: <1490083293-3792-1-git-send-email-baolu.lu@linux.intel.com> (raw)
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
next reply other threads:[~2017-03-21 8:02 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-21 8:01 Lu Baolu [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1490083293-3792-1-git-send-email-baolu.lu@linux.intel.com \
--to=baolu.lu@linux.intel.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=mathias.nyman@linux.intel.com \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).