cpuidle: cpuidle-cps: add MIPS CPS cpuidle driver
authorPaul Burton <paul.burton@imgtec.com>
Mon, 14 Apr 2014 15:25:29 +0000 (16:25 +0100)
committerPaul Burton <paul.burton@imgtec.com>
Wed, 28 May 2014 15:20:36 +0000 (16:20 +0100)
commitd050894435cdc78807e714a0148527542a583e87
tree39f95ee57dbe42e78945365e2b166161a24cc804
parentf08dbf8a61462aa122b9b5077849a3f4bd84702a
cpuidle: cpuidle-cps: add MIPS CPS cpuidle driver

This patch adds a cpuidle driver for systems based around the MIPS
Coherent Processing System (CPS) architecture. It supports four idle
states:

  - The standard MIPS wait instruction.

  - The non-coherent wait, clock gated & power gated states exposed by
    the recently added pm-cps layer.

The pm-cps layer is used to enter all the deep idle states. Since cores
in the clock or power gated states cannot service interrupts, the
gic_send_ipi_single function is modified to send a power up command for
the appropriate core to the CPC in cases where the target CPU has marked
itself potentially incoherent.

Signed-off-by: Paul Burton <paul.burton@imgtec.com>
arch/mips/kernel/smp-gic.c
drivers/cpuidle/Kconfig
drivers/cpuidle/Kconfig.mips [new file with mode: 0644]
drivers/cpuidle/Makefile
drivers/cpuidle/cpuidle-cps.c [new file with mode: 0644]