Peter Chen <peter.c...@freescale.com> writes:

> On Fri, Mar 08, 2013 at 12:39:04PM +0200, Alexander Shishkin wrote:
>> Peter Chen <peter.c...@freescale.com> writes:
>> 
>> > Hi David
>> 
>> Hi,
>> 
>> > I notice at your code for hw_usb_set_address, there is a comment for it
>> > /**
>> >  * This function explicitly sets the address, without the "USBADRA" 
>> > (advance)
>> >  * feature, which is not supported by older versions of the controller.
>> >  */
>> 
>> That's mine. David's original driver did use USBADRA. I removed it
>> because it's not supported by some versions of chipidea, for example the
>> one that Marvell integrated in their kirkwood SoCs.
>> 
>> > If we use USB3.0 host for CV test, we must use this bit, or the host
>> > may send GET_DESCRIPTOR before the controller set address.
>> 
>> That's because we don't have the state machine for ep0 currently,
>> USBADRA has nothing to do with it.
>
> Can you explain more? As far as I know, it is the completion of set_address
> cost too much time that the host sends next command before device
> sets address.

USBADRA doesn't magically speed up anything. It's a convenience thing
that lets you set the controller's address register value straight away
instead of deferring it till after status phase of
SET_ADDRESS. The status phase won't happen any sooner than normally.

Regards,
--
Alex
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to