aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-exynos/cpuidle-exynos4.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-exynos/cpuidle-exynos4.c')
-rw-r--r--arch/arm/mach-exynos/cpuidle-exynos4.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/arch/arm/mach-exynos/cpuidle-exynos4.c b/arch/arm/mach-exynos/cpuidle-exynos4.c
index 3bfc3fb..88b941f 100644
--- a/arch/arm/mach-exynos/cpuidle-exynos4.c
+++ b/arch/arm/mach-exynos/cpuidle-exynos4.c
@@ -10,6 +10,7 @@
#include <linux/kernel.h>
#include <linux/init.h>
+#include <linux/cpu_pm.h>
#include <linux/cpuidle.h>
#include <linux/io.h>
#include <linux/suspend.h>
@@ -568,6 +569,8 @@ static int exynos4_enter_core0_aftr(struct cpuidle_device *dev,
local_irq_disable();
+ cpu_pm_enter();
+
if (log_en)
pr_info("+++aftr\n");
@@ -630,6 +633,8 @@ early_wakeup:
if (log_en)
pr_info("---aftr\n");
+ cpu_pm_exit();
+
local_irq_enable();
idle_time = (after.tv_sec - before.tv_sec) * USEC_PER_SEC +
(after.tv_usec - before.tv_usec);
@@ -663,12 +668,14 @@ static int exynos4_enter_core0_lpa(struct cpuidle_device *dev,
#endif
local_irq_disable();
+ cpu_pm_enter();
+
#if defined(CONFIG_INTERNAL_MODEM_IF) || defined(CONFIG_SAMSUNG_PHONE_TTY)
gpio_set_value(GPIO_PDA_ACTIVE, 0);
#endif
if (log_en)
- pr_info("+++lpa\n");
+ pr_debug("+++lpa\n");
do_gettimeofday(&before);
@@ -741,7 +748,7 @@ early_wakeup:
ARRAY_SIZE(exynos4_lpa_save));
#ifdef CONFIG_EXYNOS4_CPUFREQ
- if ((exynos_result_of_asv > 1) && !soc_is_exynos4210()) {
+ if (!soc_is_exynos4210()) {
exynos4x12_set_abb_member(ABB_ARM, abb_val);
exynos4x12_set_abb_member(ABB_INT, abb_val_int);
}
@@ -758,11 +765,13 @@ early_wakeup:
do_gettimeofday(&after);
if (log_en)
- pr_info("---lpa\n");
+ pr_debug("---lpa\n");
#if defined(CONFIG_INTERNAL_MODEM_IF) || defined(CONFIG_SAMSUNG_PHONE_TTY)
gpio_set_value(GPIO_PDA_ACTIVE, 1);
#endif
+ cpu_pm_exit();
+
local_irq_enable();
idle_time = (after.tv_sec - before.tv_sec) * USEC_PER_SEC +
(after.tv_usec - before.tv_usec);