36 lines · plain
1====2OHCI3====4 523-Aug-20026 7The "ohci-hcd" driver is a USB Host Controller Driver (HCD) that is derived8from the "usb-ohci" driver from the 2.4 kernel series. The "usb-ohci" code9was written primarily by Roman Weissgaerber <weissg@vienna.at> but with10contributions from many others (read its copyright/licencing header).11 12It supports the "Open Host Controller Interface" (OHCI), which standardizes13hardware register protocols used to talk to USB 1.1 host controllers. As14compared to the earlier "Universal Host Controller Interface" (UHCI) from15Intel, it pushes more intelligence into the hardware. USB 1.1 controllers16from vendors other than Intel and VIA generally use OHCI.17 18Changes since the 2.4 kernel include19 20 - improved robustness; bugfixes; and less overhead21 - supports the updated and simplified usbcore APIs22 - interrupt transfers can be larger, and can be queued23 - less code, by using the upper level "hcd" framework24 - supports some non-PCI implementations of OHCI25 - ... more26 27The "ohci-hcd" driver handles all USB 1.1 transfer types. Transfers of all28types can be queued. That was also true in "usb-ohci", except for interrupt29transfers. Previously, using periods of one frame would risk data loss due30to overhead in IRQ processing. When interrupt transfers are queued, those31risks can be minimized by making sure the hardware always has transfers to32work on while the OS is getting around to the relevant IRQ processing.33 34- David Brownell35 <dbrownell@users.sourceforge.net>36