linux/arch/mips/include/asm
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
..
dec DEC: Whitespace cleanup 2013-10-29 21:24:44 +01:00
emma MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
fw MIPS: malta: malta-memory: Add support for the 'ememsize' variable 2014-03-26 23:09:20 +01:00
ip32 MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
lasat MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
mach-ar7 Revert "MIPS: make CAC_ADDR and UNCAC_ADDR account for PHYS_OFFSET" 2013-07-01 15:10:58 +02:00
mach-ath79 mips: delete non-required instances of include <linux/init.h> 2014-01-24 22:39:56 +01:00
mach-au1x00 MIPS: Alchemy: remove duplicate UART register offset definitions 2014-03-31 10:16:53 +02:00
mach-bcm47xx MIPS: BCM47XX: Add Belkin F7Dxxxx board detection 2014-03-26 23:09:23 +01:00
mach-bcm63xx MIPS: BCM63XX: use linux/serial_bcm63xx.h 2014-01-23 13:02:36 +01:00
mach-cavium-octeon MIPS: Remove unnecessary platform dma helper functions 2013-10-29 21:24:40 +01:00
mach-cobalt MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
mach-db1x00 MIPS: Alchemy: fold mach-db1xxx/db1x00 headers into board code 2014-03-26 23:09:21 +01:00
mach-dec MIPS: DECstation CPU feature overrides 2013-10-29 21:24:46 +01:00
mach-emma2rh MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
mach-generic mips: delete non-required instances of include <linux/init.h> 2014-01-24 22:39:56 +01:00
mach-ip22 MIPS: Optimize current_cpu_type() for better code. 2013-09-17 18:50:53 +02:00
mach-ip27 MIPS: Remove unnecessary platform dma helper functions 2013-10-29 21:24:40 +01:00
mach-ip28 MIPS: Optimize current_cpu_type() for better code. 2013-09-17 18:50:53 +02:00
mach-ip32 MIPS: Remove unnecessary platform dma helper functions 2013-10-29 21:24:40 +01:00
mach-jazz mips: delete non-required instances of include <linux/init.h> 2014-01-24 22:39:56 +01:00
mach-jz4740 MIPS: jz4740: update platform data for JZ4740 usb device controller 2014-01-24 22:39:46 +01:00
mach-lantiq MIPS: Lantiq: Falcon: add cpu-feature-override.h 2013-09-03 23:22:16 +02:00
mach-lasat MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
mach-loongson MIPS: Loongson 3: Add CPU hotplug support 2014-03-31 18:17:12 +02:00
mach-loongson1 MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
mach-malta MIPS: malta: Add support for SMP EVA 2014-03-26 23:09:20 +01:00
mach-netlogic MIPS: Netlogic: Add cpu to node mapping for XLP9XX 2014-01-24 22:39:49 +01:00
mach-pmcs-msp71xx MIPS: Fix gigaton of warning building with microMIPS. 2014-03-31 18:17:12 +02:00
mach-pnx833x MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
mach-ralink MIPS: ralink: mt7620: Add cpu-feature-override header 2013-09-04 16:58:31 +02:00
mach-rc32434 MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
mach-rm MIPS: PMC-Sierra Yosemite: Remove support. 2012-12-13 18:15:30 +01:00
mach-sead3 MIPS: microMIPS: Disable LL/SC and fix linker bug. 2013-05-09 17:55:19 +02:00
mach-sibyte MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
mach-tx39xx MIPS: PMC-Sierra Yosemite: Remove support. 2012-12-13 18:15:30 +01:00
mach-tx49xx MIPS: PMC-Sierra Yosemite: Remove support. 2012-12-13 18:15:30 +01:00
mach-vr41xx MIPS: PMC-Sierra Yosemite: Remove support. 2012-12-13 18:15:30 +01:00
mips-boards MIPS: Malta: Setup PM I/O region on boot 2014-03-31 18:17:12 +02:00
netlogic MIPS: Netlogic: Remove XLR early serial setup 2014-01-24 22:39:50 +01:00
octeon MIPS: OCTEON: Supply OCTEON+ USB nodes in internal device trees. 2014-01-23 13:02:35 +01:00
pci MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
sgi MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
sibyte MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
sn MIPS: IP27: Remove pfn_t. 2013-05-08 03:51:58 +02:00
txx9 MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
vr41xx MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
xtalk MIPS: IP27: Fix build errors with CONFIG_PCI disabled. 2013-06-21 18:07:00 +02:00
abi.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
addrspace.h MIPS: Random whitespace clean-ups 2013-11-04 18:19:20 +01:00
amon.h MIPS: APRP: Code formatting clean-ups. 2014-01-22 20:19:02 +01:00
arch_hweight.h
asm-eva.h MIPS: asm: Add wrappers for EVA/non-EVA instructions 2014-03-26 23:09:12 +01:00
asm-offsets.h
asm.h MIPS: Fix gigaton of warning building with microMIPS. 2014-03-31 18:17:12 +02:00
asmmacro-32.h MIPS: Don't assume 64-bit FP registers for context switch 2014-03-26 23:09:10 +01:00
asmmacro-64.h MIPS: Support for 64-bit FP with O32 binaries 2014-01-13 23:40:56 +01:00
asmmacro.h Merge branch '3.14-fixes' into mips-for-linux-next 2014-03-31 18:17:33 +02:00
atomic.h MIPS: Fix gigaton of warning building with microMIPS. 2014-03-31 18:17:12 +02:00
barrier.h arch: Introduce smp_load_acquire(), smp_store_release() 2014-01-12 10:37:17 +01:00
bcache.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
bitops.h MIPS: Fix gigaton of warning building with microMIPS. 2014-03-31 18:17:12 +02:00
bmips.h MIPS: BMIPS: add a smp ops registration helper 2014-01-22 20:18:52 +01:00
bootinfo.h MIPS: Loongson 3: Add Lemote-3A machtypes definition 2014-03-31 18:17:12 +02:00
branch.h MIPS: MIPS16e: Support handling of delay slots. 2013-05-09 17:55:20 +02:00
break.h MIPS: Quit exporting kernel internel break codes to uapi/asm/break.h 2013-02-20 18:24:24 +01:00
bug.h
bugs.h
cache.h MIPS: Rename .data..mostly and properly handle it in linker script 2011-05-10 18:15:24 +01:00
cacheflush.h MIPS: add kmap_noncoherent to wire a cached non-coherent TLB entry 2014-05-28 16:20:14 +01:00
cacheops.h MIPS: fix case mismatch in local_r4k_flush_icache_range() 2014-01-15 14:19:42 +07:00
cevt-r4k.h MIPS: MSP: Fix build error 2011-05-10 18:15:24 +01:00
checksum.h MIPS: asm: checksum: Add MIPS specific csum_and_copy_from_user function 2014-03-26 23:09:17 +01:00
clkdev.h clk: Add common __clk_get(), __clk_put() implementations 2013-12-04 17:19:44 +01:00
clock.h MIPS: clock.h: Remove declaration of cpu_wait. 2013-05-22 01:34:25 +02:00
cmp.h
cmpxchg.h MIPS: Fix gigaton of warning building with microMIPS. 2014-03-31 18:17:12 +02:00
compat-signal.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
compat.h Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2013-03-02 07:44:16 -08:00
compiler.h
cop2.h MIPS: Netlogic: COP2 save/restore code 2013-06-13 17:46:41 +02:00
cpu-features.h MIPS: asm: cpu: Add cpu flag for Enhanced Virtual Addressing 2014-03-26 23:09:18 +01:00
cpu-info.h MIPS: MT: proc: Add support for printing VPE and TC ids 2014-03-31 18:17:12 +02:00
cpu-type.h MIPS: Loongson: Add basic Loongson-3 CPU support 2014-03-31 18:17:12 +02:00
cpu.h MIPS: Loongson: Add basic Loongson-3 definition 2014-03-31 18:17:12 +02:00
debug.h
delay.h MIPS: Make __{,n,u}delay declarations match definitions and generic delay.h 2012-10-16 22:20:03 +02:00
device.h
div64.h
dma-coherence.h MIPS: improve checks for noncoherent DMA 2014-01-22 20:43:10 +01:00
dma-mapping.h MIPS: Loongson: Add swiotlb to support All-Memory DMA 2014-03-31 18:17:12 +02:00
dma.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
ds1287.h
dsp.h MIPS: DSP: Fix DSP mask for registers. 2013-01-24 13:20:09 +01:00
edac.h
elf.h MIPS: Support for 64-bit FP with O32 binaries 2014-01-13 23:40:56 +01:00
errno.h UAPI: (Scripted) Disintegrate arch/mips/include/asm 2012-10-09 09:47:14 +01:00
exec.h Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
fb.h
fixmap.h mips: use generic fixmap.h 2014-01-23 16:36:54 -08:00
floppy.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
fpregdef.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
fpu_emulator.h MIPS: microMIPS: Floating point support. 2013-05-09 17:55:18 +02:00
fpu.h Merge branch '3.14-fixes' into mips-for-linux-next 2014-03-31 18:17:33 +02:00
ftrace.h MIPS: ftrace: Tweak safe_load()/safe_store() macros 2014-03-19 23:18:40 +01:00
futex.h MIPS: Fix gigaton of warning building with microMIPS. 2014-03-31 18:17:12 +02:00
gic.h MIPS: allow GIC clockevent device config from other CPUs 2014-05-02 16:39:11 +01:00
gio_device.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
gpio.h
gt64120.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
hardirq.h
hazards.h MIPS: Get rid of the use of .macro in C code. 2013-04-11 15:39:51 +02:00
highmem.h mips: delete non-required instances of include <linux/init.h> 2014-01-24 22:39:56 +01:00
hugetlb.h mm/hugetlb: add more arch-defined huge_pte functions 2013-04-29 15:54:33 -07:00
hw_irq.h atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
i8259.h
ide.h
idle.h MIPS: Idle: Break r4k_wait into two functions and fix it. 2013-05-22 01:34:28 +02:00
inst.h MIPS: MIPS16e: Support handling of delay slots. 2013-05-09 17:55:20 +02:00
io.h MIPS: Fix gigaton of warning building with microMIPS. 2014-03-31 18:17:12 +02:00
irq_cpu.h MIPS: add irqdomain support for the CPU IRQ controller 2013-02-17 01:25:34 +01:00
irq_gt641xx.h
irq_regs.h
irq.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
irqflags.h MIPS: Get rid of the use of .macro in C code. 2013-04-11 15:39:51 +02:00
isadep.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
jazz.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
jazzdma.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
jump_label.h compiler/gcc4: Add quirk for 'asm goto' miscompilation bug 2013-10-11 07:39:14 +02:00
Kbuild locking/mcs: Allow architecture specific asm files to be used for contended case 2014-02-09 21:18:52 +01:00
kdebug.h
kexec.h MIPS: kdump: Add support 2012-12-13 16:46:47 +01:00
kgdb.h
kmap_types.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
kprobes.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
kvm_host.h MIPS: KVM: Consult HWREna before emulating RDHWR 2014-03-19 17:01:43 +01:00
linkage.h consolidate cond_syscall and SYSCALL_ALIAS declarations 2013-03-03 22:55:19 -05:00
local.h MIPS: Fix gigaton of warning building with microMIPS. 2014-03-31 18:17:12 +02:00
m48t37.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
mc146818-time.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
mc146818rtc.h
mips_machine.h MIPS: move mips_{set,get}_machine_name() to a more generic place 2013-05-08 01:19:07 +02:00
mips_mt.h MIPS: Provide empty mips_mt_set_cpuoptions when CONFIG_MIPS_MT=n 2014-03-31 18:17:12 +02:00
mips-cm.h MIPS: CM: use __raw_ memory access functions 2014-03-31 18:17:13 +02:00
mips-cpc.h MIPS: CPC: provide locking functions 2014-05-02 16:39:14 +01:00
mipsmtregs.h MIPS: MT: define write_c0_tchalt macro 2014-05-28 16:20:22 +01:00
mipsprom.h MIPS: SNI: Fix conflicting wrapper symbols for headers. 2011-10-20 15:00:18 +01:00
mipsregs.h MIPS: Add MSA register definitions & access 2014-03-26 23:09:10 +01:00
mmu_context.h MIPS: traps: Add CPU PM callback for trap configuration 2014-05-02 16:38:59 +01:00
mmu.h
mmzone.h
module.h MIPS: Loongson: Add basic Loongson-3 definition 2014-03-31 18:17:12 +02:00
msa.h MIPS: Basic MSA context switching support 2014-03-26 23:09:10 +01:00
msc01_ic.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
nile4.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
paccess.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
page.h MIPS: asm: page: Allow __pa_symbol overrides 2014-03-26 23:09:18 +01:00
pci.h MIPS: PCI: Use pci_resource_to_user to map pci memory space properly 2013-09-19 00:48:48 +02:00
perf_event.h
pgalloc.h mips: handle pgtable_page_ctor() fail 2013-11-15 09:32:18 +09:00
pgtable-32.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
pgtable-64.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
pgtable-bits.h MIPS: Loongson: Add basic Loongson-3 definition 2014-03-31 18:17:12 +02:00
pgtable.h MIPS: add kmap_noncoherent to wire a cached non-coherent TLB entry 2014-05-28 16:20:14 +01:00
pm-cps.h MIPS: pm-cps: add PM state entry code for CPS systems 2014-05-28 16:20:31 +01:00
pm.h MIPS: PM: Implement PM helper macros 2014-05-02 16:39:10 +01:00
pmon.h
prefetch.h
processor.h MIPS: Basic MSA context switching support 2014-03-26 23:09:10 +01:00
prom.h of: implement pci_address_to_pio as weak function 2013-10-09 20:04:06 -05:00
ptrace.h MIPS: seccomp: Handle indirect system calls (o32) 2014-03-26 23:09:08 +01:00
r4k-timer.h MIPS: Synchronize MIPS count one CPU at a time 2012-08-17 10:57:28 +02:00
r4kcache.h MIPS: Fix gigaton of warning building with microMIPS. 2014-03-31 18:17:12 +02:00
reboot.h
reg.h
regdef.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
rm9k-ocd.h
rtlx.h MIPS: APRP: Code formatting clean-ups. 2014-01-22 20:19:02 +01:00
seccomp.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
setup.h MIPS: Add 8250/16550 serial early printk driver 2013-10-29 21:24:36 +01:00
sgialib.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
sgiarcs.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
shmparam.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
sigcontext.h MIPS: Save/restore MSA context around signals 2014-03-26 23:09:11 +01:00
siginfo.h UAPI: (Scripted) Disintegrate arch/mips/include/asm 2012-10-09 09:47:14 +01:00
signal.h Fix breakage in MIPS siginfo handling 2013-03-19 19:15:52 +01:00
sim.h mips: switch to generic sys_fork() and sys_clone() 2013-02-03 18:33:02 -05:00
smp-cps.h MIPS: pm-cps: add PM state entry code for CPS systems 2014-05-28 16:20:31 +01:00
smp-ops.h MIPS: Fix warning when including smp-ops.h with CONFIG_SMP=n 2014-03-31 18:17:13 +02:00
smp.h MIPS: introduce cpu_coherent_mask 2014-05-02 16:39:13 +01:00
smtc_ipi.h
smtc_proc.h
smtc.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
sni.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
socket.h UAPI: (Scripted) Disintegrate arch/mips/include/asm 2012-10-09 09:47:14 +01:00
sparsemem.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
spinlock_types.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
spinlock.h MIPS: Remove redundant instructions from arch_spin_{,try}lock. 2013-04-26 17:18:24 +02:00
spram.h
stackframe.h MIPS: Fix gigaton of warning building with microMIPS. 2014-03-31 18:17:12 +02:00
stackprotector.h MIPS: initial stack protector support 2013-07-01 15:10:48 +02:00
stacktrace.h MIPS: Add new unwind_stack variant 2011-06-15 14:35:33 +02:00
string.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
suspend.h PM / Hibernate: Remove arch_prepare_suspend() 2011-05-24 23:35:55 +02:00
switch_to.h MIPS: Basic MSA context switching support 2014-03-26 23:09:10 +01:00
syscall.h Merge git://git.infradead.org/users/eparis/audit 2014-04-12 12:38:53 -07:00
termios.h UAPI: (Scripted) Disintegrate arch/mips/include/asm 2012-10-09 09:47:14 +01:00
thread_info.h MIPS: Basic MSA context switching support 2014-03-26 23:09:10 +01:00
time.h MIPS: Always register R4K clock when selected 2013-10-29 21:25:26 +01:00
timex.h MIPS: Reimplement get_cycles(). 2013-09-18 16:31:49 +02:00
tlb.h MIPS: tlb: Set the EHINV bit for TLBINVF cores when invalidating the TLB 2014-01-22 20:18:59 +01:00
tlbdebug.h
tlbflush.h
tlbmisc.h MIPS: Fix Jazz 64-bit build error. 2011-12-07 22:01:45 +00:00
topology.h sched: Remove unused mc_capable() and smt_capable() 2014-03-11 12:05:45 +01:00
traps.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
txx9irq.h
txx9pio.h
txx9tmr.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
types.h UAPI: (Scripted) Disintegrate arch/mips/include/asm 2012-10-09 09:47:14 +01:00
uaccess.h MIPS: asm: uaccess: Add EVA support for str*_user operations 2014-03-26 23:09:16 +01:00
uasm.h MIPS: uasm: add MT ASE yield instruction 2014-05-28 16:20:28 +01:00
unaligned.h
unistd.h compat: let architectures define __ARCH_WANT_COMPAT_SYS_GETDENTS64 2014-03-04 09:05:33 +01:00
user.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
vdso.h
vga.h MIPS: Fix VGA_MAP_MEM macro. 2013-09-18 17:13:58 +02:00
vpe.h Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2014-01-30 17:20:32 -08:00
war.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
watch.h
wbflush.h