Messages in this thread | | | Date | Thu, 18 Feb 2021 16:30:13 +0530 | From | Viresh Kumar <> | Subject | Re: [PATCH v7 2/3] scmi-cpufreq: Get opp_shared_cpus from opp-v2 for EM |
| |
On 15-02-21, 07:51, Nicola Mazzucato wrote: > + /* > + * Add OPPs only on those CPUs for which we haven't already done so. > + */ > nr_opp = dev_pm_opp_get_opp_count(cpu_dev);
Please add a more detailed comment here explaining why you expect OPPs to be present here in advance. i.e. you _may_ have policy per CPU even though OPP core says OPPs are shared.. It is not straight forward to catch otherwise.
> if (nr_opp <= 0) { > - dev_err(cpu_dev, "%s: No OPPs for this device: %d\n", > - __func__, ret); > - > - ret = -ENODEV; > - goto out_free_priv; > + ret = handle->perf_ops->device_opps_add(handle, cpu_dev); > + if (ret) { > + dev_warn(cpu_dev, "failed to add opps to the device\n"); > + goto out_free_cpumask; > + } > + > + nr_opp = dev_pm_opp_get_opp_count(cpu_dev); > + if (nr_opp <= 0) { > + dev_err(cpu_dev, "%s: No OPPs for this device: %d\n", > + __func__, ret); > + > + ret = -ENODEV; > + goto out_free_opp; > + } > + > + ret = dev_pm_opp_set_sharing_cpus(cpu_dev, opp_shared_cpus); > + if (ret) { > + dev_err(cpu_dev, "%s: failed to mark OPPs as shared: %d\n", > + __func__, ret); > + > + goto out_free_opp; > + } > + > + power_scale_mw = handle->perf_ops->power_scale_mw_get(handle); > + em_dev_register_perf_domain(cpu_dev, nr_opp, &em_cb, > + opp_shared_cpus, power_scale_mw); > }
-- viresh
| |