blob: 921d9a9a36a46630fe53fa0720ded19be9aaaab4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
[This is the readme for ohci.c, ohci-debug.c and ohci.h]
June 23, 1999 00:31:20 PST
I now have bulk support in a reasonably working state. The only
device I have tested it with at the moment is my Epson Stylus 740
printer. I can print both small and large files.
I have included code to support transfers of large amounts of data in
either control or bulk transfers. Check out the build_td_chain() and
add_td_chain_to_ed() functions.
TODO:
~ Get Michael Gee's mass storage driver working with my donated
YE-Data floppy drive over OHCI.
~ Drool on the Epson printer because its the new toy around the house.
June 08, 1999 01:23:34
Paul Mackerras went through the OHCI (& USB code) to fix most of the
endianness issues so that the code now works on Linux-PPC. He also
simplified add_td_to_ed to be simpler & atomic to the hardware.
May 16, 1999 16:20:54
EDs are now allocated dynamically from their device's pool. Root hub
status changes should stop the infinite "no device connected" messages
that occurred after removing a device.
TODO:
~ Add Isochronous transfer support. These have their own special
format TDs to allow for several DMA data pointers. Kinda neat, but
likely harder to use through a generic interface in practice.
~ Support dynamic allocation & growth of the TD/ED pools. Merge them
into global pools rather than a today's static per device allocation.
KNOWN BUGS:
~ Unplugging a hub causes khubd to Oops. I don't think this is
directly related to OHCI, but due to the fact that the interrupt TD
for the hub is never stopped. We need a usb_release_irq() that gets
called using the "IRQ handle" that should be returned by
usb_request_irq().
May 09, 1999 16:25:58 PST
Cool, things are working "well" now. (I'm not getting oops's from the
OHCI code anyways.. ;). I can attach a usb hub and mouse in any
possible arrangement of the two and they get configured properly.
You can see that the mouse Interrupt transfers are occuring and being
acknowledged because /proc/interrupts usb-ohci goes up accordingly with
mouse movements/events. That means the TD at least returns some data
and requeues itself.
- greg@electricrain.com
|