lkml.org 
[lkml]   [2012]   [Mar]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 11/76] ARM: shmobile: Consolidate time keeping and irq enable
    Date
    From: Robert Lee <rob.lee@linaro.org>

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

    Signed-off-by: Robert Lee <rob.lee@linaro.org>
    Reviewed-by: Kevin Hilman <khilman@ti.com>
    Reviewed-by: Daniel Lezcano <daniel.lezcano@linaro.org>
    Acked-by: Jean Pihet <j-pihet@ti.com>
    Signed-off-by: Len Brown <len.brown@intel.com>
    ---
    arch/arm/mach-shmobile/cpuidle.c | 31 +++++++------------------------
    1 file changed, 7 insertions(+), 24 deletions(-)

    diff --git a/arch/arm/mach-shmobile/cpuidle.c b/arch/arm/mach-shmobile/cpuidle.c
    index 1b23342..ca23b20 100644
    --- a/arch/arm/mach-shmobile/cpuidle.c
    +++ b/arch/arm/mach-shmobile/cpuidle.c
    @@ -14,6 +14,7 @@
    #include <linux/module.h>
    #include <linux/err.h>
    #include <asm/system.h>
    +#include <asm/cpuidle.h>
    #include <asm/io.h>

    static void shmobile_enter_wfi(void)
    @@ -29,37 +30,19 @@ static int shmobile_cpuidle_enter(struct cpuidle_device *dev,
    struct cpuidle_driver *drv,
    int index)
    {
    - ktime_t before, after;
    -
    - before = ktime_get();
    -
    - local_irq_disable();
    - local_fiq_disable();
    -
    shmobile_cpuidle_modes[index]();

    - local_irq_enable();
    - local_fiq_enable();
    -
    - after = ktime_get();
    - dev->last_residency = ktime_to_ns(ktime_sub(after, before)) >> 10;
    -
    return index;
    }

    static struct cpuidle_device shmobile_cpuidle_dev;
    static struct cpuidle_driver shmobile_cpuidle_driver = {
    - .name = "shmobile_cpuidle",
    - .owner = THIS_MODULE,
    - .states[0] = {
    - .name = "C1",
    - .desc = "WFI",
    - .exit_latency = 1,
    - .target_residency = 1 * 2,
    - .flags = CPUIDLE_FLAG_TIME_VALID,
    - },
    - .safe_state_index = 0, /* C1 */
    - .state_count = 1,
    + .name = "shmobile_cpuidle",
    + .owner = THIS_MODULE,
    + .en_core_tk_irqen = 1,
    + .states[0] = ARM_CPUIDLE_WFI_STATE,
    + .safe_state_index = 0, /* C1 */
    + .state_count = 1,
    };

    void (*shmobile_cpuidle_setup)(struct cpuidle_driver *drv);
    --
    1.7.10.rc2.19.gfae9d


    \
     
     \ /
      Last update: 2012-03-30 12:21    [W:0.072 / U:0.024 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site