> - Given the basic similarities between all that hardware (the only
>   "big" thing that needs to differ much is scanning the HC lists
>   to collect finished transactions), I think both UHCIs can very
>   likely be trimmed down further:  the known differences can't
>   account for that much of a size difference.  (EHCI is a bit more
>   complex than UHCI ... by rights, it should be the fattest HCD!
>   I heard MSFT's is over 100KBytes ... :)

Further comment on this point:  both the UHCIs could be made
simpler if they only used a single lock internally, and had
less variety in routines to add and remove TDs from QHs.
(The rule of thumb on locking is of course to avoid using
such fine grained locking, since it rarely pays.)

The only relative complication I see there is the fact UHCI
drivers (not hardware) must maintain the data toggle state,
which complicates queueing new bulk (and eventually interrupt)
urbs given errors and (as recently reported :) unlinks.  In
both cases the simpler (and more consistent) solution is to
purge all queued URBs at the same time.

- 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

Reply via email to