summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Aaberg <jonas.aberg@stericsson.com>2011-09-20 11:34:08 +0200
committerJonas ABERG <jonas.aberg@stericsson.com>2011-09-29 08:49:01 +0200
commit64432d24107f2169566aa1670a54f5f316aec4f4 (patch)
treee946018de902f641d2cd9e9f80bf84fe74ead33a
parent0d440d790c4545209e6bf7e0c0d2e447633276c0 (diff)
ARM: ux500: suspend: Increase suspend speed
Request higher cpu frequency when suspending/resumeing. Change-Id: I9683b1a5b802e3f19a452f6dc261fe0d41017c06 Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/32075
-rw-r--r--arch/arm/mach-ux500/pm/suspend.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/arch/arm/mach-ux500/pm/suspend.c b/arch/arm/mach-ux500/pm/suspend.c
index a3ad87c6d84..ba8d0d6ff05 100644
--- a/arch/arm/mach-ux500/pm/suspend.c
+++ b/arch/arm/mach-ux500/pm/suspend.c
@@ -107,15 +107,31 @@ static void ux500_suspend_wake(void)
(void) prcmu_config_esram0_deep_sleep(ESRAM0_DEEP_SLEEP_STATE_RET);
}
+static int ux500_suspend_begin(suspend_state_t state)
+{
+ (void) prcmu_qos_update_requirement(PRCMU_QOS_ARM_OPP,
+ "suspend", 100);
+ return 0;
+}
+
+static void ux500_suspend_end(void)
+{
+ (void) prcmu_qos_update_requirement(PRCMU_QOS_ARM_OPP,
+ "suspend", 25);
+}
+
static struct platform_suspend_ops ux500_suspend_ops = {
.enter = ux500_suspend_enter,
.valid = ux500_suspend_valid,
.prepare_late = ux500_suspend_prepare_late,
.wake = ux500_suspend_wake,
+ .begin = ux500_suspend_begin,
+ .end = ux500_suspend_end,
};
static __init int ux500_suspend_init(void)
{
+ prcmu_qos_add_requirement(PRCMU_QOS_ARM_OPP, "suspend", 25);
suspend_set_ops(&ux500_suspend_ops);
return 0;
}