Merge branches 'pm-em', 'pm-opp' and 'pm-devfreq'
Merge energy model management, OPP (operating performance points) and devfreq updates for 6.18-rc1: - Prevent CPU capacity updates after registering a perf domain from failing on a first CPU that is not present (Christian Loehle) - Add support for the cases in which frequency alone is not sufficient to uniquely identify an OPP (Krishna Chaitanya Chundru) - Use to_result() for OPP error handling in Rust (Onur Özkan) - Add support for LPDDR5 on Rockhip RK3588 SoC to rockchip-dfi devfreq driver (Nicolas Frattaroli) - Fix an issue where DDR cycle counts on RK3588/RK3528 with LPDDR4(X) are reported as half by adding a cycle multiplier to the DFI driver in rockchip-dfi devfreq-event driver (Nicolas Frattaroli) - Fix missing error pointer dereference check of regulator instance in the mtk-cci devfreq driver probe and remove a redundant condition from an if () statement in that driver (Dan Carpenter, Liao Yuanhong) * pm-em: PM: EM: Fix late boot with holes in CPU topology * pm-opp: OPP: Add support to find OPP for a set of keys rust: opp: use to_result for error handling * pm-devfreq: PM / devfreq: rockchip-dfi: add support for LPDDR5 PM / devfreq: rockchip-dfi: double count on RK3588 PM / devfreq: mtk-cci: avoid redundant conditions PM / devfreq: mtk-cci: Fix potential error pointer dereference in probe()
This commit is contained in:
@@ -799,7 +799,7 @@ void em_adjust_cpu_capacity(unsigned int cpu)
|
||||
static void em_check_capacity_update(void)
|
||||
{
|
||||
cpumask_var_t cpu_done_mask;
|
||||
int cpu;
|
||||
int cpu, failed_cpus = 0;
|
||||
|
||||
if (!zalloc_cpumask_var(&cpu_done_mask, GFP_KERNEL)) {
|
||||
pr_warn("no free memory\n");
|
||||
@@ -817,10 +817,8 @@ static void em_check_capacity_update(void)
|
||||
|
||||
policy = cpufreq_cpu_get(cpu);
|
||||
if (!policy) {
|
||||
pr_debug("Accessing cpu%d policy failed\n", cpu);
|
||||
schedule_delayed_work(&em_update_work,
|
||||
msecs_to_jiffies(1000));
|
||||
break;
|
||||
failed_cpus++;
|
||||
continue;
|
||||
}
|
||||
cpufreq_cpu_put(policy);
|
||||
|
||||
@@ -835,6 +833,9 @@ static void em_check_capacity_update(void)
|
||||
em_adjust_new_capacity(cpu, dev, pd);
|
||||
}
|
||||
|
||||
if (failed_cpus)
|
||||
schedule_delayed_work(&em_update_work, msecs_to_jiffies(1000));
|
||||
|
||||
free_cpumask_var(cpu_done_mask);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user