MIPS: CPC: Use __raw_ memory access functions

The CPC registers use native endianness, so using plain readl & writel
will produce incorrect results on big endian systems.

Reported-by: Jeffrey Deans <jeffrey.deans@imgtec.com>
Reported-by: Keng Koh <keng.koh@imgtec.com>
Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/6657/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
Paul Burton 2014-03-24 10:19:35 +00:00 committed by Ralf Baechle
parent cd21754660
commit 9a1724c750

View File

@ -75,13 +75,13 @@ static inline bool mips_cpc_present(void)
#define BUILD_CPC_R_(name, off) \
static inline u32 read_cpc_##name(void) \
{ \
return readl(mips_cpc_base + (off)); \
return __raw_readl(mips_cpc_base + (off)); \
}
#define BUILD_CPC__W(name, off) \
static inline void write_cpc_##name(u32 value) \
{ \
writel(value, mips_cpc_base + (off)); \
__raw_writel(value, mips_cpc_base + (off)); \
}
#define BUILD_CPC_RW(name, off) \