4c514aedd8
I have observed two separate EHCI host bridges that do not tolerate using C bit-fields to directly manipulate the portsc_t register. The reason for this is that the EHCI spec says that port_enable must go to 0 at the time that port_reset goes to 1. Naturally this cannot be done using direct bit-field manipulation. Instead, we use a temporary variable, change the bit-fields there, then atomically write the new value back to the hardware. Signed-off-by: Steven A. Falco <sfalco@coincident.com> Change-Id: If138faee43e0293efa203b86f7893fdf1e811269 Reviewed-on: http://review.coreboot.org/101 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi <patrick@georgi-clan.de> |
||
---|---|---|
.. | ||
ehci.c | ||
ehci.h | ||
ehci_private.h | ||
ehci_rh.c | ||
ohci.c | ||
ohci.h | ||
ohci_private.h | ||
ohci_rh.c | ||
quirks.c | ||
TODO | ||
uhci.c | ||
uhci.h | ||
uhci_private.h | ||
uhci_rh.c | ||
usb.c | ||
usb_dev.c | ||
usbhid.c | ||
usbhub.c | ||
usbinit.c | ||
usbmsc.c | ||
xhci.c | ||
xhci.h | ||
xhci_private.h | ||
xhci_rh.c |