TODO revision 1.39
1Some things that need to be done:
2---------------------------------
3
4High priority:
5--------------
6
7On a short control transfer the status phase needs to be executed anyway.
8
9Do bandwidth reclamation while we have outstanding bulk transfers.
10(Use an inactive TD on last QH to avoid PIIX bug.)
11
12Allow interrupt out endpoints. (USB 1.1)
13
14Fix flow control in ucom (copy from com driver).
15
16Use some encapsulation in the upl driver to allow multiple protocols.
17
18Get the uezcom driver (with Doug Ambrisko's firmware) running.
19
20
21Bug reports:
22------------
23
24Bernd Ernesti's problem: host controller halted with umodem
25
26umass problem with Ricoh flash reader
27
28wskbd for X
29
30mel kravitz's problem, lockups with disk and printer
31
32Aaron's problem: Test aue with ohci.
33
34
35General:
36--------
37
38Figure out why uvisor is so slow.
39Try to get specs, and check if Linux driver is really right.
40
41Add lots of bus_dmamap_sync().
42
43Do bandwidth accounting.
44
45Use lock manager locks.
46
47Use the pool allocator for TDs et al.
48
49Throw out more USBDI gunk.
50
51Make hub driver notice transition between self and bus powered state.
52Some hubs change the number of available ports on this transition. :(
53Handle overcurrent conditions.
54
55Make it possible to open any device in a "generic" way, i.e., like ugen.
56Perhaps usbdevfs?
57
58Rotate the QHs for bulk transport to get fairer scheduling.
59
60Change HC drivers to queue multiple request for an endpoint
61to get better performance.
62
63Do memory deallocation when HC driver is detached.
64
65uaudio problems:
66	mixer names are awful, use some heuristics.
67	implement selector units
68	debug input
69	test with more devices
70
71Stylistic changes:
72	use usb_ and usbd_ consistently
73	rearrange the contents and names of some files (Nick)
74
75Use splsoftusb() or a thread to deliver callbacks.
76
77Add threads to the Ethernet drivers.
78
79Change what's done at watchdog timeout inb if_{a,c,k}ue.c; what we have
80now doesn't work because it's done in an interrupt context.
81
82Factor out the common code from the Ethernet drivers and reuse that.
83
84Rewrite HID driver to handle report IDs properly.  Perhaps there should
85be a hiddev to which hid with different IDs can attach?
86
87Get rid of hcpriv.
88
89Keyspan serial driver
90
91
92Documentation:
93--------------
94
95Document device driver API.
96
97Document HC driver API.
98
99Update ugen(4)
100