summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/include
diff options
context:
space:
mode:
authorDeepthi Dharwar2011-11-30 03:46:42 +0100
committerBenjamin Herrenschmidt2011-12-08 03:56:31 +0100
commit707827f3387d9b260d50fa697885a4042cea3bf4 (patch)
treead6b616d17cab85bf39fd42405dd2ae84123811c /arch/powerpc/include
parentpowerpc/cpuidle: Add cpu_idle_wait() to allow switching of idle routines (diff)
downloadkernel-qcow2-linux-707827f3387d9b260d50fa697885a4042cea3bf4.tar.gz
kernel-qcow2-linux-707827f3387d9b260d50fa697885a4042cea3bf4.tar.xz
kernel-qcow2-linux-707827f3387d9b260d50fa697885a4042cea3bf4.zip
powerpc/cpuidle: cpuidle driver for pSeries
This patch implements a back-end cpuidle driver for pSeries based on pseries_dedicated_idle_loop and pseries_shared_idle_loop routines. The driver is built only if CONFIG_CPU_IDLE is set. This cpuidle driver uses global registration of idle states and not per-cpu. Signed-off-by: Deepthi Dharwar <deepthi@linux.vnet.ibm.com> Signed-off-by: Trinabh Gupta <g.trinabh@gmail.com> Signed-off-by: Arun R Bharadwaj <arun.r.bharadwaj@gmail.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/include')
-rw-r--r--arch/powerpc/include/asm/system.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/system.h b/arch/powerpc/include/asm/system.h
index ff6668038799..f56a0a75d989 100644
--- a/arch/powerpc/include/asm/system.h
+++ b/arch/powerpc/include/asm/system.h
@@ -223,6 +223,14 @@ extern void *zalloc_maybe_bootmem(size_t size, gfp_t mask);
extern int powersave_nap; /* set if nap mode can be used in idle loop */
void cpu_idle_wait(void);
+#ifdef CONFIG_PSERIES_IDLE
+extern void update_smt_snooze_delay(int snooze);
+extern int pseries_notify_cpuidle_add_cpu(int cpu);
+#else
+static inline void update_smt_snooze_delay(int snooze) {}
+static inline int pseries_notify_cpuidle_add_cpu(int cpu) { return 0; }
+#endif
+
/*
* Atomic exchange
*