arm64: io: Hook up __io_par() for inX() ordering
authorWill Deacon <will.deacon@arm.com>
Fri, 22 Feb 2019 18:04:54 +0000 (18:04 +0000)
committerCatalin Marinas <catalin.marinas@arm.com>
Thu, 28 Feb 2019 17:24:27 +0000 (17:24 +0000)
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 <andrew.murray@arm.com>
Reviewed-by: Palmer Dabbelt <palmer@sifive.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/include/asm/io.h

index ee723835c1f4bf2f9bff8271a99607bca61a62a1..8bb7210ac286c8d817931ed9821d43bd861f520f 100644 (file)
@@ -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)