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