> - 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