summaryrefslogtreecommitdiffstats
path: root/arch/arm/mm/context.c
diff options
context:
space:
mode:
authorMasahiro Yamada <yamada.masahiro@socionext.com>2016-04-26 09:11:13 +0100
committerRussell King <rmk+kernel@armlinux.org.uk>2016-05-05 19:03:39 +0100
commit6427a840ff6aeaac36c59872b0b4b2040ed26c9b (patch)
tree09374292684b9d4d7fd4518854d028abd1398e7c /arch/arm/mm/context.c
parent7274a69cd86f61602a49a3d0b64d29b465f46a15 (diff)
downloadblackbird-op-linux-6427a840ff6aeaac36c59872b0b4b2040ed26c9b.tar.gz
blackbird-op-linux-6427a840ff6aeaac36c59872b0b4b2040ed26c9b.zip
ARM: 8567/1: cache-uniphier: activate ways for secondary CPUs
This outer cache allows to control active ways independently for each CPU, but currently nothing is done for secondary CPUs. In other words, all the ways are locked for secondary CPUs by default. This commit fixes it to fully bring out the performance of this outer cache. There would be two possible ways to achieve this: [1] Each CPU initializes active ways for itself. This can be done via the SSCLPDAWCR register. This is a banked register, so each CPU sees a different instance of the register for its own. [2] The master CPU initializes active ways for all the CPUs. This is available via SSCDAWCARMR(N) registers, where all instances of SSCLPDAWCR are mirrored. They are mapped at the address SSCDAWCARMR + 4 * N, where N is the CPU number. The outer cache frame work does not support a per-CPU init callback. So this commit adopts [2]; the master CPU iterates over possible CPUs setting up SSCDAWCARMR(N) registers. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mm/context.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud