mirror of https://github.com/OpenIPC/firmware.git
49 lines
1.2 KiB
Diff
49 lines
1.2 KiB
Diff
diff -drupN a/include/linux/sched_energy.h b/include/linux/sched_energy.h
|
|
--- a/include/linux/sched_energy.h 1970-01-01 03:00:00.000000000 +0300
|
|
+++ b/include/linux/sched_energy.h 2022-06-12 05:28:14.000000000 +0300
|
|
@@ -0,0 +1,44 @@
|
|
+#ifndef _LINUX_SCHED_ENERGY_H
|
|
+#define _LINUX_SCHED_ENERGY_H
|
|
+
|
|
+#include <linux/sched.h>
|
|
+#include <linux/slab.h>
|
|
+
|
|
+/*
|
|
+ * There doesn't seem to be an NR_CPUS style max number of sched domain
|
|
+ * levels so here's an arbitrary constant one for the moment.
|
|
+ *
|
|
+ * The levels alluded to here correspond to entries in struct
|
|
+ * sched_domain_topology_level that are meant to be populated by arch
|
|
+ * specific code (topology.c).
|
|
+ */
|
|
+#define NR_SD_LEVELS 8
|
|
+
|
|
+#define SD_LEVEL0 0
|
|
+#define SD_LEVEL1 1
|
|
+#define SD_LEVEL2 2
|
|
+#define SD_LEVEL3 3
|
|
+#define SD_LEVEL4 4
|
|
+#define SD_LEVEL5 5
|
|
+#define SD_LEVEL6 6
|
|
+#define SD_LEVEL7 7
|
|
+
|
|
+/*
|
|
+ * Convenience macro for iterating through said sd levels.
|
|
+ */
|
|
+#define for_each_possible_sd_level(level) \
|
|
+ for (level = 0; level < NR_SD_LEVELS; level++)
|
|
+
|
|
+#ifdef CONFIG_SMP
|
|
+
|
|
+extern struct sched_group_energy *sge_array[NR_CPUS][NR_SD_LEVELS];
|
|
+
|
|
+void init_sched_energy_costs(void);
|
|
+
|
|
+#else
|
|
+
|
|
+#define init_sched_energy_costs() do { } while (0)
|
|
+
|
|
+#endif /* CONFIG_SMP */
|
|
+
|
|
+#endif
|