Lines Matching +full:interrupt +full:- +full:affinity
1 // SPDX-License-Identifier: GPL-2.0
4 #include <linux/interrupt.h>
15 unsigned int irq_cpu[16] = {[0 ... 15] = -1};
19 int plat_set_irq_affinity(struct irq_data *d, const struct cpumask *affinity, in plat_set_irq_affinity() argument
25 /* I/O devices are connected on package-0 */ in plat_set_irq_affinity()
26 cpumask_copy(&new_affinity, affinity); in plat_set_irq_affinity()
27 for_each_cpu(cpu, affinity) in plat_set_irq_affinity()
32 return -EINVAL; in plat_set_irq_affinity()
34 cpumask_copy(d->common->affinity, &new_affinity); in plat_set_irq_affinity()
43 struct cpumask affinity; in ht_irqdispatch() local
59 cpumask_and(&affinity, irqd->common->affinity, cpu_active_mask); in ht_irqdispatch()
60 if (cpumask_empty(&affinity)) { in ht_irqdispatch()
65 irq_cpu[ht_irq[i]] = cpumask_next(irq_cpu[ht_irq[i]], &affinity); in ht_irqdispatch()
67 irq_cpu[ht_irq[i]] = cpumask_first(&affinity); in ht_irqdispatch()
94 pr_err("%s : spurious interrupt\n", __func__); in mach_irq_dispatch()
123 /* enable HT1 interrupt */ in irq_router_init()
125 /* enable router interrupt intenset */ in irq_router_init()
140 chip->irq_set_affinity = plat_set_irq_affinity; in mach_init_irq()