| 23-Aug-2002 |
| |
| The "ohci-hcd" driver is a USB Host Controller Driver (HCD) that is derived |
| from the "usb-ohci" driver from the 2.4 kernel series. The "usb-ohci" code |
| was written primarily by Roman Weissgaerber <weissg@vienna.at> but with |
| contributions from many others (read its copyright/licencing header). |
| |
| It supports the "Open Host Controller Interface" (OHCI), which standardizes |
| hardware register protocols used to talk to USB 1.1 host controllers. As |
| compared to the earlier "Universal Host Controller Interface" (UHCI) from |
| Intel, it pushes more intelligence into the hardware. USB 1.1 controllers |
| from vendors other than Intel and VIA generally use OHCI. |
| |
| Changes since the 2.4 kernel include |
| |
| - improved robustness; bugfixes; and less overhead |
| - supports the updated and simplified usbcore APIs |
| - interrupt transfers can be larger, and can be queued |
| - less code, by using the upper level "hcd" framework |
| - supports some non-PCI implementations of OHCI |
| - ... more |
| |
| The "ohci-hcd" driver handles all USB 1.1 transfer types. Transfers of all |
| types can be queued. That was also true in "usb-ohci", except for interrupt |
| transfers. Previously, using periods of one frame would risk data loss due |
| to overhead in IRQ processing. When interrupt transfers are queued, those |
| risks can be minimized by making sure the hardware always has transfers to |
| work on while the OS is getting around to the relevant IRQ processing. |
| |
| - David Brownell |
| <dbrownell@users.sourceforge.net> |
| |