Re: [PATCH 2/2 v4] ehci: Respect IST when scheduling new split iTDs.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 22 Oct 2009, Sarah Sharp wrote:

> Also, the frame ID field is only used for the starting frame.  While
> buffers are still posted within the isochronous scheduling threshold,

"Posted"?

> the xHC will ignore the frame ID and transfer data at the interval
> specified in the endpoint context.

"Endpoint context"?

Here, are you talking about transactions other than the first?  It's
not clear how to reconcile your statements that "the frame ID field is
... used for the starting frame" and "the xHC will ignore the frame
ID".

> If a buffer isn't posted within the IST, the host controller will send
> one overrun/underrun event to the driver.  It will also stop scheduling
> transfers for that endpoint, but leave the bandwidth for that endpoint
> claimed.

Indeed, according to your previous descriptions bandwidth is never
released until an altsetting or config is changed.

>  When the doorbell is rung again for the endpoint, the host
> controller will restart the transfers, looking at the frame ID if it's
> set and the ASAP flag isn't set.

I hate the "doorbell" metaphor.  For one thing, these bits don't behave
like a door -- nothing gets opened or closed.  For another, when you
actually press the button to ring a physical doorbell, the button
doesn't remain pressed the whole time until the door is opened -- it
becomes unpressed the moment you release it.

> So, as long as you only use urb->start_frame for the starting *frame*,
> the xHCI driver should be able to accommodate device drivers.

But urb->start_frame is implemented as meaning the starting
_microframe_ for high-speed devices.

However, given the hit-or-miss way in which existing HCDs implement it
(i.e., basically not at all), I guess there's nothing wrong with
pre-allocating the schedule and then choosing the actual starting
uframe to be the slot closest to the uframe given by urb->start_frame.

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

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux