iommu/rockchip: add multi irq support
[firefly-linux-kernel-4.4.55.git] / include / linux / sched_energy.h
1 #ifndef _LINUX_SCHED_ENERGY_H
2 #define _LINUX_SCHED_ENERGY_H
3
4 #include <linux/sched.h>
5 #include <linux/slab.h>
6
7 /*
8  * There doesn't seem to be an NR_CPUS style max number of sched domain
9  * levels so here's an arbitrary constant one for the moment.
10  *
11  * The levels alluded to here correspond to entries in struct
12  * sched_domain_topology_level that are meant to be populated by arch
13  * specific code (topology.c).
14  */
15 #define NR_SD_LEVELS 8
16
17 #define SD_LEVEL0   0
18 #define SD_LEVEL1   1
19 #define SD_LEVEL2   2
20 #define SD_LEVEL3   3
21 #define SD_LEVEL4   4
22 #define SD_LEVEL5   5
23 #define SD_LEVEL6   6
24 #define SD_LEVEL7   7
25
26 /*
27  * Convenience macro for iterating through said sd levels.
28  */
29 #define for_each_possible_sd_level(level)                   \
30         for (level = 0; level < NR_SD_LEVELS; level++)
31
32 #ifdef CONFIG_SMP
33
34 extern struct sched_group_energy *sge_array[NR_CPUS][NR_SD_LEVELS];
35
36 void init_sched_energy_costs(void);
37
38 #else
39
40 #define init_sched_energy_costs() do { } while (0)
41
42 #endif /* CONFIG_SMP */
43
44 #endif