summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSrinivas Rao L <lsrao@codeaurora.org>2014-12-08 11:36:13 +0530
committerGerrit - the friendly Code Review server <code-review@localhost>2015-06-25 04:42:58 -0700
commit30c53de5da2d487fcddfd86254a72d6a25277330 (patch)
treeadf22b1e5685ccbe62572f40621f13761a71b7bd
parent1a5ee6492e3eeb3c0d52216d153501e51f6c2253 (diff)
downloadqcom-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.c2
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: