usb_claim_bandwidth — records bandwidth for a periodic transfer
void usb_claim_bandwidth ( | struct usb_device * | dev, |
struct urb * | urb, | |
int | bustime, | |
int | isoc) ; |
dev
source/target of request
urb
request (urb->dev == dev)
bustime
bandwidth consumed, in (average) microseconds per frame
isoc
true iff the request is isochronous
Bus bandwidth reservations are recorded purely for diagnostic purposes. HCDs are expected not to overcommit periodic bandwidth, and to record such reservations whenever endpoints are added to the periodic schedule.
FIXME averaging per-frame is suboptimal. Better to sum over the HCD's entire periodic schedule ... 32 frames for OHCI, 1024 for UHCI, settable for EHCI (256/512/1024 frames, default 1024) and have the bus expose how large its periodic schedule is.