TODO revision 1.25
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 events for HC attach/detach and driver attach/detach. 8 9Add lots of bus_dmamap_sync(). 10 11Do bandwidth accounting. 12 13Use lock manager locks. 14 15Use the pool allocator for TDs et al. 16 17Throw out more USBDI gunk. 18 19Make hub driver notice transition between self and bus powered state. 20Some hubs change the number of available ports on this transition. :( 21Handle overcurrent conditions. 22 23Make it possible to open any device in a "generic" way, i.e., like ugen. 24 25Rewrite mouse and keyboard driver to handle devices which use the 26report ID. One way would be to attach ums and ukbd to uhid. 27 28Rotate the QHs for bulk transport to get fairer scheduling. 29 30Change HC drivers to queue multiple request for an endpoint 31to get better performance. 32 33Add generic ucom layer for serial adapters. 34 35Add isoc to OHCI driver. 36 37Do memory deallocation when HC driver is detached. 38 39uaudio problems: 40 mixer names are awful, use some heuristics. 41 implement selector units 42 implement input 43 test with more devices 44 45Stylistic changes: 46 use usb_ and usbd_ consistently 47 rearrange the contents and names of some files (Nick) 48 49Document device driver API. 50 51Document HC driver API. 52 53Handle CLEAR_ENPOINT_STALL centrally. 54 55Use splsoftusb() or a thread to deliver callbacks. 56 57Add threads to the Ethernet drivers. 58