ARM: Add Krait L2 register accessor functions
authorStephen Boyd <sboyd@codeaurora.org>
Tue, 14 Aug 2018 12:12:20 +0000 (17:42 +0530)
committerStephen Boyd <sboyd@kernel.org>
Wed, 17 Oct 2018 20:14:33 +0000 (13:14 -0700)
commit36d68f64c411e09788687d5919886aadeb92adca
tree4f7f19217073c5fa8804358c7bbb8d1407b35c0b
parent5b394b2ddf0347bef56e50c69a58773c94343ff3
ARM: Add Krait L2 register accessor functions

Krait CPUs have a handful of L2 cache controller registers that
live behind a cp15 based indirection register. First you program
the indirection register (l2cpselr) to point the L2 'window'
register (l2cpdr) at what you want to read/write.  Then you
read/write the 'window' register to do what you want. The
l2cpselr register is not banked per-cpu so we must lock around
accesses to it to prevent other CPUs from re-pointing l2cpdr
underneath us.

Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Russell King <linux@arm.linux.org.uk>
Acked-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Sricharan R <sricharan@codeaurora.org>
Tested-by: Craig Tatlor <ctatlor97@gmail.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
arch/arm/common/Kconfig
arch/arm/common/Makefile
arch/arm/common/krait-l2-accessors.c [new file with mode: 0644]
arch/arm/include/asm/krait-l2-accessors.h [new file with mode: 0644]