forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-11 04dd17822334871b23ea2862f7798fb0e0007777
kernel/arch/arm/include/asm/topology.h
....@@ -5,33 +5,15 @@
55 #ifdef CONFIG_ARM_CPU_TOPOLOGY
66
77 #include <linux/cpumask.h>
8
-
9
-struct cputopo_arm {
10
- int thread_id;
11
- int core_id;
12
- int socket_id;
13
- cpumask_t thread_sibling;
14
- cpumask_t core_sibling;
15
-};
16
-
17
-extern struct cputopo_arm cpu_topology[NR_CPUS];
18
-
19
-#define topology_physical_package_id(cpu) (cpu_topology[cpu].socket_id)
20
-#define topology_core_id(cpu) (cpu_topology[cpu].core_id)
21
-#define topology_core_cpumask(cpu) (&cpu_topology[cpu].core_sibling)
22
-#define topology_sibling_cpumask(cpu) (&cpu_topology[cpu].thread_sibling)
23
-
24
-void init_cpu_topology(void);
25
-void store_cpu_topology(unsigned int cpuid);
26
-const struct cpumask *cpu_coregroup_mask(int cpu);
27
-
288 #include <linux/arch_topology.h>
299
10
+/* big.LITTLE switcher is incompatible with frequency invariance */
11
+#ifndef CONFIG_BL_SWITCHER
3012 /* Replace task scheduler's default frequency-invariant accounting */
13
+#define arch_set_freq_scale topology_set_freq_scale
3114 #define arch_scale_freq_capacity topology_get_freq_scale
32
-
33
-/* Replace task scheduler's default max-frequency-invariant accounting */
34
-#define arch_scale_max_freq_capacity topology_get_max_freq_scale
15
+#define arch_scale_freq_invariant topology_scale_freq_invariant
16
+#endif
3517
3618 /* Replace task scheduler's default cpu-invariant accounting */
3719 #define arch_scale_cpu_capacity topology_get_cpu_scale
....@@ -39,6 +21,10 @@
3921 /* Enable topology flag updates */
4022 #define arch_update_cpu_topology topology_update_cpu_topology
4123
24
+/* Replace task scheduler's default thermal pressure API */
25
+#define arch_scale_thermal_pressure topology_get_thermal_pressure
26
+#define arch_set_thermal_pressure topology_set_thermal_pressure
27
+
4228 #else
4329
4430 static inline void init_cpu_topology(void) { }