coreboot-kgpe-d16/payloads/libpayload/drivers/usb
Nico Huber 3ca35cae35 libpayload: Add dummy queue heads to EHCI interrupt frame list
This introduces a dummy queue head in the interrupt frame list of the
EHCI host controller. It's a workaround for broken controllers which
follow pointers from this list even if the terminate bit is set.
Fortunately, they do honor the bit in queue heads and having an empty
QH in the list doesn't violate the standard.

The linux kernel has a similar workaround for AMD SB700, SB800, and
Hudson-2/3 platforms. We observed this bug with an AMD SB600.

Change-Id: Ibbb66dea5fddc89c7995a24d746bedf6bfa887be
Signed-off-by: Nico Huber <nico.huber@secunet.com>
Reviewed-on: http://review.coreboot.org/1124
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Tested-by: build bot (Jenkins)
2012-06-21 11:53:25 +02:00
..
TODO Since some people disapprove of white space cleanups mixed in regular commits 2010-04-27 06:56:47 +00:00
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: Add timeouts in the OHCI USB driver 2012-06-07 23:49:02 +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: Remove bitfield use from OHCI data structures 2012-01-10 00:02:45 +01:00
ohci_rh.c libpayload: Add timeouts in the OHCI USB driver 2012-06-07 23:49:02 +02:00
quirks.c Since some people disapprove of white space cleanups mixed in regular commits 2010-04-27 06:56:47 +00:00
uhci.c libpayload: Add timeouts in the UHCI USB driver 2012-06-09 13:13:08 +02:00
uhci.h Avoid using the name "pid_t", which is used on unixoid systems. 2010-06-07 13:58:17 +00:00
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: Fix detach_contoller in the USB driver 2012-06-20 17:45:10 +02:00
usb_dev.c Fix the USB code to find the headers after they were moved. 2008-09-11 17:29:00 +00:00
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: Better error detection in USB mass storage 2012-06-20 19:47:07 +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