topology.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifndef _ASM_ARM_TOPOLOGY_H
  3. #define _ASM_ARM_TOPOLOGY_H
  4. #ifdef CONFIG_ARM_CPU_TOPOLOGY
  5. #include <linux/cpumask.h>
  6. #include <linux/arch_topology.h>
  7. /* big.LITTLE switcher is incompatible with frequency invariance */
  8. #ifndef CONFIG_BL_SWITCHER
  9. /* Replace task scheduler's default frequency-invariant accounting */
  10. #define arch_set_freq_scale topology_set_freq_scale
  11. #define arch_scale_freq_capacity topology_get_freq_scale
  12. #define arch_scale_freq_invariant topology_scale_freq_invariant
  13. #endif
  14. /* Replace task scheduler's default cpu-invariant accounting */
  15. #define arch_scale_cpu_capacity topology_get_cpu_scale
  16. /* Enable topology flag updates */
  17. #define arch_update_cpu_topology topology_update_cpu_topology
  18. /* Replace task scheduler's default thermal pressure API */
  19. #define arch_scale_thermal_pressure topology_get_thermal_pressure
  20. #define arch_update_thermal_pressure topology_update_thermal_pressure
  21. #else
  22. static inline void init_cpu_topology(void) { }
  23. static inline void store_cpu_topology(unsigned int cpuid) { }
  24. #endif
  25. #include <asm-generic/topology.h>
  26. #endif /* _ASM_ARM_TOPOLOGY_H */