Message ID | 1364991322-20585-6-git-send-email-daniel.lezcano@linaro.org |
---|---|
State | Accepted |
Commit | c062d44311107de7e384e26d7b97803657cf44f8 |
Headers | show |
On 4/3/2013 5:45 PM, Daniel Lezcano wrote: > The davinci_enter_idle is called from the cpuidle with the > cpuidle_wrap_enter function. This one does the time compution > for entering and exiting the idle function and then we call > again cpuidle_wrap_enter for cpu_do_idle. This is wrong, we > are calling recursively cpuidle_wrap_enter for nothing and > furthermore reenabling the local irq. > > Remove this and replace it by the cpu_do_idle function. > > Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> > Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com> Acked-by: Sekhar Nori <nsekhar@ti.com> Thanks, Sekhar
diff --git a/arch/arm/mach-davinci/cpuidle.c b/arch/arm/mach-davinci/cpuidle.c index 5ac9e93..22d6d4a 100644 --- a/arch/arm/mach-davinci/cpuidle.c +++ b/arch/arm/mach-davinci/cpuidle.c @@ -50,14 +50,10 @@ static void davinci_save_ddr_power(int enter, bool pdown) /* Actual code that puts the SoC in different idle states */ static int davinci_enter_idle(struct cpuidle_device *dev, - struct cpuidle_driver *drv, - int index) + struct cpuidle_driver *drv, int index) { davinci_save_ddr_power(1, ddr2_pdown); - - index = cpuidle_wrap_enter(dev, drv, index, - arm_cpuidle_simple_enter); - + cpu_do_idle(); davinci_save_ddr_power(0, ddr2_pdown); return index;