Lines Matching refs:cpu

241 static void loongson3_send_ipi_single(int cpu, unsigned int action)  in loongson3_send_ipi_single()  argument
243 loongson3_ipi_write32((u32)action, ipi_set0_regs[cpu_logical_map(cpu)]); in loongson3_send_ipi_single()
257 int i, cpu = smp_processor_id(); in loongson3_ipi_interrupt() local
261 action = loongson3_ipi_read32(ipi_status0_regs[cpu_logical_map(cpu)]); in loongson3_ipi_interrupt()
264 loongson3_ipi_write32((u32)action, ipi_clear0_regs[cpu_logical_map(cpu)]); in loongson3_ipi_interrupt()
276 BUG_ON(cpu != 0); in loongson3_ipi_interrupt()
293 unsigned int cpu = smp_processor_id(); in loongson3_init_secondary() local
303 per_cpu(cpu_state, cpu) = CPU_ONLINE; in loongson3_init_secondary()
304 cpu_data[cpu].core = in loongson3_init_secondary()
305 cpu_logical_map(cpu) % loongson_sysconf.cores_per_package; in loongson3_init_secondary()
306 cpu_data[cpu].package = in loongson3_init_secondary()
307 cpu_logical_map(cpu) / loongson_sysconf.cores_per_package; in loongson3_init_secondary()
310 core0_c0count[cpu] = 0; in loongson3_init_secondary()
312 while (!core0_c0count[cpu]) { in loongson3_init_secondary()
319 if (cpu_data[cpu].package) in loongson3_init_secondary()
320 initcount = core0_c0count[cpu] + i; in loongson3_init_secondary()
322 initcount = core0_c0count[cpu] + i/2; in loongson3_init_secondary()
329 int cpu = smp_processor_id(); in loongson3_smp_finish() local
334 (void *)(ipi_mailbox_buf[cpu_logical_map(cpu)]+0x0)); in loongson3_smp_finish()
384 static void loongson3_boot_secondary(int cpu, struct task_struct *idle) in loongson3_boot_secondary() argument
388 pr_info("Booting CPU#%d...\n", cpu); in loongson3_boot_secondary()
397 cpu, startargs[0], startargs[1], startargs[2]); in loongson3_boot_secondary()
400 (void *)(ipi_mailbox_buf[cpu_logical_map(cpu)]+0x18)); in loongson3_boot_secondary()
402 (void *)(ipi_mailbox_buf[cpu_logical_map(cpu)]+0x10)); in loongson3_boot_secondary()
404 (void *)(ipi_mailbox_buf[cpu_logical_map(cpu)]+0x8)); in loongson3_boot_secondary()
406 (void *)(ipi_mailbox_buf[cpu_logical_map(cpu)]+0x0)); in loongson3_boot_secondary()
414 unsigned int cpu = smp_processor_id(); in loongson3_cpu_disable() local
416 if (cpu == 0) in loongson3_cpu_disable()
419 set_cpu_online(cpu, false); in loongson3_cpu_disable()
420 cpumask_clear_cpu(cpu, &cpu_callin_map); in loongson3_cpu_disable()
431 static void loongson3_cpu_die(unsigned int cpu) in loongson3_cpu_die() argument
433 while (per_cpu(cpu_state, cpu) != CPU_DEAD) in loongson3_cpu_die()
572 unsigned int cpu = smp_processor_id(); in play_dead() local
587 state_addr = &per_cpu(cpu_state, cpu); in play_dead()
592 void loongson3_disable_clock(int cpu) in loongson3_disable_clock() argument
594 uint64_t core_id = cpu_data[cpu].core; in loongson3_disable_clock()
595 uint64_t package_id = cpu_data[cpu].package; in loongson3_disable_clock()
605 void loongson3_enable_clock(int cpu) in loongson3_enable_clock() argument
607 uint64_t core_id = cpu_data[cpu].core; in loongson3_enable_clock()
608 uint64_t package_id = cpu_data[cpu].package; in loongson3_enable_clock()
622 unsigned int cpu = (unsigned long)hcpu; in loongson3_cpu_callback() local
627 pr_info("Disable clock for CPU#%d\n", cpu); in loongson3_cpu_callback()
628 loongson3_disable_clock(cpu); in loongson3_cpu_callback()
632 pr_info("Enable clock for CPU#%d\n", cpu); in loongson3_cpu_callback()
633 loongson3_enable_clock(cpu); in loongson3_cpu_callback()