Remove the eieio() calls in _memcpy_fromio, to bring its implementation closer to the one from lib/iomem_copy.c. These eieio() calls don't seem to be necessary, because the _memcpy_toio completely omits them. Also the legacy code from ppc was not doing them.
Signed-off-by: Julian Vetter <jul...@outer-limits.org> --- arch/powerpc/kernel/io.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/arch/powerpc/kernel/io.c b/arch/powerpc/kernel/io.c index 6af535905984..81e5d54260a1 100644 --- a/arch/powerpc/kernel/io.c +++ b/arch/powerpc/kernel/io.c @@ -155,21 +155,18 @@ void _memcpy_fromio(void *dest, const volatile void __iomem *src, __asm__ __volatile__ ("sync" : : : "memory"); while(n && (!IO_CHECK_ALIGN(vsrc, 4) || !IO_CHECK_ALIGN(dest, 4))) { *((u8 *)dest) = *((volatile u8 *)vsrc); - eieio(); vsrc++; dest++; n--; } while(n >= 4) { *((u32 *)dest) = *((volatile u32 *)vsrc); - eieio(); vsrc += 4; dest += 4; n -= 4; } while(n) { *((u8 *)dest) = *((volatile u8 *)vsrc); - eieio(); vsrc++; dest++; n--; -- 2.34.1