MIPS: CM: Avoid per-core locking with CM3 & higher
authorPaul Burton <paul.burton@imgtec.com>
Fri, 2 Jun 2017 21:48:50 +0000 (14:48 -0700)
committerRalf Baechle <ralf@linux-mips.org>
Thu, 29 Jun 2017 00:42:28 +0000 (02:42 +0200)
commit516db1c61f3fd4328361699a2c74781ab1dbf84c
treed7081b6226e45a468823885d998b1434a4c1cc3e
parent9b03d8abe06d92195712fd489b2e8983de27fa68
MIPS: CM: Avoid per-core locking with CM3 & higher

CM3 provides a GCR_CL_OTHER register per VP, rather than only per core.
This means that we don't need to prevent other VPs within a core from
racing with code that makes use of the core-other register region.

Reduce locking overhead by demoting the per-core spinlock providing
protection for CM2.5 & lower to a per-CPU/per-VP spinlock for CM3 &
higher.

Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/16193/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/kernel/mips-cm.c