mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	* 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 ...
		
			
				
	
	
		
			35 lines
		
	
	
	
		
			840 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
	
		
			840 B
		
	
	
	
		
			C
		
	
	
	
	
	
/* SPDX-License-Identifier: GPL-2.0 */
 | 
						|
/*
 | 
						|
 * include/linux/arch_topology.h - arch specific cpu topology information
 | 
						|
 */
 | 
						|
#ifndef _LINUX_ARCH_TOPOLOGY_H_
 | 
						|
#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;
 | 
						|
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_ */
 |