The LAN9118 driver uses memory fences in a novel but erroneous fashion, due to a misunderstanding of some under-commented code. This series fixes these erroneous uses, documenting the unusual requirements of the LAN9118 chip that lead us to this situation, and introduces new helpers to handle this in a more consistent fashion.
The LAN9118 datasheet is publicly available at: http://www.microchip.com/wwwproducts/en/LAN9118 Thanks, Mark. Mark Rutland (4): Revert "EmbeddedPkg/Lan9118Dxe: use MemoryFence" EmbeddedPkg/Lan9118Dxe: add LAN9118 MMIO wrappers EmbeddedPkg/Lan9118Dxe: Use LAN9118 MMIO wrappers EmbeddedPkg/Lan9118Dxe: remove redundant stalls EmbeddedPkg/Drivers/Lan9118Dxe/Lan9118Dxe.c | 82 +++++----- EmbeddedPkg/Drivers/Lan9118Dxe/Lan9118DxeHw.h | 75 ++++++++- EmbeddedPkg/Drivers/Lan9118Dxe/Lan9118DxeUtil.c | 200 ++++++++++++++---------- EmbeddedPkg/Drivers/Lan9118Dxe/Lan9118DxeUtil.h | 17 ++ 4 files changed, 243 insertions(+), 131 deletions(-) -- 1.9.1 _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

