lkml.org 
[lkml]   [2017]   [Feb]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH v5 1/4] usb: dbc: early driver for xhci debug capability
    From
    Date
    Hi Ingo,

    On 01/26/2017 03:22 PM, Ingo Molnar wrote:
    > * Lu Baolu <baolu.lu@linux.intel.com> wrote:
    >
    >> Hi,
    >>
    >> On 01/25/2017 10:38 PM, Peter Zijlstra wrote:
    >>> On Wed, Jan 25, 2017 at 08:27:38PM +0800, Lu Baolu wrote:
    >>>> In my driver, udelay() is mostly used to handle time out.
    >>>>
    >>>> Xdbc hides most USB things in its firmware. Early printk driver only needs
    >>>> to setup the registers/data structures and wait until link ready or time out.
    >>>> Without udelay(), I have no means to convert the polling times into waiting
    >>>> time.
    >>> What is timeout and why?
    >> Put it in simple:
    >>
    >> The driver sets the RUN bit in control register and polls READY
    >> bit in status register for the successful USB device enumeration.
    >> As the USB device enumeration might fail and the READY bit will
    >> never be set, the driver must have a timeout logic to avoid
    >> endless loop.
    > Is there any error status available in the host registers anywhere that tells us
    > that enumeration did not succeed?

    No, there isn't. The xhci spec requires software to impose a timeout.

    Page 425, xhci specification:

    "
    Software shall impose a timeout between the detection
    of the Debug Host connection and the DbC Run transition
    to ‘1’.
    "

    Best regards,
    Lu Baolu

    \
     
     \ /
      Last update: 2017-02-09 08:39    [W:4.461 / U:0.408 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site