Query: DWC3: Isoc ep_queue when xinprogress

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

 



Hello Felipe,

I see one scenario where I do not find dwc3 driver working correctly
for isoc IN. I just wanted to clarify
if my understanding is correct.

1. Gadget driver (in my case uac2 audio driver with some
modifications) submits 16 request using ep_queue in the beginning.
2. As soon as host sends first IN token , xfernotready interrupt is received.
3. dwc3_gadget_start_isoc starts isoc transfer and programs IOC bit in
each 8th trb (DWC3_TRB_NUM / 4).
4. So I receive two xferinprogress interrupt against submitted (16) requests.
5. Upon each xferinprogress interrupt reception, complete is called (8
times) .A new request is submitted (ep_queue) each time
when complete is called.

Till this point, I find everything correct.

Now I do not see anyway to start isoc transfer once again for newly
added requests. dwc3_gadget_start_isoc is called only if
xfernotready is received. But If I see section 9.3.5 and 9.3.6 of dw
specs, then I should not expect a xfernotready interrupt, rather a
xferinprogress interrupt in the above scenario.

So I must add a mechanism to call dwc3_gadget_start_isoc , also when
xferinprogress  is received.

Please let me know, if I am not correct.

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