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

From: Peter Chen
Date: Tue Feb 14 2017 - 01:13:23 EST



>
>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.

Why host side needs to disable it too?

Peter