summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaulik Shah <mkshah@codeaurora.org>2016-11-03 15:17:44 +0530
committerMaulik Shah <mkshah@codeaurora.org>2016-12-19 12:50:09 +0530
commit4c79c86589315f2444c629ebf2fdf1e119e6c8d4 (patch)
tree512f49000b3c881de1c4d4b9d948a73d784a856f
parent3162449f7d245d45f007d4ea3224576ddf1bcc63 (diff)
drivers: cpuidle: lpm-levels: Fix round off error in calculation
Fix round off error in calculation of wake up time programmed. Current implementation adds extra delay in wake up time due to round off error in conversion of usec to SCLK. Use nsec instead. CRs-fixed: 1081884 Change-Id: Iecb3b06cde79c59c24a0e56ef05c41a5f9b6204e Signed-off-by: Maulik Shah <mkshah@codeaurora.org>
-rw-r--r--drivers/cpuidle/lpm-levels.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/cpuidle/lpm-levels.c b/drivers/cpuidle/lpm-levels.c
index de033cc37a15..81801605d6e7 100644
--- a/drivers/cpuidle/lpm-levels.c
+++ b/drivers/cpuidle/lpm-levels.c
@@ -1132,11 +1132,11 @@ static int cluster_configure(struct lpm_cluster *cluster, int idx,
goto failed_set_mode;
}
- us = us + 1;
+ us = (us + 1) * 1000;
clear_predict_history();
clear_cl_predict_history();
- do_div(us, USEC_PER_SEC/SCLK_HZ);
+ do_div(us, NSEC_PER_SEC/SCLK_HZ);
msm_mpm_enter_sleep(us, from_idle, cpumask);
}