Re: [PATCH v7 5/5] usb: doc: add document for USB3 debug port usage

From: Lu Baolu
Date: Mon Feb 13 2017 - 23:41:47 EST


Hi,

On 02/14/2017 11:45 AM, Peter Chen wrote:
> On Tue, Feb 14, 2017 at 10:27 AM, Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> wrote:
>
>> Add Documentation/usb/usb3-debug-port.rst. This document includes
>> the user guide for USB3 debug port.
>>
>> Cc: linux-doc@xxxxxxxxxxxxxxx
>> Signed-off-by: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx>
>> ---
>> Documentation/usb/usb3-debug-port.rst | 98 ++++++++++++++++++++++++++++++
>> +++++
>> 1 file changed, 98 insertions(+)
>> create mode 100644 Documentation/usb/usb3-debug-port.rst
>>
>> diff --git a/Documentation/usb/usb3-debug-port.rst
>> b/Documentation/usb/usb3-debug-port.rst
>> new file mode 100644
>> index 0000000..9eddb3a
>> --- /dev/null
>> +++ b/Documentation/usb/usb3-debug-port.rst
>> @@ -0,0 +1,98 @@
>> +===============
>> +USB3 debug port
>> +===============
>> +
>> +:Author: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx>
>> +:Date: January 2017
>> +
>> +GENERAL
>> +=======
>> +
>> +This is a HOWTO for using USB3 debug port on x86 systems.
>> +
>> +Before using any kernel debugging functionality based on USB3
>> +debug port, you need to check 1) whether debug port is supported
>> +by the xHCI host; 2) which port is used for debugging purposes
>> +(normally the first USB3 root port). You must have a USB 3.0
>> +super-speed A-to-A debugging cable to connect the debug target
>> +with a debug host. In this document, "debug target" stands for
>> +the system under debugging, and "debug host" stands for a
>> +stand-alone system that is able to talk to the debugging target
>> +through the USB3 debug port.
>> +
>> +EARLY PRINTK
>> +============
>> +
>> +On the debug target system, you need to customize a debugging
>> +kernel with CONFIG_EARLY_PRINTK_USB_XDBC enabled. And, add
>> +below kernel boot parameter::
>> +
>> + "earlyprintk=xdbc"
>> +
>> +If there are multiple xHCI controllers in the system, you can
>> +append a host contoller index to this kernel parameter. This
>> +index starts from 0.
>> +
>> +If you are going to use the "keep" option defined by the
>> +early printk framework to keep the boot console alive after
>> +early boot, you'd better add below kernel boot parameter::
>> +
>> + "usbcore.autosuspend=-1"
>> +
>> +On the debug host side, you don't need to customize the kernel,
>> +but you'd better disable usb subsystem runtime power management
>> +by adding below kernel boot parameter::
>> +
>> + "usbcore.autosuspend=-1"
>> +
>>
> Just curious, why autosuspend needs to be disabled for this function?

This implementation doesn't support suspend/resume yet.

Best regards,
Lu Baolu

>
> BR,
> Peter Chen
>