Lines Matching refs:cpu
64 enum cpu_state_vals get_cpu_current_state(int cpu) in get_cpu_current_state() argument
66 return per_cpu(current_state, cpu); in get_cpu_current_state()
69 void set_cpu_current_state(int cpu, enum cpu_state_vals state) in set_cpu_current_state() argument
71 per_cpu(current_state, cpu) = state; in set_cpu_current_state()
74 enum cpu_state_vals get_preferred_offline_state(int cpu) in get_preferred_offline_state() argument
76 return per_cpu(preferred_offline_state, cpu); in get_preferred_offline_state()
79 void set_preferred_offline_state(int cpu, enum cpu_state_vals state) in set_preferred_offline_state() argument
81 per_cpu(preferred_offline_state, cpu) = state; in set_preferred_offline_state()
84 void set_default_offline_state(int cpu) in set_default_offline_state() argument
86 per_cpu(preferred_offline_state, cpu) = default_offline_state; in set_default_offline_state()
112 unsigned int cpu = smp_processor_id(); in pseries_mach_cpu_die() local
120 if (get_preferred_offline_state(cpu) == CPU_STATE_INACTIVE) { in pseries_mach_cpu_die()
121 set_cpu_current_state(cpu, CPU_STATE_INACTIVE); in pseries_mach_cpu_die()
131 while (get_preferred_offline_state(cpu) == CPU_STATE_INACTIVE) { in pseries_mach_cpu_die()
146 if (get_preferred_offline_state(cpu) == CPU_STATE_ONLINE) { in pseries_mach_cpu_die()
160 WARN_ON(get_preferred_offline_state(cpu) != CPU_STATE_OFFLINE); in pseries_mach_cpu_die()
162 set_cpu_current_state(cpu, CPU_STATE_OFFLINE); in pseries_mach_cpu_die()
173 int cpu = smp_processor_id(); in pseries_cpu_disable() local
175 set_cpu_online(cpu, false); in pseries_cpu_disable()
179 if (cpu == boot_cpuid) in pseries_cpu_disable()
199 static void pseries_cpu_die(unsigned int cpu) in pseries_cpu_die() argument
203 unsigned int pcpu = get_hard_smp_processor_id(cpu); in pseries_cpu_die()
205 if (get_preferred_offline_state(cpu) == CPU_STATE_INACTIVE) { in pseries_cpu_die()
208 if (get_cpu_current_state(cpu) == CPU_STATE_INACTIVE) { in pseries_cpu_die()
214 } else if (get_preferred_offline_state(cpu) == CPU_STATE_OFFLINE) { in pseries_cpu_die()
227 cpu, pcpu, cpu_status); in pseries_cpu_die()
235 paca[cpu].cpu_start = 0; in pseries_cpu_die()
247 unsigned int cpu; in pseries_add_processor() local
293 for_each_cpu(cpu, tmp) { in pseries_add_processor()
294 BUG_ON(cpu_present(cpu)); in pseries_add_processor()
295 set_cpu_present(cpu, true); in pseries_add_processor()
296 set_hard_smp_processor_id(cpu, be32_to_cpu(*intserv++)); in pseries_add_processor()
313 unsigned int cpu; in pseries_remove_processor() local
327 for_each_present_cpu(cpu) { in pseries_remove_processor()
328 if (get_hard_smp_processor_id(cpu) != thread) in pseries_remove_processor()
330 BUG_ON(cpu_online(cpu)); in pseries_remove_processor()
331 set_cpu_present(cpu, false); in pseries_remove_processor()
332 set_hard_smp_processor_id(cpu, -1); in pseries_remove_processor()
335 if (cpu >= nr_cpu_ids) in pseries_remove_processor()
385 int cpu; in pseries_cpu_hotplug_init() local
419 for_each_online_cpu(cpu) in pseries_cpu_hotplug_init()
420 set_default_offline_state(cpu); in pseries_cpu_hotplug_init()