]> git.baikalelectronics.ru Git - kernel.git/commit
MIPS: pm-cps: Add MIPSr6 CPU support
authorMatt Redfearn <matt.redfearn@imgtec.com>
Wed, 7 Sep 2016 09:45:17 +0000 (10:45 +0100)
committerRalf Baechle <ralf@linux-mips.org>
Tue, 4 Oct 2016 14:13:57 +0000 (16:13 +0200)
commit4afc6108de431668eab2afb1563b4990e4ff3338
tree50dfa2a95d187d530d42529e0801f7437c33a289
parentd77c51b7d4d1676993f56f405ae89ca367be4c87
MIPS: pm-cps: Add MIPSr6 CPU support

This patch adds support for CPUs implementing the MIPSr6 ISA to the CPS
power management code. Three changes are necessary:

1. In MIPSr6, coupled coherence is necessary when CPUS implement multiple
   Virtual Processors (VPs).

2. MIPSr6 virtual processors are more like real cores and cannot yield
   to other VPs on the same core, so drop the MT ASE yield instruction.

3. To halt a MIPSr6 VP, the CPC VP_STOP register is used rather than the
   MT ASE TCHalt CP0 register.

Signed-off-by: Matt Redfearn <matt.redfearn@imgtec.com>
Reviewed-by: Paul Burton <paul.burton@imgtec.com>
Cc: Adam Buchbinder <adam.buchbinder@gmail.com>
Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/14225/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/include/asm/pm-cps.h
arch/mips/kernel/pm-cps.c