remarkable-linux/arch/mips/kernel
Paul Burton 3179d37ee1 MIPS: pm-cps: add PM state entry code for CPS systems
This patch adds code to generate entry & exit code for various low power
states available on systems based around the MIPS Coherent Processing
System architecture (ie. those with a Coherence Manager, Global
Interrupt Controller & for >=CM2 a Cluster Power Controller). States
supported are:

  - Non-coherent wait. This state first leaves the coherent domain and
    then executes a regular MIPS wait instruction. Power savings are
    found from the elimination of coherency interventions between the
    core and any other coherent requestors in the system.

  - Clock gated. This state leaves the coherent domain and then gates
    the clock input to the core. This removes all dynamic power from the
    core but leaves the core at the mercy of another to restart its
    clock. Register state is preserved, but the core can not service
    interrupts whilst its clock is gated.

  - Power gated. This deepest state removes all power input to the core.
    All register state is lost and the core will restart execution from
    its BEV when another core powers it back up. Because register state
    is lost this state requires cooperation with the CONFIG_MIPS_CPS SMP
    implementation in order for the core to exit the state successfully.

The code will detect which states are available on the current system
during boot & generate the entry/exit code for those states. This will
be used by cpuidle & hotplug implementations.

Signed-off-by: Paul Burton <paul.burton@imgtec.com>
2014-05-28 16:20:31 +01:00
..
.gitignore
8250-platform.c
asm-offsets.c MIPS: smp-cps: rework core/VPE initialisation 2014-05-28 16:20:28 +01:00
binfmt_elfn32.c
binfmt_elfo32.c MIPS: Support for 64-bit FP with O32 binaries 2014-01-13 23:40:56 +01:00
bmips_vec.S MIPS: Fix gigaton of warning building with microMIPS. 2014-03-31 18:17:12 +02:00
branch.c
cevt-bcm1480.c MIPS: Delete __cpuinit/__CPUINIT usage from MIPS code 2013-07-14 19:36:51 -04:00
cevt-ds1287.c
cevt-gic.c MIPS: allow GIC clockevent device config from other CPUs 2014-05-02 16:39:11 +01:00
cevt-gt641xx.c
cevt-r4k.c MIPS: allow R4K clockevent device to function regardless of GIC 2014-05-02 16:39:12 +01:00
cevt-sb1250.c MIPS: Delete __cpuinit/__CPUINIT usage from MIPS code 2013-07-14 19:36:51 -04:00
cevt-smtc.c MIPS: Delete __cpuinit/__CPUINIT usage from MIPS code 2013-07-14 19:36:51 -04:00
cevt-txx9.c
cps-vec.S MIPS: pm-cps: add PM state entry code for CPS systems 2014-05-28 16:20:31 +01:00
cpu-bugs64.c MIPS: Delete __cpuinit/__CPUINIT usage from MIPS code 2013-07-14 19:36:51 -04:00
cpu-probe.c MIPS: Fix core number detection for MT cores 2014-03-31 18:17:12 +02:00
crash.c mips: delete non-required instances of include <linux/init.h> 2014-01-24 22:39:56 +01:00
crash_dump.c
csrc-bcm1480.c
csrc-gic.c
csrc-ioasic.c MIPS: DECstation HRT initialization rearrangement 2013-09-13 11:56:13 +02:00
csrc-r4k.c
csrc-sb1250.c
early_printk.c
early_printk_8250.c MIPS: Add 8250/16550 serial early printk driver 2013-10-29 21:24:36 +01:00
entry.S
ftrace.c Most of the changes were largely clean ups, and some documentation. 2014-04-03 10:26:31 -07:00
genex.S MIPS: Fix gigaton of warning building with microMIPS. 2014-03-31 18:17:12 +02:00
gpio_txx9.c
head.S MIPS: malta: Add support for SMP EVA 2014-03-26 23:09:20 +01:00
i8253.c
i8259.c
idle.c MIPS: Fix gigaton of warning building with microMIPS. 2014-03-31 18:17:12 +02:00
irq-gic.c MIPS: allow GIC clockevent device config from other CPUs 2014-05-02 16:39:11 +01:00
irq-gt641xx.c
irq-msc01.c
irq-rm7000.c
irq.c
irq_cpu.c MIPS: Panic messages should not end in \n. 2013-10-29 21:24:19 +01:00
irq_txx9.c
jump_label.c
kgdb.c MIPS: kernel: {ftrace,kgdb}: Set correct address limit for cache flushes 2014-03-26 23:09:18 +01:00
kprobes.c
linux32.c
machine_kexec.c
Makefile MIPS: pm-cps: add PM state entry code for CPS systems 2014-05-28 16:20:31 +01:00
mcount.S MIPS: Ftrace: Fix function tracing return address to match 2013-09-03 14:46:27 +02:00
mips-cm.c MIPS: Add generic CM probe & access code 2014-03-06 21:25:22 +01:00
mips-cpc.c MIPS: smp-cps: rework core/VPE initialisation 2014-05-28 16:20:28 +01:00
mips-mt-fpaff.c
mips-mt.c
mips_ksyms.c MIPS: checksum: Split the 'copy_user' symbol 2014-03-26 23:09:17 +01:00
mips_machine.c
module-rela.c
module.c MIPS: Use NUMA_NO_NODE instead of -1 for node ID. 2013-10-29 21:24:14 +01:00
octeon_switch.S MIPS: stack protector: Fix per-task canary switch 2013-10-07 15:31:04 +02:00
perf_event.c
perf_event_mipsxx.c MIPS: perf: Add interAptiv support 2014-03-31 18:17:12 +02:00
pm-cps.c MIPS: pm-cps: add PM state entry code for CPS systems 2014-05-28 16:20:31 +01:00
pm.c MIPS: PM: Implement PM helper macros 2014-05-02 16:39:10 +01:00
proc.c MIPS: MT: proc: Add support for printing VPE and TC ids 2014-03-31 18:17:12 +02:00
process.c MIPS: Basic MSA context switching support 2014-03-26 23:09:10 +01:00
prom.c mips: use common of_flat_dt_get_machine_name 2013-10-09 20:03:57 -05:00
ptrace.c Merge git://git.infradead.org/users/eparis/audit 2014-04-12 12:38:53 -07:00
ptrace32.c MIPS: Simplify PTRACE_PEEKUSR for FPC_EIR 2014-03-31 18:17:12 +02:00
r4k_fpu.S Merge branch '3.14-fixes' into mips-for-linux-next 2014-03-31 18:17:33 +02:00
r4k_switch.S MIPS: Fix gigaton of warning building with microMIPS. 2014-03-31 18:17:12 +02:00
r2300_fpu.S
r2300_switch.S MIPS: stack protector: Fix per-task canary switch 2013-10-07 15:31:04 +02:00
r6000_fpu.S
relocate_kernel.S MIPS: kdump: Skip walking indirection page for crashkernels 2013-09-05 20:53:37 +02:00
reset.c
rtlx-cmp.c MIPS: APRP: Unregister rtlx interrupt hook at module exit 2014-03-06 20:55:07 +01:00
rtlx-mt.c MIPS: APRP: Unregister rtlx interrupt hook at module exit 2014-03-06 20:55:07 +01:00
rtlx.c MIPS: APRP: Code formatting clean-ups. 2014-01-22 20:19:02 +01:00
scall32-o32.S MIPS: kernel: scall32-o32: Use EVA wrappers to fetch syscall arguments 2014-03-26 23:09:13 +01:00
scall64-64.S MIPS: seccomp: Handle indirect system calls (o32) 2014-03-26 23:09:08 +01:00
scall64-n32.S MIPS: seccomp: Handle indirect system calls (o32) 2014-03-26 23:09:08 +01:00
scall64-o32.S MIPS: seccomp: Handle indirect system calls (o32) 2014-03-26 23:09:08 +01:00
segment.c MIPS: Add debugfs file to print the segmentation control registers 2014-01-22 20:19:00 +01:00
setup.c MIPS: Fix start of free memory when using initrd 2013-10-29 21:24:23 +01:00
signal-common.h
signal.c MIPS: kernel: signal: Prevent save/restore FPU context in user memory 2014-03-26 23:09:17 +01:00
signal32.c MIPS: Save/restore MSA context around signals 2014-03-26 23:09:11 +01:00
signal_n32.c
smp-bmips.c MIPS: BMIPS: change compile time checks to runtime checks 2014-01-22 20:18:51 +01:00
smp-cmp.c MIPS: smp-cmp: Remove incorrect core number probe 2014-03-31 18:17:12 +02:00
smp-cps.c MIPS: smp-cps: use CPC core-other locking 2014-05-28 16:20:30 +01:00
smp-gic.c MIPS: Move GIC IPI functions out of smp-cmp.c 2014-03-06 21:25:22 +01:00
smp-mt.c MIPS: smp-mt: Use common GIC IPI implementation 2014-03-31 18:17:12 +02:00
smp-up.c MIPS: Delete __cpuinit/__CPUINIT usage from MIPS code 2013-07-14 19:36:51 -04:00
smp.c MIPS: introduce cpu_coherent_mask 2014-05-02 16:39:13 +01:00
smtc-asm.S
smtc-proc.c MIPS: MT: proc: Add support for printing VPE and TC ids 2014-03-31 18:17:12 +02:00
smtc.c mips: Use the core irq stats function 2014-03-04 17:37:53 +01:00
spinlock_test.c
spram.c MIPS: Use current_cpu_type() instead of c->cputype 2014-03-31 18:17:12 +02:00
stacktrace.c
sync-r4k.c mips: delete non-required instances of include <linux/init.h> 2014-01-24 22:39:56 +01:00
syscall.c MIPS: Fix gigaton of warning building with microMIPS. 2014-03-31 18:17:12 +02:00
time.c MIPS: Optimize current_cpu_type() for better code. 2013-09-17 18:50:53 +02:00
topology.c
traps.c MIPS: traps: Add CPU PM callback for trap configuration 2014-05-02 16:38:59 +01:00
unaligned.c MIPS: kernel: unaligned: Handle unaligned accesses for EVA 2014-03-26 23:09:16 +01:00
vdso.c
vmlinux.lds.S MIPS: Discard .eh_frame sections in linker script. 2013-08-26 15:33:41 +02:00
vpe-cmp.c MIPS: APRP: Add VPE loader support for CMP platforms. 2014-01-22 20:19:02 +01:00
vpe-mt.c MIPS: APRP: Code formatting clean-ups. 2014-01-22 20:19:02 +01:00
vpe.c Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2014-01-30 17:20:32 -08:00
watch.c MIPS: Delete __cpuinit/__CPUINIT usage from MIPS code 2013-07-14 19:36:51 -04:00