diff options
| author | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2017-11-13 01:34:49 +0100 | 
|---|---|---|
| committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2017-11-13 01:34:49 +0100 | 
| commit | 60af981c78a72255355c8e374e173b550d6742d6 (patch) | |
| tree | d7de16cbf0a6a76cb18d7de485801038b789ed92 /include | |
| parent | 622ade3a2ff0fc4c026f116ea6018eddaeb49925 (diff) | |
| parent | f7bc9b209e27c0b617378400136cc663a6314d0c (diff) | |
Merge branch 'pm-cpufreq'
* pm-cpufreq: (22 commits)
  cpufreq: stats: Handle the case when trans_table goes beyond PAGE_SIZE
  cpufreq: arm_big_little: make cpufreq_arm_bL_ops structures const
  cpufreq: arm_big_little: make function arguments and structure pointer const
  cpufreq: pxa: convert to clock API
  cpufreq: speedstep-lib: mark expected switch fall-through
  cpufreq: ti-cpufreq: add missing of_node_put()
  cpufreq: dt: Remove support for Exynos4212 SoCs
  cpufreq: imx6q: Move speed grading check to cpufreq driver
  cpufreq: ti-cpufreq: kfree opp_data when failure
  cpufreq: SPEAr: pr_err() strings should end with newlines
  cpufreq: powernow-k8: pr_err() strings should end with newlines
  cpufreq: dt-platdev: drop socionext,uniphier-ld6b from whitelist
  arm64: wire cpu-invariant accounting support up to the task scheduler
  arm64: wire frequency-invariant accounting support up to the task scheduler
  arm: wire cpu-invariant accounting support up to the task scheduler
  arm: wire frequency-invariant accounting support up to the task scheduler
  drivers base/arch_topology: allow inlining cpu-invariant accounting support
  drivers base/arch_topology: provide frequency-invariant accounting support
  cpufreq: dt: invoke frequency-invariance setter function
  cpufreq: arm_big_little: invoke frequency-invariance setter function
  ...
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/arch_topology.h | 17 | ||||
| -rw-r--r-- | include/linux/cpufreq.h | 3 | 
2 files changed, 19 insertions, 1 deletions
| diff --git a/include/linux/arch_topology.h b/include/linux/arch_topology.h index d4fcb0efb896..304511267c82 100644 --- a/include/linux/arch_topology.h +++ b/include/linux/arch_topology.h @@ -6,15 +6,30 @@  #define _LINUX_ARCH_TOPOLOGY_H_  #include <linux/types.h> +#include <linux/percpu.h>  void topology_normalize_cpu_scale(void);  struct device_node;  bool topology_parse_cpu_capacity(struct device_node *cpu_node, int cpu); +DECLARE_PER_CPU(unsigned long, cpu_scale); +  struct sched_domain; -unsigned long topology_get_cpu_scale(struct sched_domain *sd, int cpu); +static inline +unsigned long topology_get_cpu_scale(struct sched_domain *sd, int cpu) +{ +	return per_cpu(cpu_scale, cpu); +}  void topology_set_cpu_scale(unsigned int cpu, unsigned long capacity); +DECLARE_PER_CPU(unsigned long, freq_scale); + +static inline +unsigned long topology_get_freq_scale(struct sched_domain *sd, int cpu) +{ +	return per_cpu(freq_scale, cpu); +} +  #endif /* _LINUX_ARCH_TOPOLOGY_H_ */ diff --git a/include/linux/cpufreq.h b/include/linux/cpufreq.h index 537ff842ff73..28734ee185a7 100644 --- a/include/linux/cpufreq.h +++ b/include/linux/cpufreq.h @@ -919,6 +919,9 @@ static inline bool policy_has_boost_freq(struct cpufreq_policy *policy)  extern unsigned int arch_freq_get_on_cpu(int cpu); +extern void arch_set_freq_scale(struct cpumask *cpus, unsigned long cur_freq, +				unsigned long max_freq); +  /* the following are really really optional */  extern struct freq_attr cpufreq_freq_attr_scaling_available_freqs;  extern struct freq_attr cpufreq_freq_attr_scaling_boost_freqs; | 
