diff options
author | Rohit Gupta <rohgup@codeaurora.org> | 2014-12-11 10:44:25 -0800 |
---|---|---|
committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 21:22:21 -0700 |
commit | a6928ae603eebb6d3b08f92cb0a7dcec3c98f461 (patch) | |
tree | 4a7af45e452b467578b47fec2cdc037a6b67e388 /drivers/soc | |
parent | 86d4e1554fd8a00875066d302cf141da0eb7dcf7 (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.c | 1 |
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); |