Home
last modified time | relevance | path

Searched full:opp_table (Results 1 – 25 of 63) sorted by relevance

123

/kernel/linux/linux-5.10/drivers/opp/
Dcore.c25 * The root of the list of all opp-tables. All opp_table structures branch off
26 * from here, with each opp_table containing the list of opps it supports in
34 struct opp_table *opp_table) in _find_opp_dev() argument
38 list_for_each_entry(opp_dev, &opp_table->dev_list, node) in _find_opp_dev()
45 static struct opp_table *_find_opp_table_unlocked(struct device *dev) in _find_opp_table_unlocked()
47 struct opp_table *opp_table; in _find_opp_table_unlocked() local
50 list_for_each_entry(opp_table, &opp_tables, node) { in _find_opp_table_unlocked()
51 mutex_lock(&opp_table->lock); in _find_opp_table_unlocked()
52 found = !!_find_opp_dev(dev, opp_table); in _find_opp_table_unlocked()
53 mutex_unlock(&opp_table->lock); in _find_opp_table_unlocked()
[all …]
Dopp.h43 * device 1, 2.. are represented by opp_table structure while each opp
67 * @opp_table: points back to the opp_table struct this opp belongs to
91 struct opp_table *opp_table; member
101 * struct opp_device - devices managed by 'struct opp_table'
107 * by 'struct opp_table'.
125 * struct opp_table - Device opp structure
168 struct opp_table { struct
189 struct opp_table **required_opp_tables; argument
215 bool _opp_remove_all_static(struct opp_table *opp_table); argument
216 void _get_opp_table_kref(struct opp_table *opp_table);
[all …]
Ddebugfs.c54 struct opp_table *opp_table, in opp_debug_create_bw() argument
61 for (i = 0; i < opp_table->path_count; i++) { in opp_debug_create_bw()
67 debugfs_create_file("name", S_IRUGO, d, opp_table->paths[i], in opp_debug_create_bw()
77 struct opp_table *opp_table, in opp_debug_create_supplies() argument
83 for (i = 0; i < opp_table->regulator_count; i++) { in opp_debug_create_supplies()
105 void opp_debug_create_one(struct dev_pm_opp *opp, struct opp_table *opp_table) in opp_debug_create_one() argument
107 struct dentry *pdentry = opp_table->dentry; in opp_debug_create_one()
121 id = _get_opp_count(opp_table); in opp_debug_create_one()
137 opp_debug_create_supplies(opp, opp_table, d); in opp_debug_create_one()
138 opp_debug_create_bw(opp, opp_table, d); in opp_debug_create_one()
[all …]
Dof.c42 struct opp_table *_managed_opp(struct device *dev, int index) in _managed_opp()
44 struct opp_table *opp_table, *managed_table = NULL; in _managed_opp() local
51 list_for_each_entry(opp_table, &opp_tables, node) { in _managed_opp()
52 if (opp_table->np == np) { in _managed_opp()
60 if (opp_table->shared_opp == OPP_TABLE_ACCESS_SHARED) { in _managed_opp()
61 _get_opp_table_kref(opp_table); in _managed_opp()
62 managed_table = opp_table; in _managed_opp()
75 static struct dev_pm_opp *_find_opp_of_np(struct opp_table *opp_table, in _find_opp_of_np() argument
80 mutex_lock(&opp_table->lock); in _find_opp_of_np()
82 list_for_each_entry(opp, &opp_table->opp_list, node) { in _find_opp_of_np()
[all …]
Dcpu.c159 struct opp_table *opp_table; in dev_pm_opp_set_sharing_cpus() local
163 opp_table = _find_opp_table(cpu_dev); in dev_pm_opp_set_sharing_cpus()
164 if (IS_ERR(opp_table)) in dev_pm_opp_set_sharing_cpus()
165 return PTR_ERR(opp_table); in dev_pm_opp_set_sharing_cpus()
178 opp_dev = _add_opp_dev(dev, opp_table); in dev_pm_opp_set_sharing_cpus()
186 opp_table->shared_opp = OPP_TABLE_ACCESS_SHARED; in dev_pm_opp_set_sharing_cpus()
189 dev_pm_opp_put_opp_table(opp_table); in dev_pm_opp_set_sharing_cpus()
208 struct opp_table *opp_table; in dev_pm_opp_get_sharing_cpus() local
211 opp_table = _find_opp_table(cpu_dev); in dev_pm_opp_get_sharing_cpus()
212 if (IS_ERR(opp_table)) in dev_pm_opp_get_sharing_cpus()
[all …]
/kernel/linux/linux-6.6/drivers/opp/
Dcore.c26 * The root of the list of all opp-tables. All opp_table structures branch off
27 * from here, with each opp_table containing the list of opps it supports in
40 static bool _find_opp_dev(const struct device *dev, struct opp_table *opp_table) in _find_opp_dev() argument
45 mutex_lock(&opp_table->lock); in _find_opp_dev()
46 list_for_each_entry(opp_dev, &opp_table->dev_list, node) in _find_opp_dev()
52 mutex_unlock(&opp_table->lock); in _find_opp_dev()
56 static struct opp_table *_find_opp_table_unlocked(struct device *dev) in _find_opp_table_unlocked()
58 struct opp_table *opp_table; in _find_opp_table_unlocked() local
60 list_for_each_entry(opp_table, &opp_tables, node) { in _find_opp_table_unlocked()
61 if (_find_opp_dev(dev, opp_table)) { in _find_opp_table_unlocked()
[all …]
Dopp.h41 * @opp_table: OPP table
48 struct opp_table *opp_table; member
64 * device 1, 2.. are represented by opp_table structure while each opp
88 * @opp_table: points back to the opp_table struct this opp belongs to
112 struct opp_table *opp_table; member
123 * struct opp_device - devices managed by 'struct opp_table'
129 * by 'struct opp_table'.
147 * struct opp_table - Device opp structure
194 struct opp_table { struct
217 struct opp_table **required_opp_tables; argument
[all …]
Dof.c45 struct opp_table *_managed_opp(struct device *dev, int index) in _managed_opp()
47 struct opp_table *opp_table, *managed_table = NULL; in _managed_opp() local
54 list_for_each_entry(opp_table, &opp_tables, node) { in _managed_opp()
55 if (opp_table->np == np) { in _managed_opp()
63 if (opp_table->shared_opp == OPP_TABLE_ACCESS_SHARED) { in _managed_opp()
64 _get_opp_table_kref(opp_table); in _managed_opp()
65 managed_table = opp_table; in _managed_opp()
78 static struct dev_pm_opp *_find_opp_of_np(struct opp_table *opp_table, in _find_opp_of_np() argument
83 mutex_lock(&opp_table->lock); in _find_opp_of_np()
85 list_for_each_entry(opp, &opp_table->opp_list, node) { in _find_opp_of_np()
[all …]
Ddebugfs.c57 struct opp_table *opp_table, in opp_debug_create_bw() argument
64 for (i = 0; i < opp_table->path_count; i++) { in opp_debug_create_bw()
70 debugfs_create_file("name", S_IRUGO, d, opp_table->paths[i], in opp_debug_create_bw()
80 struct opp_table *opp_table, in opp_debug_create_clks() argument
86 if (opp_table->clk_count == 1) { in opp_debug_create_clks()
91 for (i = 0; i < opp_table->clk_count; i++) { in opp_debug_create_clks()
98 struct opp_table *opp_table, in opp_debug_create_supplies() argument
104 for (i = 0; i < opp_table->regulator_count; i++) { in opp_debug_create_supplies()
129 void opp_debug_create_one(struct dev_pm_opp *opp, struct opp_table *opp_table) in opp_debug_create_one() argument
131 struct dentry *pdentry = opp_table->dentry; in opp_debug_create_one()
[all …]
Dcpu.c27 * @opp_table: Cpufreq table returned back to caller
44 struct cpufreq_frequency_table **opp_table) in dev_pm_opp_init_cpufreq_table() argument
79 *opp_table = &freq_table[0]; in dev_pm_opp_init_cpufreq_table()
92 * @opp_table: table to free
97 struct cpufreq_frequency_table **opp_table) in dev_pm_opp_free_cpufreq_table() argument
99 if (!opp_table) in dev_pm_opp_free_cpufreq_table()
102 kfree(*opp_table); in dev_pm_opp_free_cpufreq_table()
103 *opp_table = NULL; in dev_pm_opp_free_cpufreq_table()
159 struct opp_table *opp_table; in dev_pm_opp_set_sharing_cpus() local
163 opp_table = _find_opp_table(cpu_dev); in dev_pm_opp_set_sharing_cpus()
[all …]
/kernel/linux/linux-5.10/include/linux/
Dpm_opp.h22 struct opp_table;
92 struct opp_table *dev_pm_opp_get_opp_table(struct device *dev);
93 struct opp_table *dev_pm_opp_get_opp_table_indexed(struct device *dev, int index);
94 void dev_pm_opp_put_opp_table(struct opp_table *opp_table);
141 struct opp_table *dev_pm_opp_set_supported_hw(struct device *dev, const u32 *versions, unsigned int…
142 void dev_pm_opp_put_supported_hw(struct opp_table *opp_table);
143 struct opp_table *dev_pm_opp_set_prop_name(struct device *dev, const char *name);
144 void dev_pm_opp_put_prop_name(struct opp_table *opp_table);
145 struct opp_table *dev_pm_opp_set_regulators(struct device *dev, const char * const names[], unsigne…
146 void dev_pm_opp_put_regulators(struct opp_table *opp_table);
[all …]
/kernel/linux/linux-5.10/drivers/cpufreq/
Dtegra20-cpufreq.c38 struct opp_table *opp_table; in tegra20_cpufreq_probe() local
64 opp_table = dev_pm_opp_set_supported_hw(cpu_dev, versions, 2); in tegra20_cpufreq_probe()
65 err = PTR_ERR_OR_ZERO(opp_table); in tegra20_cpufreq_probe()
84 dev_pm_opp_put_supported_hw(opp_table); in tegra20_cpufreq_probe()
92 struct opp_table *opp_table; in tegra20_cpufreq_remove() local
97 opp_table = dev_pm_opp_get_opp_table(get_cpu_device(0)); in tegra20_cpufreq_remove()
98 dev_pm_opp_put_supported_hw(opp_table); in tegra20_cpufreq_remove()
99 dev_pm_opp_put_opp_table(opp_table); in tegra20_cpufreq_remove()
Dsti-cpufreq.c161 struct opp_table *opp_table; in sti_cpufreq_set_opp_info() local
213 opp_table = dev_pm_opp_set_prop_name(dev, name); in sti_cpufreq_set_opp_info()
214 if (IS_ERR(opp_table)) { in sti_cpufreq_set_opp_info()
216 return PTR_ERR(opp_table); in sti_cpufreq_set_opp_info()
223 opp_table = dev_pm_opp_set_supported_hw(dev, version, VERSION_ELEMENTS); in sti_cpufreq_set_opp_info()
224 if (IS_ERR(opp_table)) { in sti_cpufreq_set_opp_info()
226 return PTR_ERR(opp_table); in sti_cpufreq_set_opp_info()
Dcpufreq-dt.c32 struct opp_table *opp_table; member
33 struct opp_table *reg_opp_table;
260 priv->opp_table = dev_pm_opp_get_opp_table(cpu_dev); in dt_cpufreq_early_init()
261 if (IS_ERR(priv->opp_table)) { in dt_cpufreq_early_init()
262 ret = PTR_ERR(priv->opp_table); in dt_cpufreq_early_init()
318 dev_pm_opp_put_opp_table(priv->opp_table); in dt_cpufreq_early_init()
331 dev_pm_opp_put_opp_table(priv->opp_table); in dt_cpufreq_release()
/kernel/linux/linux-6.6/include/linux/
Dpm_opp.h22 struct opp_table;
64 typedef int (*config_clks_t)(struct device *dev, struct opp_table *opp_table,
97 struct opp_table *dev_pm_opp_get_opp_table(struct device *dev);
98 void dev_pm_opp_put_opp_table(struct opp_table *opp_table);
175 struct opp_table *opp_table, struct dev_pm_opp *opp, void *data,
178 struct dev_pm_opp *dev_pm_opp_xlate_required_opp(struct opp_table *src_table, struct opp_table *dst…
179 int dev_pm_opp_xlate_performance_state(struct opp_table *src_table, struct opp_table *dst_table, un…
188 static inline struct opp_table *dev_pm_opp_get_opp_table(struct device *dev) in dev_pm_opp_get_opp_table()
193 static inline struct opp_table *dev_pm_opp_get_opp_table_indexed(struct device *dev, int index) in dev_pm_opp_get_opp_table_indexed()
198 static inline void dev_pm_opp_put_opp_table(struct opp_table *opp_table) {} in dev_pm_opp_put_opp_table() argument
[all …]
/kernel/linux/linux-6.6/drivers/devfreq/
Dgovernor_passive.c43 if (parent_cpu_data->opp_table) in delete_parent_cpu_data()
44 dev_pm_opp_put_opp_table(parent_cpu_data->opp_table); in delete_parent_cpu_data()
51 struct opp_table *p_opp_table, in get_target_freq_by_required_opp()
52 struct opp_table *opp_table, in get_target_freq_by_required_opp() argument
58 if (!p_dev || !p_opp_table || !opp_table || !freq) in get_target_freq_by_required_opp()
65 opp = dev_pm_opp_xlate_required_opp(p_opp_table, opp_table, p_opp); in get_target_freq_by_required_opp()
105 parent_cpu_data->opp_table, in get_target_freq_with_cpufreq()
106 devfreq->opp_table, &cpu_cur); in get_target_freq_with_cpufreq()
141 parent_devfreq->opp_table, in get_target_freq_with_devfreq()
142 devfreq->opp_table, freq); in get_target_freq_with_devfreq()
[all …]
Dgovernor.h55 * @opp_table: reference to cpu opp table.
69 struct opp_table *opp_table; member
/kernel/linux/linux-5.10/drivers/gpu/drm/lima/
Dlima_devfreq.c128 struct opp_table *opp_table; in lima_devfreq_init() local
141 opp_table = dev_pm_opp_set_clkname(dev, "core"); in lima_devfreq_init()
142 if (IS_ERR(opp_table)) { in lima_devfreq_init()
143 ret = PTR_ERR(opp_table); in lima_devfreq_init()
147 ldevfreq->clkname_opp_table = opp_table; in lima_devfreq_init()
149 opp_table = dev_pm_opp_set_regulators(dev, in lima_devfreq_init()
152 if (IS_ERR(opp_table)) { in lima_devfreq_init()
153 ret = PTR_ERR(opp_table); in lima_devfreq_init()
159 ldevfreq->regulators_opp_table = opp_table; in lima_devfreq_init()
Dlima_devfreq.h11 struct opp_table;
18 struct opp_table *clkname_opp_table;
19 struct opp_table *regulators_opp_table;
/kernel/linux/linux-6.6/drivers/soc/samsung/
Dexynos-asv.c81 struct opp_table *last_opp_table = NULL; in exynos_asv_update_opps()
86 struct opp_table *opp_table; in exynos_asv_update_opps() local
92 opp_table = dev_pm_opp_get_opp_table(cpu); in exynos_asv_update_opps()
93 if (IS_ERR(opp_table)) in exynos_asv_update_opps()
96 if (!last_opp_table || opp_table != last_opp_table) { in exynos_asv_update_opps()
97 last_opp_table = opp_table; in exynos_asv_update_opps()
105 dev_pm_opp_put_opp_table(opp_table); in exynos_asv_update_opps()
/kernel/linux/linux-5.10/drivers/devfreq/
Dexynos-bus.c35 struct opp_table *opp_table; member
161 if (bus->opp_table) { in exynos_bus_exit()
162 dev_pm_opp_put_regulators(bus->opp_table); in exynos_bus_exit()
163 bus->opp_table = NULL; in exynos_bus_exit()
179 struct opp_table *opp_table; in exynos_bus_parent_parse_of() local
183 opp_table = dev_pm_opp_set_regulators(dev, &vdd, 1); in exynos_bus_parent_parse_of()
184 if (IS_ERR(opp_table)) { in exynos_bus_parent_parse_of()
185 ret = PTR_ERR(opp_table); in exynos_bus_parent_parse_of()
190 bus->opp_table = opp_table; in exynos_bus_parent_parse_of()
236 dev_pm_opp_put_regulators(bus->opp_table); in exynos_bus_parent_parse_of()
[all …]
/kernel/linux/linux-5.10/drivers/soc/samsung/
Dexynos-asv.c84 struct opp_table *last_opp_table = NULL; in exynos_asv_update_opps()
89 struct opp_table *opp_table; in exynos_asv_update_opps() local
95 opp_table = dev_pm_opp_get_opp_table(cpu); in exynos_asv_update_opps()
96 if (IS_ERR(opp_table)) in exynos_asv_update_opps()
99 if (!last_opp_table || opp_table != last_opp_table) { in exynos_asv_update_opps()
100 last_opp_table = opp_table; in exynos_asv_update_opps()
108 dev_pm_opp_put_opp_table(opp_table); in exynos_asv_update_opps()
/kernel/linux/linux-5.10/drivers/gpu/drm/panfrost/
Dpanfrost_devfreq.c96 struct opp_table *opp_table; in panfrost_devfreq_init() local
100 opp_table = dev_pm_opp_set_regulators(dev, pfdev->comp->supply_names, in panfrost_devfreq_init()
102 if (IS_ERR(opp_table)) { in panfrost_devfreq_init()
103 ret = PTR_ERR(opp_table); in panfrost_devfreq_init()
110 pfdevfreq->regulators_opp_table = opp_table; in panfrost_devfreq_init()
Dpanfrost_devfreq.h11 struct opp_table;
18 struct opp_table *regulators_opp_table;
/kernel/linux/linux-5.10/drivers/media/platform/qcom/venus/
Dpm_helpers.c754 struct opp_table *opp_table; in vcodec_domains_get() local
777 opp_table = dev_pm_opp_attach_genpd(dev, res->opp_pmdomain, &opp_virt_dev); in vcodec_domains_get()
778 if (IS_ERR(opp_table)) { in vcodec_domains_get()
779 ret = PTR_ERR(opp_table); in vcodec_domains_get()
796 dev_pm_opp_detach_genpd(core->opp_table); in vcodec_domains_get()
828 dev_pm_opp_detach_genpd(core->opp_table); in vcodec_domains_put()
857 core->opp_table = dev_pm_opp_set_clkname(dev, "core"); in core_get_v4()
858 if (IS_ERR(core->opp_table)) in core_get_v4()
859 return PTR_ERR(core->opp_table); in core_get_v4()
867 dev_pm_opp_put_clkname(core->opp_table); in core_get_v4()
[all …]

123