Re: [PATCH] usb: hub: Per-port setting to use old enumeration scheme

From: Greg Kroah-Hartman
Date: Wed May 23 2018 - 11:46:42 EST


On Wed, May 23, 2018 at 10:03:55AM -0400, Alan Stern wrote:
> On Wed, 23 May 2018, Nicolas Boichat wrote:
>
> > The "old" enumeration scheme is considerably faster (it takes
> > ~294ms instead of ~439ms to get the descriptor).
> >
> > It is currently only possible to use the old scheme globally
> > (/sys/module/usbcore/parameters/old_scheme_first), which is not
> > desirable as the new scheme was introduced to increase compatibility
> > with more devices.
> >
> > However, in our case, we care about time-to-active for a specific
> > USB device (which we make the firmware for), on a specific port
> > (that is pogo-pin based: not a standard USB port). This new
> > sysfs option makes it possible to use the old scheme on a single
> > port only.
> >
> > Signed-off-by: Nicolas Boichat <drinkcat@xxxxxxxxxxxx>
> > ---
> >
> > There are other "quirks" that we could add to reduce further
> > enumeration time (e.g. reduce USB debounce time, reduce TRSTRCY
> > to 10ms instead of 50ms as used currently), but the logic is quite
> > similar, so it'd be good to have this reviewed first.
>
> I'm not opposed to the idea in principle, although I don't like your
> implementation because it breaks the original old_scheme_first
> parameter.
>
> Let's see what some other people think.
>
> Yours is a rather special case, because you know exactly what device
> will be attached to a specific port. Still, I can see that sort of
> thing happening in constrained and special-purpose settings.
>
> How do you arrange to set the new quirk before the device is
> discovered?

Yeah, this last question is what I had when looking at this. Or does it
not matter at first boot and only matters for wake-up?

thanks,

greg k-h