From: Joseph Lo Date: Mon, 8 Oct 2012 10:24:16 +0000 (+0800) Subject: ARM: tegra: cpuidle: replace LP3 with ARM_CPUIDLE_WFI_STATE X-Git-Tag: firefly_0821_release~3680^2~1484^2~23^2~9 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=d5db9a44229058ddfe4773aaefa5a465344d7b10;p=firefly-linux-kernel-4.4.55.git ARM: tegra: cpuidle: replace LP3 with ARM_CPUIDLE_WFI_STATE The Tegra CPU idle LP3 state is doing ARM WFI only. So it's same with the common ARM_CPUIDLE_WFI_STATE. Using it to replace LP3 now. Signed-off-by: Joseph Lo Signed-off-by: Stephen Warren --- diff --git a/arch/arm/mach-tegra/cpuidle.c b/arch/arm/mach-tegra/cpuidle.c index 9a6f051b382e..4e0b07c7963c 100644 --- a/arch/arm/mach-tegra/cpuidle.c +++ b/arch/arm/mach-tegra/cpuidle.c @@ -23,58 +23,22 @@ #include #include -#include #include -#include -#include - -static int tegra_idle_enter_lp3(struct cpuidle_device *dev, - struct cpuidle_driver *drv, int index); +#include struct cpuidle_driver tegra_idle_driver = { .name = "tegra_idle", .owner = THIS_MODULE, + .en_core_tk_irqen = 1, .state_count = 1, .states = { - [0] = { - .enter = tegra_idle_enter_lp3, - .exit_latency = 10, - .target_residency = 10, - .power_usage = 600, - .flags = CPUIDLE_FLAG_TIME_VALID, - .name = "LP3", - .desc = "CPU flow-controlled", - }, + [0] = ARM_CPUIDLE_WFI_STATE_PWR(600), }, }; static DEFINE_PER_CPU(struct cpuidle_device, tegra_idle_device); -static int tegra_idle_enter_lp3(struct cpuidle_device *dev, - struct cpuidle_driver *drv, int index) -{ - ktime_t enter, exit; - s64 us; - - local_irq_disable(); - local_fiq_disable(); - - enter = ktime_get(); - - cpu_do_idle(); - - exit = ktime_sub(ktime_get(), enter); - us = ktime_to_us(exit); - - local_fiq_enable(); - local_irq_enable(); - - dev->last_residency = us; - - return index; -} - static int __init tegra_cpuidle_init(void) { int ret;