coreboot-kgpe-d16/payloads
Steven A. Falco 4c514aedd8 port_enable and port_reset must change atomically.
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>
2011-07-17 10:22:23 +02:00
..
bayou Run doxygen -u on doxygen configuration files 2010-06-28 10:40:38 +00:00
coreinfo Add build instructions for coreinfo, specially pointing out installing 2011-04-01 00:39:07 +00:00
external Run 'git fetch' in SeaBIOS only when really needed 2011-07-07 13:25:53 +02:00
libpayload port_enable and port_reset must change atomically. 2011-07-17 10:22:23 +02:00