Lines Matching refs:irq

98 	int irq;  in find_unassigned_irq()  local
100 for (irq = IA64_FIRST_DEVICE_VECTOR; irq < NR_IRQS; irq++) in find_unassigned_irq()
101 if (irq_status[irq] == IRQ_UNUSED) in find_unassigned_irq()
102 return irq; in find_unassigned_irq()
125 static int __bind_irq_vector(int irq, int vector, cpumask_t domain) in __bind_irq_vector() argument
129 struct irq_cfg *cfg = &irq_cfg[irq]; in __bind_irq_vector()
131 BUG_ON((unsigned)irq >= NR_IRQS); in __bind_irq_vector()
142 per_cpu(vector_irq, cpu)[vector] = irq; in __bind_irq_vector()
145 irq_status[irq] = IRQ_USED; in __bind_irq_vector()
150 int bind_irq_vector(int irq, int vector, cpumask_t domain) in bind_irq_vector() argument
156 ret = __bind_irq_vector(irq, vector, domain); in bind_irq_vector()
161 static void __clear_irq_vector(int irq) in __clear_irq_vector() argument
165 struct irq_cfg *cfg = &irq_cfg[irq]; in __clear_irq_vector()
167 BUG_ON((unsigned)irq >= NR_IRQS); in __clear_irq_vector()
175 irq_status[irq] = IRQ_UNUSED; in __clear_irq_vector()
179 static void clear_irq_vector(int irq) in clear_irq_vector() argument
184 __clear_irq_vector(irq); in clear_irq_vector()
189 ia64_native_assign_irq_vector (int irq) in ia64_native_assign_irq_vector() argument
206 if (irq == AUTO_ASSIGN) in ia64_native_assign_irq_vector()
207 irq = vector; in ia64_native_assign_irq_vector()
208 BUG_ON(__bind_irq_vector(irq, vector, domain)); in ia64_native_assign_irq_vector()
238 int irq, vector; in __setup_vector_irq() local
244 for (irq = 0; irq < NR_IRQS; ++irq) { in __setup_vector_irq()
245 if (!cpumask_test_cpu(cpu, &irq_cfg[irq].domain)) in __setup_vector_irq()
247 vector = irq_to_vector(irq); in __setup_vector_irq()
248 per_cpu(vector_irq, cpu)[vector] = irq; in __setup_vector_irq()
266 static int __irq_prepare_move(int irq, int cpu) in __irq_prepare_move() argument
268 struct irq_cfg *cfg = &irq_cfg[irq]; in __irq_prepare_move()
286 BUG_ON(__bind_irq_vector(irq, vector, domain)); in __irq_prepare_move()
290 int irq_prepare_move(int irq, int cpu) in irq_prepare_move() argument
296 ret = __irq_prepare_move(irq, cpu); in irq_prepare_move()
301 void irq_complete_move(unsigned irq) in irq_complete_move() argument
303 struct irq_cfg *cfg = &irq_cfg[irq]; in irq_complete_move()
320 static irqreturn_t smp_irq_move_cleanup_interrupt(int irq, void *dev_id) in smp_irq_move_cleanup_interrupt() argument
328 int irq; in smp_irq_move_cleanup_interrupt() local
331 irq = __this_cpu_read(vector_irq[vector]); in smp_irq_move_cleanup_interrupt()
332 if (irq < 0) in smp_irq_move_cleanup_interrupt()
335 desc = irq_to_desc(irq); in smp_irq_move_cleanup_interrupt()
336 cfg = irq_cfg + irq; in smp_irq_move_cleanup_interrupt()
379 void destroy_and_reserve_irq(unsigned int irq) in destroy_and_reserve_irq() argument
383 irq_init_desc(irq); in destroy_and_reserve_irq()
385 __clear_irq_vector(irq); in destroy_and_reserve_irq()
386 irq_status[irq] = IRQ_RSVD; in destroy_and_reserve_irq()
396 int irq, vector, cpu; in create_irq() local
399 irq = vector = -ENOSPC; in create_irq()
409 irq = find_unassigned_irq(); in create_irq()
410 if (irq < 0) in create_irq()
412 BUG_ON(__bind_irq_vector(irq, vector, domain)); in create_irq()
415 if (irq >= 0) in create_irq()
416 irq_init_desc(irq); in create_irq()
417 return irq; in create_irq()
420 void destroy_irq(unsigned int irq) in destroy_irq() argument
422 irq_init_desc(irq); in destroy_irq()
423 clear_irq_vector(irq); in destroy_irq()
479 int irq = local_vector_to_irq(vector); in ia64_handle_irq() local
483 kstat_incr_irq_this_cpu(irq); in ia64_handle_irq()
486 kstat_incr_irq_this_cpu(irq); in ia64_handle_irq()
491 if (unlikely(irq < 0)) { in ia64_handle_irq()
497 generic_handle_irq(irq); in ia64_handle_irq()
538 int irq = local_vector_to_irq(vector); in ia64_process_pending_intr() local
542 kstat_incr_irq_this_cpu(irq); in ia64_process_pending_intr()
544 kstat_incr_irq_this_cpu(irq); in ia64_process_pending_intr()
557 if (unlikely(irq < 0)) { in ia64_process_pending_intr()
563 vectors_in_migration[irq]=0; in ia64_process_pending_intr()
564 generic_handle_irq(irq); in ia64_process_pending_intr()
584 static irqreturn_t dummy_handler (int irq, void *dev_id) in dummy_handler() argument
612 unsigned int irq; in ia64_native_register_percpu_irq() local
614 irq = vec; in ia64_native_register_percpu_irq()
615 BUG_ON(bind_irq_vector(irq, vec, CPU_MASK_ALL)); in ia64_native_register_percpu_irq()
616 irq_set_status_flags(irq, IRQ_PER_CPU); in ia64_native_register_percpu_irq()
617 irq_set_chip(irq, &irq_type_ia64_lsapic); in ia64_native_register_percpu_irq()
619 setup_irq(irq, action); in ia64_native_register_percpu_irq()
620 irq_set_handler(irq, handle_percpu_irq); in ia64_native_register_percpu_irq()