Commit | Line | Data |
---|---|---|
bdc92d74 RB |
1 | #ifndef __ASM_IDLE_H |
2 | #define __ASM_IDLE_H | |
3 | ||
da9f970f | 4 | #include <linux/cpuidle.h> |
bdc92d74 RB |
5 | #include <linux/linkage.h> |
6 | ||
7 | extern void (*cpu_wait)(void); | |
087d990b RB |
8 | extern void r4k_wait(void); |
9 | extern asmlinkage void __r4k_wait(void); | |
bdc92d74 RB |
10 | extern void r4k_wait_irqoff(void); |
11 | extern void __pastwait(void); | |
12 | ||
f94d9a8e RB |
13 | static inline int using_rollback_handler(void) |
14 | { | |
15 | return cpu_wait == r4k_wait; | |
16 | } | |
17 | ||
18 | static inline int address_is_in_r4k_wait_irqoff(unsigned long addr) | |
19 | { | |
20 | return addr >= (unsigned long)r4k_wait_irqoff && | |
21 | addr < (unsigned long)__pastwait; | |
22 | } | |
23 | ||
da9f970f PB |
24 | extern int mips_cpuidle_wait_enter(struct cpuidle_device *dev, |
25 | struct cpuidle_driver *drv, int index); | |
26 | ||
27 | #define MIPS_CPUIDLE_WAIT_STATE {\ | |
28 | .enter = mips_cpuidle_wait_enter,\ | |
29 | .exit_latency = 1,\ | |
30 | .target_residency = 1,\ | |
31 | .power_usage = UINT_MAX,\ | |
32 | .flags = CPUIDLE_FLAG_TIME_VALID,\ | |
33 | .name = "wait",\ | |
34 | .desc = "MIPS wait",\ | |
35 | } | |
36 | ||
bdc92d74 | 37 | #endif /* __ASM_IDLE_H */ |