audk/EmbeddedPkg
Mark Rutland 28f52b9fae Revert "EmbeddedPkg/Lan9118Dxe: use MemoryFence"
Commit a4626006bb ("EmbeddedPkg/Lan9118Dxe: use MemoryFence")
replaced some stalls with memory fences, on the presumption that these
were erroneously being used to order memory accesses. However, this was
not the case.

LAN9118 devices require a timing delay between state-changing
reads/writes and subsequent reads, as updates to the register file are
asynchronous and the effects of state-changes are not immediately
visible to subsequent reads.

This delay cannot be ensured through the use of memory barriers, which
only enforce observable ordering, and not timing. Thus, converting these
stalls to memory fences was erroneous, and may result in stale values
being read.

This reverts commit a4626006bb.

Cc: Leif Lindholm <leif.lindholm@linaro.org>
Cc: Ryan Harkin <ryan.harkin@linaro.org>
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
2016-05-10 14:48:25 +02:00
..
Application/AndroidFastboot EmbeddedPkg/AndroidFastboot: fix size with 64bit 2016-02-29 15:27:13 +00:00
Drivers Revert "EmbeddedPkg/Lan9118Dxe: use MemoryFence" 2016-05-10 14:48:25 +02:00
Ebl EmbeddedPkg: Add EFIAPI to several Ebl functions 2015-10-29 12:59:06 +00:00
EblExternCmd ARM Packages: Removed trailing spaces 2014-08-19 13:29:52 +00:00
EmbeddedMonotonicCounter ARM Packages: Removed trailing spaces 2014-08-19 13:29:52 +00:00
GdbStub ARM Packages: Replace tabs by spaces for indentation 2014-08-26 10:14:17 +00:00
Include EmbeddedPkg/AcpiLib: add GICD table init macro for ACPI 6.0 2016-04-14 12:56:34 +02:00
Library ArmPkg|EmbeddedPkg: make PcdCpuVectorBaseAddress 64 bits wide 2016-03-25 07:17:53 +01:00
MetronomeDxe ARM Packages: Removed trailing spaces 2014-08-19 13:29:52 +00:00
RealTimeClockRuntimeDxe EmbeddedPkg/RTC: use returned status at init-time 2016-03-25 07:09:49 +01:00
ResetRuntimeDxe ARM Packages: Removed trailing spaces 2014-08-19 13:29:52 +00:00
Scripts/LauterbachT32 EmbeddedPkg: Rectify file modes 2016-02-02 11:42:51 +00:00
SimpleTextInOutSerial ARM Packages: Removed trailing spaces 2014-08-19 13:29:52 +00:00
TemplateSec ARM Packages: Removed trailing spaces 2014-08-19 13:29:52 +00:00
Universal/MmcDxe EmbeddedPkg: Remove dependency on TimerLib 2015-05-06 11:15:44 +00:00
Contributions.txt */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
EmbeddedPkg.dec EmbeddedPkg: enhance for multiple gpio controllers 2016-03-14 12:47:29 +00:00
EmbeddedPkg.dsc EmbeddedPkg: Remove SerialDxe and SerialPortExtLib libraries 2015-11-26 08:52:58 +00:00
EmbeddedPkg.fdf ARM Packages: Removed trailing spaces 2014-08-19 13:29:52 +00:00
License.txt EmbeddedPkg: Rectify file modes 2016-02-02 11:42:51 +00:00