> If INTs could be queued, there would not really even be a need to
> 'resubmit' the URBs.  The completion handler can simply resubmit a
> completed URB (if desired) without any loss of data or polling time.

For the record, this is going down the path of the "support
multi-buffering" proposal I sketched out (API change #2) ...
you might look at that a bit more, and share comments on
that part of the original RFC.

One difference between that and what Roman sketched
was that I did was in the model for schedule management:

- He suggested a new HCD level "set_endpoint_properties"
  call (perhaps coupled to set_config and set_interface?)
  to schedule the bandwidth.

- I'd suggested that the bandwidth would stay scheduled until
  after an interrupt transfer completed, there was no transfer
  queued.

Yes, I tend to think that it might be worth breaking existing
interrupt transfer code in this way to get an improved API.
But it'd be work...

- Dave

p.s. I have similar comments about ISO transfers... :)

    Apart from some wire-level differences, the main
    structural difference between INTR and ISO is
    supposed to be that (a) no lowspeed ISO, (b) for
    fullspeed, INTR has a smaller maxpacket (64 bytes
    vs 1023 for ISO), (c) at all speeds, errors on INTR
    transfers are supposed to get retried, but ISO ones
    get reported.  Both are supposed to respect the
    endpoint poll period, and "high bandwidth" mode
    (up to 24 MByte/sec, highspeed) works much the same.

    In short, we may want to consider corresponding
    updates to the ISO transfer model, since it's not
    intended to be as different from the INTR one as
    it is today in Linux.




_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to