our device has an interrupt out endpoint. To this endpoint I
have to write some data (3-260 bytes). The endpoint size is 8
and the interval is 16.
Interrupt-out has been a problem spot for a while. Tough to do
portably because of all the special cases. However ...
Currently I write the data in a loop to the out-endpint. Between
the one-shot Interrupt-URBs I make a mdelay(16). (See below)
AFAIK mdelay(16) does 16ms busy-waiting. I tried to call
schedule_timeout(),
but this function is not precise enough.
Is there an alternative for mdelay(16)?
Some patches pending for 2.5.45 let you do this very easily, on
all the mainstream host controller drivers. You shouldn't need
to either loop or do a long busy-wait, or start caring about
hcd-specific behavior nuances.
When you fill out the urb, make sure buffer_length is 3-260 bytes
and the interval is 16. Then just submit it ... the whole thing
is done in one shot from the API perspective, though the device
will see only one buffer every N msec, including possibly a final
short transfer.
Give that a try when it comes out.
- Dave
-------------------------------------------------------
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