drivers: cpuidle: lpm-levels: Fix wakeup time for suspend
During suspend, where there isn't a explicit timer requirement, suspend driver adds a ~0ULL value to current timer value and passes it on to RPM as the wakeup timer. However, RPM doesn't handle overflow of timer wakeups, which could indicate that the master is requesting a wakeup in the past and causes a crash. Adding 1 to current wakeup times, sets the wakeup time to 0 for suspend usecases. MPM maps a 0 wakeup time to ~0ULL which would be handled correctly on the RPM side. Change-Id: Ida24c83eb2f1ae94ad7168b6065db69da35c3ec9 Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org> Signed-off-by: Girish S Ghongdemath <girishsg@codeaurora.org>
This commit is contained in:
parent
9e2d528dc4
commit
95725d4dc6
1 changed files with 1 additions and 0 deletions
|
@ -674,6 +674,7 @@ static int cluster_configure(struct lpm_cluster *cluster, int idx,
|
|||
goto failed_set_mode;
|
||||
}
|
||||
|
||||
us = us + 1;
|
||||
do_div(us, USEC_PER_SEC/SCLK_HZ);
|
||||
msm_mpm_enter_sleep(us, from_idle, cpumask);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue