Re: About USBADRA bit at DEVICEADDR for chipidea driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Peter Chen <peter.chen@xxxxxxxxxxxxx> writes:

> On Fri, Mar 08, 2013 at 12:39:04PM +0200, Alexander Shishkin wrote:
>> Peter Chen <peter.chen@xxxxxxxxxxxxx> 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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux