Hi, On Mon, Sep 10, 2012 at 12:50:47PM +0530, Pratyush Anand wrote: > Hi Felip, > > I am not sure what was the original intention to use sg. But I wanted > to use this to resolve one of the issue with my application related > to isoc endpoint. So, you can correct me , if I am not in-lined with > uses philosophy. The idea was mainly to avoid unnecessary memcpy()s. See the tcm_usb_gadget.c gadget and how it simply passes VFS's scatterlist on the usb_request structure. > I have a scenario, where I have scattered data to be transferred over > isoc IN endpoint in one service interval. > > So, I wanted to use sg feature for this. I will consider that one sg > has data for only one service interval. I mean, if I have 5 scattered > buffer, then I will submit one ep_queue with req->num_sgs = 5. So far so good :-) > There will not be a scenario, where one SG might contain data for > more than one service interval, right? There shouldn't be any :-) > If my understanding is correct, then I might need to modify dwc3 > driver a bit. only first TRB of the service interval should have > TRBCTL as ISOC_FIRST rest should have TRBCTL as ISOC. Why ? IIRC, ISOC_FIRST was a hint to the internal packet scheduler to give higher priority to the isochronous packet, right ? Does it make any difference for your use case ? -- balbi
Attachment:
signature.asc
Description: Digital signature