Lines Matching +full:opp +full:- +full:level

1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * Generic OPP Interface
5 * Copyright (C) 2009-2010 Texas Instruments Incorporated.
30 * struct dev_pm_opp_supply - Power supply voltage/current values
31 * @u_volt: Target voltage in microvolts corresponding to this OPP
32 * @u_volt_min: Minimum voltage in microvolts corresponding to this OPP
33 * @u_volt_max: Maximum voltage in microvolts corresponding to this OPP
53 struct dev_pm_opp *opp, void *data, bool scaling_down);
56 * struct dev_pm_opp_config - Device OPP configuration values
68 * @required_devs: Required OPP devices. Mutually exclusive with genpd_names/virt_devs.
70 * This structure contains platform specific OPP configurations for the device.
89 * struct dev_pm_opp_data - The data to use to initialize an OPP.
90 * @level: The performance level for the OPP. Set level to OPP_LEVEL_UNSET if
91 * level field isn't used.
92 * @freq: The clock rate in Hz for the OPP.
93 * @u_volt: The voltage in uV for the OPP.
96 unsigned int level; member
106 unsigned long dev_pm_opp_get_voltage(struct dev_pm_opp *opp);
108 int dev_pm_opp_get_supplies(struct dev_pm_opp *opp, struct dev_pm_opp_supply *supplies);
110 unsigned long dev_pm_opp_get_power(struct dev_pm_opp *opp);
112 unsigned long dev_pm_opp_get_freq_indexed(struct dev_pm_opp *opp, u32 index);
114 unsigned int dev_pm_opp_get_level(struct dev_pm_opp *opp);
116 unsigned int dev_pm_opp_get_required_pstate(struct dev_pm_opp *opp,
119 bool dev_pm_opp_is_turbo(struct dev_pm_opp *opp);
148 unsigned int level);
151 unsigned int *level);
154 unsigned int *level);
162 void dev_pm_opp_put(struct dev_pm_opp *opp);
164 int dev_pm_opp_add_dynamic(struct device *dev, struct dev_pm_opp_data *opp);
184 struct opp_table *opp_table, struct dev_pm_opp *opp, void *data,
190 int dev_pm_opp_set_opp(struct device *dev, struct dev_pm_opp *opp);
199 return ERR_PTR(-EOPNOTSUPP); in dev_pm_opp_get_opp_table()
204 return ERR_PTR(-EOPNOTSUPP); in dev_pm_opp_get_opp_table_indexed()
209 static inline unsigned long dev_pm_opp_get_voltage(struct dev_pm_opp *opp) in dev_pm_opp_get_voltage() argument
214 static inline int dev_pm_opp_get_supplies(struct dev_pm_opp *opp, struct dev_pm_opp_supply *supplie… in dev_pm_opp_get_supplies() argument
216 return -EOPNOTSUPP; in dev_pm_opp_get_supplies()
219 static inline unsigned long dev_pm_opp_get_power(struct dev_pm_opp *opp) in dev_pm_opp_get_power() argument
224 static inline unsigned long dev_pm_opp_get_freq_indexed(struct dev_pm_opp *opp, u32 index) in dev_pm_opp_get_freq_indexed() argument
229 static inline unsigned int dev_pm_opp_get_level(struct dev_pm_opp *opp) in dev_pm_opp_get_level() argument
235 unsigned int dev_pm_opp_get_required_pstate(struct dev_pm_opp *opp, in dev_pm_opp_get_required_pstate() argument
241 static inline bool dev_pm_opp_is_turbo(struct dev_pm_opp *opp) in dev_pm_opp_is_turbo() argument
274 return ERR_PTR(-EOPNOTSUPP); in dev_pm_opp_find_freq_exact()
281 return ERR_PTR(-EOPNOTSUPP); in dev_pm_opp_find_freq_exact_indexed()
287 return ERR_PTR(-EOPNOTSUPP); in dev_pm_opp_find_freq_floor()
293 return ERR_PTR(-EOPNOTSUPP); in dev_pm_opp_find_freq_floor_indexed()
299 return ERR_PTR(-EOPNOTSUPP); in dev_pm_opp_find_freq_ceil()
305 return ERR_PTR(-EOPNOTSUPP); in dev_pm_opp_find_freq_ceil_indexed()
309 unsigned int level) in dev_pm_opp_find_level_exact() argument
311 return ERR_PTR(-EOPNOTSUPP); in dev_pm_opp_find_level_exact()
315 unsigned int *level) in dev_pm_opp_find_level_ceil() argument
317 return ERR_PTR(-EOPNOTSUPP); in dev_pm_opp_find_level_ceil()
321 unsigned int *level) in dev_pm_opp_find_level_floor() argument
323 return ERR_PTR(-EOPNOTSUPP); in dev_pm_opp_find_level_floor()
329 return ERR_PTR(-EOPNOTSUPP); in dev_pm_opp_find_bw_ceil()
335 return ERR_PTR(-EOPNOTSUPP); in dev_pm_opp_find_bw_floor()
338 static inline void dev_pm_opp_put(struct dev_pm_opp *opp) {} in dev_pm_opp_put() argument
341 dev_pm_opp_add_dynamic(struct device *dev, struct dev_pm_opp_data *opp) in dev_pm_opp_add_dynamic() argument
343 return -EOPNOTSUPP; in dev_pm_opp_add_dynamic()
374 return -EOPNOTSUPP; in dev_pm_opp_register_notifier()
379 return -EOPNOTSUPP; in dev_pm_opp_unregister_notifier()
384 return -EOPNOTSUPP; in dev_pm_opp_set_config()
389 return -EOPNOTSUPP; in devm_pm_opp_set_config()
395 struct opp_table *opp_table, struct dev_pm_opp *opp, void *data, in dev_pm_opp_config_clks_simple() argument
398 return -EOPNOTSUPP; in dev_pm_opp_config_clks_simple()
404 return ERR_PTR(-EOPNOTSUPP); in dev_pm_opp_xlate_required_opp()
409 return -EOPNOTSUPP; in dev_pm_opp_xlate_performance_state()
414 return -EOPNOTSUPP; in dev_pm_opp_set_rate()
417 static inline int dev_pm_opp_set_opp(struct device *dev, struct dev_pm_opp *opp) in dev_pm_opp_set_opp() argument
419 return -EOPNOTSUPP; in dev_pm_opp_set_opp()
424 return -EOPNOTSUPP; in dev_pm_opp_set_sharing_cpus()
429 return -EINVAL; in dev_pm_opp_get_sharing_cpus()
442 return -EOPNOTSUPP; in dev_pm_opp_sync_regulators()
457 struct device_node *dev_pm_opp_get_of_node(struct dev_pm_opp *opp);
468 return -EOPNOTSUPP; in dev_pm_opp_of_add_table()
473 return -EOPNOTSUPP; in dev_pm_opp_of_add_table_indexed()
478 return -EOPNOTSUPP; in devm_pm_opp_of_add_table_indexed()
487 return -EOPNOTSUPP; in devm_pm_opp_of_add_table()
492 return -EOPNOTSUPP; in dev_pm_opp_of_cpumask_add_table()
501 return -EOPNOTSUPP; in dev_pm_opp_of_get_sharing_cpus()
509 static inline struct device_node *dev_pm_opp_get_of_node(struct dev_pm_opp *opp) in dev_pm_opp_get_of_node() argument
517 return -EOPNOTSUPP; in dev_pm_opp_of_register_em()
526 return -EOPNOTSUPP; in of_get_required_opp_performance_state()
531 return -EOPNOTSUPP; in dev_pm_opp_of_find_icc_paths()
535 /* OPP Configuration helpers */
574 /* Supported-hw helpers */
630 /* config-regulators helpers */
676 /* prop-name helpers */
691 static inline unsigned long dev_pm_opp_get_freq(struct dev_pm_opp *opp) in dev_pm_opp_get_freq() argument
693 return dev_pm_opp_get_freq_indexed(opp, 0); in dev_pm_opp_get_freq()