On Mon, 1 Aug 2011, Ming Lei wrote: > Hi, > > On Mon, Aug 1, 2011 at 10:16 PM, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote: > > On Mon, 1 Aug 2011, loody wrote: > > > >> sorry for picking this old thread, since the subject is the same. > >> my question is: > >> In high speed device and an urb->inerval is less than 8, take 2 or 4 > >> for example, the number of iso transfer descriptors will be > >> 1+(span+7)/8. > >> > >> But the formula above seems to be used for urb-> interval =1, right? > >> Why the # of iso transfer descriptors not to be span/interval but 1+(span+7)/8? > > > > Because each iTD provides information for an entire frame, i.e., 8 > > microframes. > > BTW, why is plus 1? For example, suppose urb->interval is 1 and > span is 40, then looks like 5 iTDs are enough, but we will get > 6 from "1 + (span + 7) / 8". Maybe the span starts in the middle of a frame, say in uframe 6 of frame 11. The span would end 40 uframes later, at uframe 5 of frame 16. The total number of frames is 6 (11..16), not 5. Alan Stern -- 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