Lines Matching refs:cpu
324 int cpu = (unsigned long)info; in cpuidle_coupled_handle_poke() local
325 cpumask_set_cpu(cpu, &cpuidle_coupled_poked); in cpuidle_coupled_handle_poke()
326 cpumask_clear_cpu(cpu, &cpuidle_coupled_poke_pending); in cpuidle_coupled_handle_poke()
341 static void cpuidle_coupled_poke(int cpu) in cpuidle_coupled_poke() argument
343 struct call_single_data *csd = &per_cpu(cpuidle_coupled_poke_cb, cpu); in cpuidle_coupled_poke()
345 if (!cpumask_test_and_set_cpu(cpu, &cpuidle_coupled_poke_pending)) in cpuidle_coupled_poke()
346 smp_call_function_single_async(cpu, csd); in cpuidle_coupled_poke()
359 int cpu; in cpuidle_coupled_poke_others() local
361 for_each_cpu(cpu, &coupled->coupled_cpus) in cpuidle_coupled_poke_others()
362 if (cpu != this_cpu && cpu_online(cpu)) in cpuidle_coupled_poke_others()
363 cpuidle_coupled_poke(cpu); in cpuidle_coupled_poke_others()
375 static int cpuidle_coupled_set_waiting(int cpu, in cpuidle_coupled_set_waiting() argument
378 coupled->requested_state[cpu] = next_state; in cpuidle_coupled_set_waiting()
394 static void cpuidle_coupled_set_not_waiting(int cpu, in cpuidle_coupled_set_not_waiting() argument
405 coupled->requested_state[cpu] = CPUIDLE_COUPLED_NOT_IDLE; in cpuidle_coupled_set_not_waiting()
417 static void cpuidle_coupled_set_done(int cpu, struct cpuidle_coupled *coupled) in cpuidle_coupled_set_done() argument
419 cpuidle_coupled_set_not_waiting(cpu, coupled); in cpuidle_coupled_set_done()
436 static int cpuidle_coupled_clear_pokes(int cpu) in cpuidle_coupled_clear_pokes() argument
438 if (!cpumask_test_cpu(cpu, &cpuidle_coupled_poke_pending)) in cpuidle_coupled_clear_pokes()
442 while (cpumask_test_cpu(cpu, &cpuidle_coupled_poke_pending)) in cpuidle_coupled_clear_pokes()
490 cpuidle_coupled_clear_pokes(dev->cpu); in cpuidle_enter_state_coupled()
504 cpumask_clear_cpu(dev->cpu, &cpuidle_coupled_poked); in cpuidle_enter_state_coupled()
506 w = cpuidle_coupled_set_waiting(dev->cpu, coupled, next_state); in cpuidle_enter_state_coupled()
515 cpumask_set_cpu(dev->cpu, &cpuidle_coupled_poked); in cpuidle_enter_state_coupled()
516 cpuidle_coupled_poke_others(dev->cpu, coupled); in cpuidle_enter_state_coupled()
529 !cpumask_test_cpu(dev->cpu, &cpuidle_coupled_poked)) { in cpuidle_enter_state_coupled()
530 if (cpuidle_coupled_clear_pokes(dev->cpu)) in cpuidle_enter_state_coupled()
534 cpuidle_coupled_set_not_waiting(dev->cpu, coupled); in cpuidle_enter_state_coupled()
539 cpuidle_coupled_set_not_waiting(dev->cpu, coupled); in cpuidle_enter_state_coupled()
548 cpuidle_coupled_clear_pokes(dev->cpu); in cpuidle_enter_state_coupled()
550 cpuidle_coupled_set_not_waiting(dev->cpu, coupled); in cpuidle_enter_state_coupled()
595 cpuidle_coupled_set_done(dev->cpu, coupled); in cpuidle_enter_state_coupled()
606 cpuidle_coupled_set_done(dev->cpu, coupled); in cpuidle_enter_state_coupled()
653 int cpu; in cpuidle_coupled_register_device() local
661 for_each_cpu(cpu, &dev->coupled_cpus) { in cpuidle_coupled_register_device()
662 other_dev = per_cpu(cpuidle_devices, cpu); in cpuidle_coupled_register_device()
685 csd = &per_cpu(cpuidle_coupled_poke_cb, dev->cpu); in cpuidle_coupled_register_device()
687 csd->info = (void *)(unsigned long)dev->cpu; in cpuidle_coupled_register_device()
721 int cpu = get_cpu(); in cpuidle_coupled_prevent_idle() local
725 cpuidle_coupled_poke_others(cpu, coupled); in cpuidle_coupled_prevent_idle()
740 int cpu = get_cpu(); in cpuidle_coupled_allow_idle() local
749 cpuidle_coupled_poke_others(cpu, coupled); in cpuidle_coupled_allow_idle()
765 int cpu = (unsigned long)hcpu; in cpuidle_coupled_cpu_notify() local
782 dev = per_cpu(cpuidle_devices, cpu); in cpuidle_coupled_cpu_notify()