summaryrefslogtreecommitdiff
path: root/arch/arm/mach-omap2/pm.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-omap2/pm.c')
-rw-r--r--arch/arm/mach-omap2/pm.c25
1 files changed, 16 insertions, 9 deletions
diff --git a/arch/arm/mach-omap2/pm.c b/arch/arm/mach-omap2/pm.c
index 6bd5f3b9c7a..ed39eecef3a 100644
--- a/arch/arm/mach-omap2/pm.c
+++ b/arch/arm/mach-omap2/pm.c
@@ -274,6 +274,20 @@ void susp_again_post_decision(bool should_suspend)
pr_err("Unable to post decision, didn't get lock");
}
+void susp_again_clear_decision()
+{
+ int res;
+ //clear flags for next time
+ res = mutex_trylock(&susp_again_decision_mutex);
+ if(res) {
+ pr_info("susp again: clearing flag\n");
+ accel_should_suspend = NO_DECISION; // Not true or false
+ mutex_unlock(&susp_again_decision_mutex);
+ }
+
+
+}
+
//Return True if going back to sleep
bool olio_suspend_again(void) {
int res;
@@ -298,23 +312,16 @@ bool olio_suspend_again(void) {
#define MAX_WAIT_TIME_SUSP_AGAIN msecs_to_jiffies(15)
res = wait_event_timeout(wq_susp_again, accel_should_suspend != NO_DECISION, MAX_WAIT_TIME_SUSP_AGAIN);
if(!res)
- pr_warn("Suspend again was not acknowledged by driver\n");
+ pr_warn("susp again: warning! decision not posted by accel driver\n");
#ifdef SUSPEND_AGAIN_THAW_KTHREADS
freeze_kernel_threads();
#endif
if (accel_should_suspend != NO_DECISION) {
- pr_info("Suspend again decision: %i", accel_should_suspend);
+ pr_info("susp again: decision: %i \n", accel_should_suspend);
should_suspend = accel_should_suspend;
}
- //clear flags for next time
- res = mutex_trylock(&susp_again_decision_mutex);
- if(res) {
- pr_info("susp again: clearing flag");
- accel_should_suspend = NO_DECISION; // Not true or false
- mutex_unlock(&susp_again_decision_mutex);
- }
return should_suspend;
}