]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | 23-Aug-2002 |
2 | ||
3 | The "ohci-hcd" driver is a USB Host Controller Driver (HCD) that is derived | |
4 | from the "usb-ohci" driver from the 2.4 kernel series. The "usb-ohci" code | |
5 | was written primarily by Roman Weissgaerber <[email protected]> but with | |
6 | contributions from many others (read its copyright/licencing header). | |
7 | ||
8 | It supports the "Open Host Controller Interface" (OHCI), which standardizes | |
9 | hardware register protocols used to talk to USB 1.1 host controllers. As | |
10 | compared to the earlier "Universal Host Controller Interface" (UHCI) from | |
11 | Intel, it pushes more intelligence into the hardware. USB 1.1 controllers | |
12 | from vendors other than Intel and VIA generally use OHCI. | |
13 | ||
14 | Changes since the 2.4 kernel include | |
15 | ||
16 | - improved robustness; bugfixes; and less overhead | |
17 | - supports the updated and simplified usbcore APIs | |
18 | - interrupt transfers can be larger, and can be queued | |
19 | - less code, by using the upper level "hcd" framework | |
20 | - supports some non-PCI implementations of OHCI | |
21 | - ... more | |
22 | ||
23 | The "ohci-hcd" driver handles all USB 1.1 transfer types. Transfers of all | |
24 | types can be queued. That was also true in "usb-ohci", except for interrupt | |
25 | transfers. Previously, using periods of one frame would risk data loss due | |
26 | to overhead in IRQ processing. When interrupt transfers are queued, those | |
27 | risks can be minimized by making sure the hardware always has transfers to | |
28 | work on while the OS is getting around to the relevant IRQ processing. | |
29 | ||
30 | - David Brownell | |
31 | <[email protected]> | |
32 |