Lines Matching refs:cpu_dev
25 struct device *cpu_dev; member
73 scmi_get_sharing_cpus(struct device *cpu_dev, struct cpumask *cpumask) in scmi_get_sharing_cpus() argument
78 domain = handle->perf_ops->device_domain_id(cpu_dev); in scmi_get_sharing_cpus()
83 if (cpu == cpu_dev->id) in scmi_get_sharing_cpus()
100 struct device *cpu_dev) in scmi_get_cpu_power() argument
105 domain = handle->perf_ops->device_domain_id(cpu_dev); in scmi_get_cpu_power()
125 struct device *cpu_dev; in scmi_cpufreq_init() local
130 cpu_dev = get_cpu_device(policy->cpu); in scmi_cpufreq_init()
131 if (!cpu_dev) { in scmi_cpufreq_init()
136 ret = handle->perf_ops->device_opps_add(handle, cpu_dev); in scmi_cpufreq_init()
138 dev_warn(cpu_dev, "failed to add opps to the device\n"); in scmi_cpufreq_init()
142 ret = scmi_get_sharing_cpus(cpu_dev, policy->cpus); in scmi_cpufreq_init()
144 dev_warn(cpu_dev, "failed to get sharing cpumask\n"); in scmi_cpufreq_init()
148 ret = dev_pm_opp_set_sharing_cpus(cpu_dev, policy->cpus); in scmi_cpufreq_init()
150 dev_err(cpu_dev, "%s: failed to mark OPPs as shared: %d\n", in scmi_cpufreq_init()
155 nr_opp = dev_pm_opp_get_opp_count(cpu_dev); in scmi_cpufreq_init()
157 dev_dbg(cpu_dev, "OPP table is not ready, deferring probe\n"); in scmi_cpufreq_init()
168 ret = dev_pm_opp_init_cpufreq_table(cpu_dev, &freq_table); in scmi_cpufreq_init()
170 dev_err(cpu_dev, "failed to init cpufreq table: %d\n", ret); in scmi_cpufreq_init()
174 priv->cpu_dev = cpu_dev; in scmi_cpufreq_init()
175 priv->domain_id = handle->perf_ops->device_domain_id(cpu_dev); in scmi_cpufreq_init()
183 latency = handle->perf_ops->transition_latency_get(handle, cpu_dev); in scmi_cpufreq_init()
190 handle->perf_ops->fast_switch_possible(handle, cpu_dev); in scmi_cpufreq_init()
192 em_dev_register_perf_domain(cpu_dev, nr_opp, &em_cb, policy->cpus); in scmi_cpufreq_init()
199 dev_pm_opp_remove_all_dynamic(cpu_dev); in scmi_cpufreq_init()
208 dev_pm_opp_free_cpufreq_table(priv->cpu_dev, &policy->freq_table); in scmi_cpufreq_exit()
209 dev_pm_opp_remove_all_dynamic(priv->cpu_dev); in scmi_cpufreq_exit()