diff options
author | Rob Herring <rob.herring@calxeda.com> | 2013-02-26 16:16:53 -0600 |
---|---|---|
committer | Rob Herring <rob.herring@calxeda.com> | 2013-10-01 16:30:18 -0500 |
commit | 34a5eeb202eb43f36dd39a287669e0b686ddf728 (patch) | |
tree | 397f060b5d3ffb124210e7b13af4cca4d8551803 /drivers/cpuidle/cpuidle-calxeda.c | |
parent | 15c03dd4859ab16f9212238f29dd315654aa94f6 (diff) |
cpuidle: calxeda: add cpu_pm_enter/exit calls
Wnen powergating the core, we need to call cpu pm notifiers to save VFP
state (!SMP only) and resetting the breakpoint h/w.
Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: linux-pm@vger.kernel.org
Diffstat (limited to 'drivers/cpuidle/cpuidle-calxeda.c')
-rw-r--r-- | drivers/cpuidle/cpuidle-calxeda.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/cpuidle/cpuidle-calxeda.c b/drivers/cpuidle/cpuidle-calxeda.c index 346058479572..bed707ab6d6e 100644 --- a/drivers/cpuidle/cpuidle-calxeda.c +++ b/drivers/cpuidle/cpuidle-calxeda.c @@ -21,6 +21,7 @@ */ #include <linux/cpuidle.h> +#include <linux/cpu_pm.h> #include <linux/init.h> #include <linux/io.h> #include <linux/of.h> @@ -66,8 +67,11 @@ static int calxeda_pwrdown_idle(struct cpuidle_device *dev, struct cpuidle_driver *drv, int index) { + cpu_pm_enter(); highbank_set_cpu_jump(smp_processor_id(), cpu_resume); cpu_suspend(0, calxeda_idle_finish); + cpu_pm_exit(); + return index; } |