You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
PM / OPP: Add helpers for initializing CPU OPPs
With "operating-points-v2" its possible to tell which devices share OPPs. We already have infrastructure to decode that information. This patch adds following APIs: - of_get_cpus_sharing_opps: Returns cpumask of CPUs sharing OPPs (only valid with v2 bindings). - of_cpumask_init_opp_table: Initializes OPPs for all CPUs present in cpumask. - of_cpumask_free_opp_table: Frees OPPs for all CPUs present in cpumask. - set_cpus_sharing_opps: Sets which CPUs share OPPs (only valid with old OPP bindings, as this information isn't present in DT). Reviewed-by: Stephen Boyd <sboyd@codeaurora.org> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
committed by
Rafael J. Wysocki
parent
ad656a6a8b
commit
8d4d4e98ac
@@ -121,6 +121,10 @@ static inline struct srcu_notifier_head *dev_pm_opp_get_notifier(
|
||||
#if defined(CONFIG_PM_OPP) && defined(CONFIG_OF)
|
||||
int of_init_opp_table(struct device *dev);
|
||||
void of_free_opp_table(struct device *dev);
|
||||
int of_cpumask_init_opp_table(cpumask_var_t cpumask);
|
||||
void of_cpumask_free_opp_table(cpumask_var_t cpumask);
|
||||
int of_get_cpus_sharing_opps(struct device *cpu_dev, cpumask_var_t cpumask);
|
||||
int set_cpus_sharing_opps(struct device *cpu_dev, cpumask_var_t cpumask);
|
||||
#else
|
||||
static inline int of_init_opp_table(struct device *dev)
|
||||
{
|
||||
@@ -130,6 +134,25 @@ static inline int of_init_opp_table(struct device *dev)
|
||||
static inline void of_free_opp_table(struct device *dev)
|
||||
{
|
||||
}
|
||||
|
||||
static inline int of_cpumask_init_opp_table(cpumask_var_t cpumask)
|
||||
{
|
||||
return -ENOSYS;
|
||||
}
|
||||
|
||||
static inline void of_cpumask_free_opp_table(cpumask_var_t cpumask)
|
||||
{
|
||||
}
|
||||
|
||||
static inline int of_get_cpus_sharing_opps(struct device *cpu_dev, cpumask_var_t cpumask)
|
||||
{
|
||||
return -ENOSYS;
|
||||
}
|
||||
|
||||
static inline int set_cpus_sharing_opps(struct device *cpu_dev, cpumask_var_t cpumask)
|
||||
{
|
||||
return -ENOSYS;
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __LINUX_OPP_H__ */
|
||||
|
||||
Reference in New Issue
Block a user