diff options
author | Srinivas Rao L <lsrao@codeaurora.org> | 2014-12-08 11:36:13 +0530 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2015-06-25 04:42:58 -0700 |
commit | 30c53de5da2d487fcddfd86254a72d6a25277330 (patch) | |
tree | adf22b1e5685ccbe62572f40621f13761a71b7bd | |
parent | 1a5ee6492e3eeb3c0d52216d153501e51f6c2253 (diff) | |
download | qcom-30c53de5da2d487fcddfd86254a72d6a25277330.tar.gz |
msm: lpm-levels: Initialize last level for cluster at probe
Cluster lpm's last executed level info needs to be initialized at probe.
This data when left uninitialized would result in the top level cluster
having an incorrect, lpm state, view of a child cluster. This incorrect
view could result in one of the following race conditions. CCI could be
programmed to enter a low power mode even though one of the cores is
online. RPM SPM interrupt may be masked by a core that is not the last
core in the system.
Change-Id: I663da7e9b5972ed572546c0d87ce8851ecf8e56b
Signed-off-by: Srinivas Rao L <lsrao@codeaurora.org>
-rw-r--r-- | drivers/cpuidle/lpm-levels-of.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/cpuidle/lpm-levels-of.c b/drivers/cpuidle/lpm-levels-of.c index 09f480308d1..b737381f95c 100644 --- a/drivers/cpuidle/lpm-levels-of.c +++ b/drivers/cpuidle/lpm-levels-of.c @@ -673,6 +673,8 @@ struct lpm_cluster *parse_cluster(struct device_node *node, } } + c->last_level = c->nlevels-1; + return c; failed_parse_cluster: |