Re: [PATCH v5 1/4] usb: dbc: early driver for xhci debug capability

From: Ingo Molnar
Date: Thu Jan 26 2017 - 02:22:29 EST



* Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> 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?

Thanks,

Ingo