On Sun, 8 Sep 2013, vichy wrote:

> >> suppose start passed to itd_slot_ok is 537, period, usb->interval, is 8.
> >> that mean we want to know whether bandwidth of microframe 537 is enough.
> >> Not want to know whether 537%8 =1
> >> the bandwidth of microframe 1 is enough.
> >
> > In fact you need to know both.  If an isochronous endpoint has interval
> > 8 and it uses microframe 537, then it's also going to use microframes
> > 545, 553, 561, ..., 8177, 8185, 1, 9, ..., 529.
> So at first time stream is scheduled, we have to make sure all
> possible microframe bandwidth is enough, right?

That's right.

> BTW, I have another question about iso_stream_schedule.
> When if (likely (!list_empty (&stream->td_list)))  happen,
> why don't we just take last scheduled microframe,  stream->next_uframe
> as start point directly?

We do exactly that if URB_ISO_ASAP isn't set.  But first the routine 
has to check and see if the schedule is already full, and it prints a 
debugging message if all the assigned microframes have already expired.

> appreciate your kind help,

You're welcome.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to