Re: [PATCH v7 00/10] usb: early: add support for early printk through USB3 debug port

From: Lu Baolu
Date: Tue Feb 02 2016 - 09:34:43 EST




On 01/26/2016 08:58 PM, Lu Baolu wrote:
> Hi,
>
> This patch series adds support for early printk through USB3 debug port.
> USB3 debug port is described in xHCI specification as an optional extended
> capability.
>
> Patch 1 to 9 add the driver for xHCI debug capability. It interfaces with
> the register set and provides the required ops (read/write/control) to upper
> layers. Early printk is one consumer of these ops. The hooks for early printk
> are introduced in patch 8. This design is similar to what we have done in
> drivers/usb/early/ehci-dbgp.c.
>
> Patch 10 is the design document and user guide.
>
> Change log:
> v1->v2:
> (1) Patch 1 re-implemented. "debugfs" has been replaced with sysfs.
> The scope reduced from all extended capabilities to debug port
> specific.
> (2) Patch 11 changed. Removed unnecessary .bulk_out_size setting.
>
> v2->v3:
> (1) Patch 11 got acked by Johan Hovold.
>
> v3->v4:
> (1) Patch 1 code refactored by using xhci_find_ext_cap_by_id() helper.
> (2) Patch 3 "bus hung state" changed to "port hung state" in commit message.
> (3) Patch 12 added verified platform information.
>
> v4->v5:
> (1) Patch 1 & 3 code refactored by using xhci_find_next_ext_cap() helper.
> (2) Patch 12 updated with more user guide information.
> (3) All patches rebased to the new usb-next branch which contains commit
> d5ddcdf(xhci: rework xhci extended capability list parsing functions).
>
> v5->v6:
> (1) refresh the patches against 4.5-rc1.
> (2) change "usb: xhci: dbc" to "usb: dbc" in the patch titles as they
> are not part of xhci driver.
>
> v6->v7:
> (1) two patches removed from the patch series. One belongs to xHCI host
> controller driver, and another belongs to usb/serial.
> (2) add fix for 0-DAY kernel test warning:
> drivers/usb/early/xhci-dbc.c:917:6-10: WARNING:
> Unsigned expression compared with zero: size > 0
> (3) add fix for 0-DAY kernel test error:
> arch/x86/built-in.o: In function `setup_early_printk':
> early_printk.c:(.init.text+0xceba): undefined reference to `early_xdbc_init'
> early_printk.c:(.init.text+0xcec8): undefined reference to `early_xdbc_console'
>
> Lu Baolu (10):
> x86: fixmap: add permanent fixmap for xhci debug port
> usb: dbc: probe and setup xhci debug capability
> usb: dbc: add support for Intel xHCI dbc quirk
> usb: dbc: add debug buffer
> usb: dbc: add bulk out and bulk in interfaces
> usb: dbc: handle dbc-configured exit
> usb: dbc: handle endpoint stall
> x86: early_printk: add USB3 debug port earlyprintk support
> usb: dbc: add handshake between debug target and host
> usb: doc: add document for xHCI DbC driver

Hi Greg,

I removed two patches from this series which belong to usb/xhci and usb/serial.
The remaining patches are all for usb3 debug port driver. Will you queue this
for usb-next? Or, do you want me to do anything else?

Thanks,
Baolu

>
> Documentation/kernel-parameters.txt | 1 +
> Documentation/usb/xhci-dbc.txt | 350 +++++++++
> MAINTAINERS | 8 +
> arch/x86/Kconfig.debug | 14 +
> arch/x86/include/asm/fixmap.h | 4 +
> arch/x86/kernel/early_printk.c | 5 +
> drivers/usb/Kconfig | 3 +
> drivers/usb/Makefile | 2 +-
> drivers/usb/early/Makefile | 1 +
> drivers/usb/early/xhci-dbc.c | 1394 +++++++++++++++++++++++++++++++++++
> include/linux/usb/xhci-dbc.h | 224 ++++++
> 11 files changed, 2005 insertions(+), 1 deletion(-)
> create mode 100644 Documentation/usb/xhci-dbc.txt
> create mode 100644 drivers/usb/early/xhci-dbc.c
> create mode 100644 include/linux/usb/xhci-dbc.h
>