drivers: lpm-levels: Don't allow idle low power modes during resume

Currently we are allowing cpu low power modes when rpm ack is
pending, but it is observed that allowing cpu low power modes
causing ack interrupt getting fired on another cpu with some delay.
Fix for this is to disallowing cpu low power modes when
rpm ack is pending.

As this issue is reported only suspend/resume currently,
fix it in only suspend/resume path by not allowing cpu low power
modes in suspend/resume.

Change-Id: I31c1998c7ae48e2094bb98f017f66068319c76b9
Signed-off-by: Anji Jonnala <anjir@codeaurora.org>
This commit is contained in:
Anji Jonnala 2015-07-21 14:39:36 +05:30 committed by Gerrit - the friendly Code Review server
parent 865afa6cc1
commit cf1634499a
1 changed files with 5 additions and 2 deletions

View File

@ -295,6 +295,9 @@ static int cpu_power_select(struct cpuidle_device *dev,
lvl_overhead_energy = pwr_params->energy_overhead;
if (i > 0 && suspend_in_progress)
continue;
if (latency_us < lvl_latency_us)
continue;
@ -914,7 +917,7 @@ static int lpm_suspend_prepare(void)
return 0;
}
static void lpm_suspend_wake(void)
static void lpm_suspend_end(void)
{
suspend_in_progress = false;
msm_mpm_suspend_wake();
@ -957,7 +960,7 @@ static const struct platform_suspend_ops lpm_suspend_ops = {
.enter = lpm_suspend_enter,
.valid = suspend_valid_only_mem,
.prepare_late = lpm_suspend_prepare,
.wake = lpm_suspend_wake,
.end = lpm_suspend_end,
};
static int lpm_probe(struct platform_device *pdev)