TODO revision 1.27
1Some things that need to be done in no particular order: 2-------------------------------------------------------- 3 4Find race condition in UHCI driver. Rarely (under heavy USB load) you get a 5"uhci_idone: ii=0x%x is done!". This "cannot happen". 6 7Add lots of bus_dmamap_sync(). 8 9Do bandwidth accounting. 10 11Use lock manager locks. 12 13Use the pool allocator for TDs et al. 14 15Throw out more USBDI gunk. 16 17Make hub driver notice transition between self and bus powered state. 18Some hubs change the number of available ports on this transition. :( 19Handle overcurrent conditions. 20 21Make it possible to open any device in a "generic" way, i.e., like ugen. 22 23Rewrite mouse and keyboard driver to handle devices which use the 24report ID. One way would be to attach ums and ukbd to uhid. 25 26Rotate the QHs for bulk transport to get fairer scheduling. 27 28Change HC drivers to queue multiple request for an endpoint 29to get better performance. 30 31Add isoc to OHCI driver. 32 33Do memory deallocation when HC driver is detached. 34 35uaudio problems: 36 mixer names are awful, use some heuristics. 37 implement selector units 38 implement input 39 test with more devices 40 41Stylistic changes: 42 use usb_ and usbd_ consistently 43 rearrange the contents and names of some files (Nick) 44 45Document device driver API. 46 47Document HC driver API. 48 49Handle CLEAR_ENPOINT_STALL centrally. 50 51Use splsoftusb() or a thread to deliver callbacks. 52 53Add threads to the Ethernet drivers. 54 55Change uses of LE macro to the standard functions. 56 57Add events for HC attach/detach and driver attach/detach. 58 59