RE: [PATCH] USB: DWC3: Fix missed isoc IN transaction

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

 



> From: Pratyush Anand [mailto:pratyush.anand@xxxxxx]
> Sent: Tuesday, May 22, 2012 9:22 PM
> 
> On 5/23/2012 12:02 AM, Paul Zimmerman wrote:
> > The sequence should go like this:
> >
> > - The host sends the Set Interface command that enables the isoc
> >    endpoint.
> 
> 
> So, is it necessary  to have a different alternate setting for isoc
> transfer? Is Set Interface mandatory to start isoc?

Yes. See section 5.6.3 of the USB 2.0 spec, page 47.

> Is it that, there can not be asynchronous isoc transfer? Host sends IN
> token. Core receives it, sends 0 packet to host, generates xfernotready
> to SW, gadget is not ready to send data now. Host is still sending IN
> token and receives 0 byte packet. Gadget becomes ready after an
> *undefined* time. Now it does not have track of micro frame number.

I don't think any of the isoc gadgets work that way. If any do, it
should be easy enough to work around that in the dwc3 driver.

For example, the driver could delay enabling an isoc endpoint until
the gadget queues the first transfer on that endpoint. The dwc usb3
core will not send a xfernotready until the endpoint is enabled, so
I think that would solve it.

-- 
Paul

--
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