From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752478AbdBNHUa (ORCPT ); Tue, 14 Feb 2017 02:20:30 -0500 Received: from mga04.intel.com ([192.55.52.120]:12623 "EHLO mga04.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752434AbdBNHU2 (ORCPT ); Tue, 14 Feb 2017 02:20:28 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.35,160,1484035200"; d="scan'208";a="1094509391" Subject: Re: [PATCH v7 5/5] usb: doc: add document for USB3 debug port usage To: Peter Chen , Peter Chen References: <1487039241-596-1-git-send-email-baolu.lu@linux.intel.com> <1487039241-596-6-git-send-email-baolu.lu@linux.intel.com> <58A28A6E.3030303@linux.intel.com> Cc: Greg Kroah-Hartman , Ingo Molnar , Mathias Nyman , "tglx@linutronix.de" , "peterz@infradead.org" , "linux-usb@vger.kernel.org" , "x86@kernel.org" , lkml , "linux-doc@vger.kernel.org" From: Lu Baolu Message-ID: <58A2AFB8.3070904@linux.intel.com> Date: Tue, 14 Feb 2017 15:20:24 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, On 02/14/2017 02:13 PM, Peter Chen wrote: > >> On 02/14/2017 11:45 AM, Peter Chen wrote: >>> On Tue, Feb 14, 2017 at 10:27 AM, Lu Baolu wrote: >>> >>>> Add Documentation/usb/usb3-debug-port.rst. This document includes the >>>> user guide for USB3 debug port. >>>> >>>> Cc: linux-doc@vger.kernel.org >>>> Signed-off-by: Lu Baolu >>>> --- >>>> 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 >>>> +: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? If host side runtime suspend/resume is enabled, it might ask the debug device to suspend. This will cause the debug device dead. The suspend/resume of the debug device depends on xhci driver. I will make it happen in separated patches with more tests. It's in my TODO list. Best regards, Lu Baolu