1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef __ASM_TOPOLOGY_H 3 #define __ASM_TOPOLOGY_H 4 5 #include <linux/cpumask.h> 6 7 #ifdef CONFIG_NUMA 8 #include <asm/numa.h> 9 10 struct pci_bus; 11 int pcibus_to_node(struct pci_bus *bus); 12 #define cpumask_of_pcibus(bus) (pcibus_to_node(bus) == -1 ? \ 13 cpu_all_mask : \ 14 cpumask_of_node(pcibus_to_node(bus))) 15 16 #endif /* CONFIG_NUMA */ 17 18 #include <linux/arch_topology.h> 19 20 void update_freq_counters_refs(void); 21 22 /* Replace task scheduler's default frequency-invariant accounting */ 23 #define arch_scale_freq_tick topology_scale_freq_tick 24 #define arch_set_freq_scale topology_set_freq_scale 25 #define arch_scale_freq_capacity topology_get_freq_scale 26 #define arch_scale_freq_invariant topology_scale_freq_invariant 27 #define arch_scale_freq_ref topology_get_freq_ref 28 29 #ifdef CONFIG_ACPI_CPPC_LIB 30 #define arch_init_invariance_cppc topology_init_cpu_capacity_cppc 31 #endif 32 33 /* Replace task scheduler's default cpu-invariant accounting */ 34 #define arch_scale_cpu_capacity topology_get_cpu_scale 35 36 /* Enable topology flag updates */ 37 #define arch_update_cpu_topology topology_update_cpu_topology 38 39 /* Replace task scheduler's default HW pressure API */ 40 #define arch_scale_hw_pressure topology_get_hw_pressure 41 #define arch_update_hw_pressure topology_update_hw_pressure 42 43 #include <asm-generic/topology.h> 44 45 #endif /* _ASM_ARM_TOPOLOGY_H */ 46