Lines Matching defs:cpu
156 * @cpu: the target CPU
163 irq_hw_number_t ipi_get_hwirq(unsigned int irq, unsigned int cpu)
168 if (!data || cpu >= nr_cpu_ids)
172 if (!ipimask || !cpumask_test_cpu(cpu, ipimask))
177 * uses a separate irq per cpu. If the underlying implementation uses
179 * needs to take care of the cpu destinations.
182 data = irq_get_irq_data(irq + cpu - data->common->ipi_offset);
189 const struct cpumask *dest, unsigned int cpu)
199 if (cpu >= nr_cpu_ids)
210 if (!cpumask_test_cpu(cpu, ipimask))
219 * @cpu: destination CPU, must in the destination mask passed to
227 int __ipi_send_single(struct irq_desc *desc, unsigned int cpu)
238 if (WARN_ON_ONCE(ipi_send_verify(chip, data, NULL, cpu)))
242 chip->ipi_send_mask(data, cpumask_of(cpu));
248 cpu != data->common->ipi_offset) {
249 /* use the correct data for that cpu */
250 unsigned irq = data->irq + cpu - data->common->ipi_offset;
254 chip->ipi_send_single(data, cpu);
273 unsigned int cpu;
292 for_each_cpu(cpu, dest) {
293 unsigned irq = base + cpu - data->common->ipi_offset;
296 chip->ipi_send_single(data, cpu);
299 for_each_cpu(cpu, dest)
300 chip->ipi_send_single(data, cpu);
308 * @cpu: destination CPU, must in the destination mask passed to
313 int ipi_send_single(unsigned int virq, unsigned int cpu)
319 if (WARN_ON_ONCE(ipi_send_verify(chip, data, NULL, cpu)))
322 return __ipi_send_single(desc, cpu);