Ensure that inX() provides the same ordering guarantees as readX()
by hooking up __io_par() so that it maps directly to __iormb().

Reported-by: Andrew Murray <[email protected]>
Signed-off-by: Will Deacon <[email protected]>
---
 arch/arm64/include/asm/io.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm64/include/asm/io.h b/arch/arm64/include/asm/io.h
index ee723835c1f4..8bb7210ac286 100644
--- a/arch/arm64/include/asm/io.h
+++ b/arch/arm64/include/asm/io.h
@@ -121,6 +121,7 @@ static inline u64 __raw_readq(const volatile void __iomem 
*addr)
                     : "memory");                                       \
 })
 
+#define __io_par(v)            __iormb(v)
 #define __iowmb()              wmb()
 
 #define mmiowb()               do { } while (0)
-- 
2.11.0

Reply via email to