blob: d2be2ccbb3729de5ad9de019b67c78a039b99808 [file] [log] [blame]
Ingo Molnar55687da2017-02-08 18:51:31 +01001#ifndef _LINUX_SCHED_CPUFREQ_H
2#define _LINUX_SCHED_CPUFREQ_H
3
Ingo Molnared537422017-02-08 18:51:55 +01004#include <linux/types.h>
Ingo Molnar55687da2017-02-08 18:51:31 +01005
Ingo Molnar7284c6d2017-02-02 12:14:19 +01006/*
7 * Interface between cpufreq drivers and the scheduler:
8 */
9
10#define SCHED_CPUFREQ_RT (1U << 0)
11#define SCHED_CPUFREQ_DL (1U << 1)
12#define SCHED_CPUFREQ_IOWAIT (1U << 2)
13
14#define SCHED_CPUFREQ_RT_DL (SCHED_CPUFREQ_RT | SCHED_CPUFREQ_DL)
15
16#ifdef CONFIG_CPU_FREQ
17struct update_util_data {
18 void (*func)(struct update_util_data *data, u64 time, unsigned int flags);
19};
20
21void cpufreq_add_update_util_hook(int cpu, struct update_util_data *data,
22 void (*func)(struct update_util_data *data, u64 time,
23 unsigned int flags));
24void cpufreq_remove_update_util_hook(int cpu);
25#endif /* CONFIG_CPU_FREQ */
26
Ingo Molnar55687da2017-02-08 18:51:31 +010027#endif /* _LINUX_SCHED_CPUFREQ_H */