linux_dsm_epyc7002/arch/nds32/include/asm
Nick Hu 7938e6315c nds32: Power management for nds32
There are three sleep states in nds32:
	suspend to idle,
	suspend to standby,
	suspend to ram

In suspend to ram, we use the 'standby' instruction to emulate
power management device to hang the system util wakeup source
send wakeup events to break the loop.

First, we push the general purpose registers and system registers
to stack. Second, we translate stack pointer to physical address
and store to memory to save the stack pointer. Third, after write
back and invalid the cache we hang in 'standby' intruction.
When wakeup source trigger wake up events, the loop will be break
and resume the system.

Signed-off-by: Nick Hu <nickhu@andestech.com>
Acked-by: Pavel Machek <pavel@ucw.cz>
Acked-by: Greentime Hu <greentime@andestech.com>
Signed-off-by: Greentime Hu <greentime@andestech.com>
2018-11-06 18:01:41 +08:00
..
assembler.h
barrier.h nds32: Atomic operations 2018-02-22 10:44:32 +08:00
bitfield.h nds32: Fix bug in bitfield.h 2018-11-06 18:01:39 +08:00
cache_info.h nds32: Cache and TLB routines 2018-02-22 10:44:32 +08:00
cache.h nds32: Cache and TLB routines 2018-02-22 10:44:32 +08:00
cacheflush.h nds32: To implement these icache invalidation APIs since nds32 cores don't snoop 2018-07-03 11:11:56 +08:00
current.h nds32: Process management 2018-02-22 10:44:32 +08:00
delay.h nds32: Miscellaneous header files 2018-02-22 10:44:34 +08:00
elf.h nds32: fix build error because of wrong semicolon 2018-09-04 14:45:20 +08:00
fixmap.h nds32: MMU definitions 2018-02-22 10:44:31 +08:00
ftrace.h nds32/ftrace: Support dynamic function tracer 2018-09-04 14:45:18 +08:00
futex.h nds32: fix build error "relocation truncated to fit: R_NDS32_25_PCREL_RELA" when 2018-07-05 16:13:47 +08:00
highmem.h nds32: MMU definitions 2018-02-22 10:44:31 +08:00
io.h nds32: Fix the unknown type u8 issue. 2018-05-23 13:26:21 +08:00
irqflags.h nds32: IRQ handling 2018-02-22 10:44:32 +08:00
Kbuild nds32: Perf porting 2018-11-06 18:01:40 +08:00
l2_cache.h nds32: L2 cache support 2018-02-22 10:44:34 +08:00
linkage.h nds32: Miscellaneous header files 2018-02-22 10:44:34 +08:00
memory.h nds32: MMU definitions 2018-02-22 10:44:31 +08:00
mmu_context.h nds32: Cache and TLB routines 2018-02-22 10:44:32 +08:00
mmu.h nds32: MMU definitions 2018-02-22 10:44:31 +08:00
module.h nds32: Loadable modules 2018-02-22 10:44:34 +08:00
nds32.h nds32: Add macro definition for offset of lp register on stack 2018-09-04 14:45:19 +08:00
page.h nds32: Fix the symbols undefined issue by exporting them. 2018-05-23 13:26:20 +08:00
perf_event.h nds32: Perf porting 2018-11-06 18:01:40 +08:00
pgalloc.h nds32: MMU definitions 2018-02-22 10:44:31 +08:00
pgtable.h nds32: Fix drivers/gpu/drm/udl/udl_fb.c building error by defining PAGE_SHARED 2018-05-23 13:26:20 +08:00
pmu.h nds32: Perf porting 2018-11-06 18:01:40 +08:00
proc-fns.h nds32: Cache and TLB routines 2018-02-22 10:44:32 +08:00
processor.h treewide: remove current_text_addr 2018-10-31 08:54:12 -07:00
ptrace.h nds32: Exception handling 2018-02-22 10:44:31 +08:00
shmparam.h nds32: MMU definitions 2018-02-22 10:44:31 +08:00
stacktrace.h nds32: Perf porting 2018-11-06 18:01:40 +08:00
string.h nds32: Library functions 2018-02-22 10:44:33 +08:00
suspend.h nds32: Power management for nds32 2018-11-06 18:01:41 +08:00
swab.h nds32: Library functions 2018-02-22 10:44:33 +08:00
syscall.h nds32: System calls handling 2018-02-22 10:44:33 +08:00
syscalls.h nds32: System calls handling 2018-02-22 10:44:33 +08:00
thread_info.h nds32: Process management 2018-02-22 10:44:32 +08:00
tlb.h nds32: Cache and TLB routines 2018-02-22 10:44:32 +08:00
tlbflush.h nds32: Cache and TLB routines 2018-02-22 10:44:32 +08:00
uaccess.h nds32: Extract the checking and getting pointer to a macro 2018-09-04 14:45:17 +08:00
unistd.h nds32: System calls handling 2018-02-22 10:44:33 +08:00
vdso_datapage.h nds32: VDSO support 2018-02-22 10:44:33 +08:00
vdso_timer_info.h nds32: VDSO support 2018-02-22 10:44:33 +08:00
vdso.h nds32: VDSO support 2018-02-22 10:44:33 +08:00