coreboot-kgpe-d16/payloads/libpayload/drivers/usb
Nico Huber 9951adeffd libpayload: Implement correct done queue processing for OHCI
This adds correct processing of the done queue of the OHCI host
controller (HC). We will always process the done queue after a control
or bulk transfer. Unfortunately, it's hard to tell when the HC will
write out the done queue, so we have do free the transfer descriptors
later and have to allocate them one by one.

To distinguish different types of TDs (e.g. async vs. interrupt
transfers) on the done queue, they are flagged in the lsb of there
.config field. We can utilize this bit for our own purpose, as it's
reserved and the host controller won't interpret it and preserves its
state.

Change-Id: I3b2271ae6221cdd50fc0f94582afdfe52bf7e797
Signed-off-by: Nico Huber <nico.huber@secunet.com>
Reviewed-on: http://review.coreboot.org/1125
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Tested-by: build bot (Jenkins)
2012-06-21 11:55:10 +02:00
..
TODO
ehci.c libpayload: Add dummy queue heads to EHCI interrupt frame list 2012-06-21 11:53:25 +02:00
ehci.h Add an EHCI driver to libpayload's USB stack. 2010-09-25 17:01:13 +00:00
ehci_private.h libpayload: Add dummy queue heads to EHCI interrupt frame list 2012-06-21 11:53:25 +02:00
ehci_rh.c libpayload: Add timeouts in the EHCI USB driver 2012-06-08 00:01:25 +02:00
ohci.c libpayload: Implement correct done queue processing for OHCI 2012-06-21 11:55:10 +02:00
ohci.h Add support for OHCI controllers and prelimiary support for xHCI (USB3) controllers. 2010-08-13 09:18:58 +00:00
ohci_private.h libpayload: Implement correct done queue processing for OHCI 2012-06-21 11:55:10 +02:00
ohci_rh.c libpayload: Add timeouts in the OHCI USB driver 2012-06-07 23:49:02 +02:00
quirks.c
uhci.c libpayload: Add timeouts in the UHCI USB driver 2012-06-09 13:13:08 +02:00
uhci.h
uhci_private.h libpayload: Remove bitfield use from UHCI data structures 2012-01-10 00:02:54 +01:00
uhci_rh.c libpayload: Add timeouts in the UHCI USB driver 2012-06-09 13:13:08 +02:00
usb.c libpayload: Detach unresponsive usb mass storage devices 2012-06-21 11:54:23 +02:00
usb_dev.c
usbhid.c libpayload: Free intr queue structure in usb_hid_destroy 2012-06-07 23:15:28 +02:00
usbhub.c libpayload: Bring USB hub driver to a working state 2012-06-07 23:12:44 +02:00
usbinit.c libpayload: Implement usb_exit 2011-11-04 22:14:29 +01:00
usbmsc.c libpayload: Detach unresponsive usb mass storage devices 2012-06-21 11:54:23 +02:00
xhci.c libpayload: Drop usb_fatal() 2011-11-04 22:11:05 +01:00
xhci.h Add support for OHCI controllers and prelimiary support for xHCI (USB3) controllers. 2010-08-13 09:18:58 +00:00
xhci_private.h Add support for OHCI controllers and prelimiary support for xHCI (USB3) controllers. 2010-08-13 09:18:58 +00:00
xhci_rh.c libpayload: Drop usb_fatal() 2011-11-04 22:11:05 +01:00