summaryrefslogtreecommitdiff
path: root/drivers/soc
diff options
context:
space:
mode:
authorRohit Gupta <rohgup@codeaurora.org>2014-12-11 10:44:25 -0800
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 21:22:21 -0700
commita6928ae603eebb6d3b08f92cb0a7dcec3c98f461 (patch)
tree4a7af45e452b467578b47fec2cdc037a6b67e388 /drivers/soc
parent86d4e1554fd8a00875066d302cf141da0eb7dcf7 (diff)
soc: qcom: msm_performance: Maintain correct CPU offline status
As per the current code, if any other entity decides to offline a CPU and the module disallows it from coming up to meet the current request, when cluster control is released the CPU in question might be left offline since the module only plugs back in cores which it itself offlined. Hence it is crucial to maintain a correct status of offlined cores to be brought back up online on control release request. This change identifies the CPU that module prevents from being onlined so that it is restored back when cluster control is released. Change-Id: I87831eca879d1cf7d33f88a881e0427641e39bd6 Signed-off-by: Rohit Gupta <rohgup@codeaurora.org>
Diffstat (limited to 'drivers/soc')
-rw-r--r--drivers/soc/qcom/msm_performance.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/soc/qcom/msm_performance.c b/drivers/soc/qcom/msm_performance.c
index 193cc8218bea..98974b3ed2ef 100644
--- a/drivers/soc/qcom/msm_performance.c
+++ b/drivers/soc/qcom/msm_performance.c
@@ -524,6 +524,7 @@ static int __ref msm_performance_cpu_callback(struct notifier_block *nfb,
if (i_hp->max_cpu_request <=
num_online_managed(i_hp->cpus)) {
pr_debug("msm_perf: Prevent CPU%d onlining\n", cpu);
+ cpumask_set_cpu(cpu, i_hp->offlined_cpus);
return NOTIFY_BAD;
}
cpumask_clear_cpu(cpu, i_hp->offlined_cpus);