diff options
| author | Jonas Aaberg <jonas.aberg@stericsson.com> | 2011-09-20 11:34:08 +0200 |
|---|---|---|
| committer | Jonas ABERG <jonas.aberg@stericsson.com> | 2011-09-29 08:49:01 +0200 |
| commit | 64432d24107f2169566aa1670a54f5f316aec4f4 (patch) | |
| tree | e946018de902f641d2cd9e9f80bf84fe74ead33a | |
| parent | 0d440d790c4545209e6bf7e0c0d2e447633276c0 (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.c | 16 |
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; } |
