Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b657a628 authored by Paul Burton's avatar Paul Burton Committed by Ralf Baechle
Browse files

MIPS: Allow read64 GCR accessors to work on MIPS32 kernels



If we run a MIPS32 kernel on a system using CM3 we may still need to
access 64 bit GCRs, as will be done in later patches. Allow this by
having the read64_gcr_* accessor functions perform 2 x 32 bit reads on
those systems.

Signed-off-by: default avatarPaul Burton <paul.burton@imgtec.com>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Cc: James Hogan <james.hogan@imgtec.com>
Cc: Markos Chandras <markos.chandras@imgtec.com>
Patchwork: https://patchwork.linux-mips.org/patch/11188/


Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent f88e6324
Loading
Loading
Loading
Loading
+11 −1
Original line number Diff line number Diff line
@@ -125,7 +125,17 @@ static inline u32 read32_gcr_##name(void) \
								\
static inline u64 read64_gcr_##name(void)			\
{								\
	return __raw_readq(addr_gcr_##name());			\
	void __iomem *addr = addr_gcr_##name();			\
	u64 ret;						\
								\
	if (mips_cm_is64) {					\
		ret = __raw_readq(addr);			\
	} else {						\
		ret = __raw_readl(addr);			\
		ret |= (u64)__raw_readl(addr + 0x4) << 32;	\
	}							\
								\
	return ret;						\
}								\
								\
static inline unsigned long read_gcr_##name(void)		\