]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ARM: at91: cpuidle: Fix target_residency
authorDaniel Lezcano <daniel.lezcano@linaro.org>
Fri, 21 Jun 2013 12:36:59 +0000 (14:36 +0200)
committerNicolas Ferre <nicolas.ferre@atmel.com>
Fri, 21 Jun 2013 14:52:00 +0000 (16:52 +0200)
The following commit:

commit 7e348b9012522fa0efd854d20d210d5e57fcedd1
Author: Robert Lee <rob.lee@linaro.org>
Date:   Tue Mar 20 15:22:43 2012 -0500

    ARM: at91: Consolidate time keeping and irq enable

    Enable core cpuidle timekeeping and irq enabling and remove that
    handling from this code.

introduced an additional zero to the state1 (suspend) target residency.

With a periodic tick, the cpu never enters the state1 with both 10000 and
100000.

With a tickless system, it enters to state1 much more often with the
initial value, roughly x7 more.

Fix it by setting the value to 10ms again.

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
[nicola.ferre@atmel.com: add precisions given by Daniel to commit message]
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
arch/arm/mach-at91/cpuidle.c

index 69f9e3bbf4e5642723688c950521039fbb1d9704..4ec6a6d9b9be7e7e0e853ad17a57f2ae2d7b986b 100644 (file)
@@ -51,7 +51,7 @@ static struct cpuidle_driver at91_idle_driver = {
        .states[1]              = {
                .enter                  = at91_enter_idle,
                .exit_latency           = 10,
-               .target_residency       = 100000,
+               .target_residency       = 10000,
                .flags                  = CPUIDLE_FLAG_TIME_VALID,
                .name                   = "RAM_SR",
                .desc                   = "WFI and DDR Self Refresh",