xref: /OK3568_Linux_fs/kernel/include/soc/rockchip/rockchip_performance.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */
2*4882a593Smuzhiyun /*
3*4882a593Smuzhiyun  * Copyright (c) 2022 Rockchip Electronics Co., Ltd
4*4882a593Smuzhiyun  */
5*4882a593Smuzhiyun #ifndef __SOC_ROCKCHIP_PERFORMANCE_H
6*4882a593Smuzhiyun #define __SOC_ROCKCHIP_PERFORMANCE_H
7*4882a593Smuzhiyun 
8*4882a593Smuzhiyun enum {
9*4882a593Smuzhiyun 	ROCKCHIP_PERFORMANCE_LOW = 0,
10*4882a593Smuzhiyun 	ROCKCHIP_PERFORMANCE_NORMAL,
11*4882a593Smuzhiyun 	ROCKCHIP_PERFORMANCE_HIGH
12*4882a593Smuzhiyun };
13*4882a593Smuzhiyun 
14*4882a593Smuzhiyun #ifdef CONFIG_ROCKCHIP_PERFORMANCE
15*4882a593Smuzhiyun extern int rockchip_perf_get_level(void);
16*4882a593Smuzhiyun extern struct cpumask *rockchip_perf_get_cpul_mask(void);
17*4882a593Smuzhiyun extern struct cpumask *rockchip_perf_get_cpub_mask(void);
18*4882a593Smuzhiyun extern int rockchip_perf_select_rt_cpu(int prev_cpu, struct cpumask *lowest_mask);
19*4882a593Smuzhiyun extern bool rockchip_perf_misfit_rt(int cpu);
20*4882a593Smuzhiyun extern void rockchip_perf_uclamp_sync_util_min_rt_default(void);
21*4882a593Smuzhiyun #else
rockchip_perf_get_level(void)22*4882a593Smuzhiyun static inline int rockchip_perf_get_level(void) { return ROCKCHIP_PERFORMANCE_NORMAL; }
rockchip_perf_get_cpul_mask(void)23*4882a593Smuzhiyun static inline struct cpumask *rockchip_perf_get_cpul_mask(void) { return NULL; };
rockchip_perf_get_cpub_mask(void)24*4882a593Smuzhiyun static inline struct cpumask *rockchip_perf_get_cpub_mask(void) { return NULL; };
rockchip_perf_select_rt_cpu(int prev_cpu,struct cpumask * lowest_mask)25*4882a593Smuzhiyun static inline int rockchip_perf_select_rt_cpu(int prev_cpu, struct cpumask *lowest_mask)
26*4882a593Smuzhiyun {
27*4882a593Smuzhiyun 	return prev_cpu;
28*4882a593Smuzhiyun }
rockchip_perf_misfit_rt(int cpu)29*4882a593Smuzhiyun static inline bool rockchip_perf_misfit_rt(int cpu) { return false; }
rockchip_perf_uclamp_sync_util_min_rt_default(void)30*4882a593Smuzhiyun static inline void rockchip_perf_uclamp_sync_util_min_rt_default(void) {}
31*4882a593Smuzhiyun #endif
32*4882a593Smuzhiyun 
33*4882a593Smuzhiyun #endif
34