Merge "msm: thermal: update LMH DCVSh even when cores are offline"
This commit is contained in:
commit
1233a5e89c
1 changed files with 11 additions and 6 deletions
|
@ -1134,6 +1134,14 @@ static void update_cpu_freq(int cpu, enum freq_limits changed)
|
||||||
if (ret)
|
if (ret)
|
||||||
pr_err("Unable to update policy for cpu:%d. err:%d\n",
|
pr_err("Unable to update policy for cpu:%d. err:%d\n",
|
||||||
cpu, ret);
|
cpu, ret);
|
||||||
|
} else if (lmh_dcvs_available) {
|
||||||
|
trace_thermal_pre_frequency_mit(cpu,
|
||||||
|
cpus[cpu].limited_max_freq,
|
||||||
|
cpus[cpu].limited_min_freq);
|
||||||
|
msm_lmh_dcvs_update(cpu);
|
||||||
|
trace_thermal_post_frequency_mit(cpu,
|
||||||
|
cpufreq_quick_get_max(cpu),
|
||||||
|
cpus[cpu].limited_min_freq);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1621,6 +1629,9 @@ static void update_cluster_freq(void)
|
||||||
changed |= FREQ_LIMIT_MIN;
|
changed |= FREQ_LIMIT_MIN;
|
||||||
cluster_ptr->limited_max_freq = max;
|
cluster_ptr->limited_max_freq = max;
|
||||||
cluster_ptr->limited_min_freq = min;
|
cluster_ptr->limited_min_freq = min;
|
||||||
|
if (online_cpu == -1 && lmh_dcvs_available)
|
||||||
|
online_cpu = cpumask_first(
|
||||||
|
&cluster_ptr->cluster_cores);
|
||||||
if (online_cpu != -1)
|
if (online_cpu != -1)
|
||||||
update_cpu_freq(online_cpu, changed);
|
update_cpu_freq(online_cpu, changed);
|
||||||
}
|
}
|
||||||
|
@ -3646,12 +3657,6 @@ static int __ref msm_thermal_cpu_callback(struct notifier_block *nfb,
|
||||||
|
|
||||||
switch (action & ~CPU_TASKS_FROZEN) {
|
switch (action & ~CPU_TASKS_FROZEN) {
|
||||||
case CPU_UP_PREPARE:
|
case CPU_UP_PREPARE:
|
||||||
/*
|
|
||||||
* Apply LMH freq cap vote, which was requested when the
|
|
||||||
* core was offline.
|
|
||||||
*/
|
|
||||||
if (lmh_dcvs_available)
|
|
||||||
msm_lmh_dcvs_update(cpu);
|
|
||||||
if (!cpumask_test_and_set_cpu(cpu, cpus_previously_online))
|
if (!cpumask_test_and_set_cpu(cpu, cpus_previously_online))
|
||||||
pr_debug("Total prev cores online tracked %u\n",
|
pr_debug("Total prev cores online tracked %u\n",
|
||||||
cpumask_weight(cpus_previously_online));
|
cpumask_weight(cpus_previously_online));
|
||||||
|
|
Loading…
Add table
Reference in a new issue