From cd217546602dbfe96c3f8e8025eb750fadf1ab4f Mon Sep 17 00:00:00 2001 From: Paul Burton Date: Mon, 24 Mar 2014 10:19:34 +0000 Subject: [PATCH] MIPS: CM: use __raw_ memory access functions The CM registers use native endianness, so using plain readl & writel will produce incorrect results on big endian systems. Reported-by: Jeffrey Deans Signed-off-by: Paul Burton Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/6656/ Signed-off-by: Ralf Baechle --- arch/mips/include/asm/mips-cm.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/mips/include/asm/mips-cm.h b/arch/mips/include/asm/mips-cm.h index 12cae5e294c4..6a9d2dd005ca 100644 --- a/arch/mips/include/asm/mips-cm.h +++ b/arch/mips/include/asm/mips-cm.h @@ -96,13 +96,13 @@ static inline u32 *addr_gcr_##name(void) \ \ static inline u32 read_gcr_##name(void) \ { \ - return readl(addr_gcr_##name()); \ + return __raw_readl(addr_gcr_##name()); \ } #define BUILD_CM__W(name, off) \ static inline void write_gcr_##name(u32 value) \ { \ - writel(value, addr_gcr_##name()); \ + __raw_writel(value, addr_gcr_##name()); \ } #define BUILD_CM_RW(name, off) \ -- 2.20.1