On Fri, Oct 11, 2002, David Brownell <[EMAIL PROTECTED]> wrote:
> Johannes Erdfelt wrote:
> >>-move bandwidth reservation into submit_interrupt and submit_isochronous.
> >>Reserve bandwidth at start of submit_iso, and release on error.  Reserve
> >>at end of submit_common (for int only, not bulk).  For interrupt, only
> >>reserve if the URB is the first (i.e. not queued).  Only release if the
> >>URB is the last (i.e. no more queued).
> > 
> > Good point. We should also (in another thread) discuss how we're going
> > to fix bandwidth reservation in the long run.
> 
> Notice the changed subject line ... :)
> 
> Reservation should be on a per-endpoint basis, for both ISO and INTR
> transfer modes, if we try to follow the USB spec.  Dan's change makes
> interrupt transfers work that way ... ISO should too.
> 
> The tricky bit is that the usb_{claim,release}_bandwidth() calls work
> on urbs, not endpoints.  So I think those calls need to vanish, and
> HCDs need to switch to more precise math.

Exactly.

The question now is where should we do that? The current API is specific
to URB's so it won't be as easy as just moving the calls to
urb_submit_urb or something.

Maybe we should create some functions to reserve and release bandwidth
and let the drivers cooperatively allocate and release those.

I'm not sure we should put that much trust into the drivers.

Maybe we should update usb_submit_urb to ensure that the driver has
allocated bandwidth before we accept the URB? This will ensure that all
drivers are compliant at the expense of modifying every driver that does
asynchronous URB's.

Ideas?

JE



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to