lkml.org 
[lkml]   [2021]   [Feb]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [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

\
 
 \ /
  Last update: 2021-02-18 13:48    [W:0.106 / U:0.152 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site