Lines Matching refs:irq

37 struct irq_cfg *irq_cfg(unsigned int irq)  in irq_cfg()  argument
39 return irq_get_chip_data(irq); in irq_cfg()
47 static struct irq_cfg *alloc_irq_cfg(unsigned int irq, int node) in alloc_irq_cfg() argument
101 __assign_irq_vector(int irq, struct irq_cfg *cfg, const struct cpumask *mask) in __assign_irq_vector() argument
183 per_cpu(vector_irq, new_cpu)[vector] = irq; in __assign_irq_vector()
194 int assign_irq_vector(int irq, struct irq_cfg *cfg, const struct cpumask *mask) in assign_irq_vector() argument
200 err = __assign_irq_vector(irq, cfg, mask); in assign_irq_vector()
205 void clear_irq_vector(int irq, struct irq_cfg *cfg) in clear_irq_vector() argument
228 if (per_cpu(vector_irq, cpu)[vector] != irq) in clear_irq_vector()
269 int irq, vector; in __setup_vector_irq() local
279 for_each_active_irq(irq) { in __setup_vector_irq()
280 cfg = irq_cfg(irq); in __setup_vector_irq()
287 per_cpu(vector_irq, cpu)[vector] = irq; in __setup_vector_irq()
291 irq = per_cpu(vector_irq, cpu)[vector]; in __setup_vector_irq()
292 if (irq <= VECTOR_UNDEFINED) in __setup_vector_irq()
295 cfg = irq_cfg(irq); in __setup_vector_irq()
307 int irq; in setup_vector_irq() local
316 for (irq = 0; irq < nr_legacy_irqs(); irq++) in setup_vector_irq()
317 per_cpu(vector_irq, cpu)[IRQ0_VECTOR + irq] = irq; in setup_vector_irq()
352 unsigned int irq = data->irq; in apic_set_affinity() local
361 err = assign_irq_vector(irq, cfg, mask); in apic_set_affinity()
367 if (assign_irq_vector(irq, cfg, data->affinity)) in apic_set_affinity()
368 pr_err("Failed to recover vector for irq %d\n", irq); in apic_set_affinity()
406 int irq; in smp_irq_move_cleanup_interrupt() local
411 irq = __this_cpu_read(vector_irq[vector]); in smp_irq_move_cleanup_interrupt()
413 if (irq <= VECTOR_UNDEFINED) in smp_irq_move_cleanup_interrupt()
416 desc = irq_to_desc(irq); in smp_irq_move_cleanup_interrupt()
420 cfg = irq_cfg(irq); in smp_irq_move_cleanup_interrupt()
474 void irq_force_complete_move(int irq) in irq_force_complete_move() argument
476 struct irq_cfg *cfg = irq_cfg(irq); in irq_force_complete_move()
488 int arch_setup_hwirq(unsigned int irq, int node) in arch_setup_hwirq() argument
494 cfg = alloc_irq_cfg(irq, node); in arch_setup_hwirq()
499 ret = __assign_irq_vector(irq, cfg, apic->target_cpus()); in arch_setup_hwirq()
503 irq_set_chip_data(irq, cfg); in arch_setup_hwirq()
505 free_irq_cfg(irq, cfg); in arch_setup_hwirq()
509 void arch_teardown_hwirq(unsigned int irq) in arch_teardown_hwirq() argument
511 struct irq_cfg *cfg = irq_cfg(irq); in arch_teardown_hwirq()
513 free_remapped_irq(irq); in arch_teardown_hwirq()
514 clear_irq_vector(irq, cfg); in arch_teardown_hwirq()
515 free_irq_cfg(irq, cfg); in arch_teardown_hwirq()