aboutsummaryrefslogtreecommitdiff
path: root/arch/powerpc/platforms/pasemi/pasemi.h
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2007-11-07 09:26:06 -0600
committerOlof Johansson <olof@lixom.net>2007-12-01 13:03:40 -0600
commit8b32bc03256c82a6a4fcb3c2520b54469b74ec82 (patch)
treedead882774db1a0f6069e6962f85e0c0117eadbb /arch/powerpc/platforms/pasemi/pasemi.h
parent0d08a84770cb03aea24268e515342d44df8ea588 (diff)
[POWERPC] pasemi: Don't enter powersaving states from elevated astates
When the PWRficient cpus are entered into powersavings states, the astate is automatically dropped down to 0. While we still restore it when we come out of idle, it can still cause some weird effects with respect to performance (especially since it takes a while to ramp up to higher astates). So, to avoid this, don't enter power savings when the cpufreq driver (or user) has set higher astates than 0. The restore is still required, since there's a chance the astate has been raised from the other cpu while the idling one was asleep. Signed-off-by: Olof Johansson <olof@lixom.net>
Diffstat (limited to 'arch/powerpc/platforms/pasemi/pasemi.h')
-rw-r--r--arch/powerpc/platforms/pasemi/pasemi.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/powerpc/platforms/pasemi/pasemi.h b/arch/powerpc/platforms/pasemi/pasemi.h
index 516acabb4e9..c96127b029b 100644
--- a/arch/powerpc/platforms/pasemi/pasemi.h
+++ b/arch/powerpc/platforms/pasemi/pasemi.h
@@ -16,8 +16,14 @@ extern void idle_doze(void);
/* Restore astate to last set */
#ifdef CONFIG_PPC_PASEMI_CPUFREQ
+extern int check_astate(void);
extern void restore_astate(int cpu);
#else
+static inline int check_astate(void)
+{
+ /* Always return >0 so we never power save */
+ return 1;
+}
static inline void restore_astate(int cpu)
{
}