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

From: Lu Baolu
Date: Wed Jan 25 2017 - 07:28:02 EST


Hi,

On 01/25/2017 05:57 PM, Peter Zijlstra wrote:
> On Wed, Jan 25, 2017 at 10:23:55AM +0100, Ingo Molnar wrote:
>> * Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> wrote:
>>
>>>> Hiding essentially an early udelay() implementation in an early-printk driver is
>>>> ugly and counterproductive.
>> Yeah - so could we do this in a more generic fashion, not in the early-printk
>> driver but in core x86 code?
> So ideally early_printk() would not depend on udelay() being setup.
>
> In fact, ideally early_printk() wouldn't even use udelay -- this very
> much includes its own copy.
>
> Why is udelay() required? Can't the thing simply poll its own register
> state to wait for completion?

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.

Best regards,
Lu Baolu

>
> This all sounds like xdbc cruft is still unreliably garbage..
>