Lines Matching refs:irq

71 static void desc_set_defaults(unsigned int irq, struct irq_desc *desc, int node,  in desc_set_defaults()  argument
80 desc->irq_data.irq = irq; in desc_set_defaults()
106 static void irq_insert_desc(unsigned int irq, struct irq_desc *desc) in irq_insert_desc() argument
108 radix_tree_insert(&irq_desc_tree, irq, desc); in irq_insert_desc()
111 struct irq_desc *irq_to_desc(unsigned int irq) in irq_to_desc() argument
113 return radix_tree_lookup(&irq_desc_tree, irq); in irq_to_desc()
117 static void delete_irq_desc(unsigned int irq) in delete_irq_desc() argument
119 radix_tree_delete(&irq_desc_tree, irq); in delete_irq_desc()
144 static struct irq_desc *alloc_desc(int irq, int node, struct module *owner) in alloc_desc() argument
163 desc_set_defaults(irq, desc, node, owner); in alloc_desc()
174 static void free_desc(unsigned int irq) in free_desc() argument
176 struct irq_desc *desc = irq_to_desc(irq); in free_desc()
178 unregister_irq_proc(irq, desc); in free_desc()
187 delete_irq_desc(irq); in free_desc()
289 struct irq_desc *irq_to_desc(unsigned int irq) in irq_to_desc() argument
291 return (irq < NR_IRQS) ? irq_desc + irq : NULL; in irq_to_desc()
295 static void free_desc(unsigned int irq) in free_desc() argument
297 struct irq_desc *desc = irq_to_desc(irq); in free_desc()
301 desc_set_defaults(irq, desc, irq_desc_get_node(desc), NULL); in free_desc()
323 void irq_mark_irq(unsigned int irq) in irq_mark_irq() argument
326 bitmap_set(allocated_irqs, irq, 1); in irq_mark_irq()
331 void irq_init_desc(unsigned int irq) in irq_init_desc() argument
333 free_desc(irq); in irq_init_desc()
344 int generic_handle_irq(unsigned int irq) in generic_handle_irq() argument
346 struct irq_desc *desc = irq_to_desc(irq); in generic_handle_irq()
369 unsigned int irq = hwirq; in __handle_domain_irq() local
376 irq = irq_find_mapping(domain, hwirq); in __handle_domain_irq()
383 if (unlikely(!irq || irq >= nr_irqs)) { in __handle_domain_irq()
384 ack_bad_irq(irq); in __handle_domain_irq()
387 generic_handle_irq(irq); in __handle_domain_irq()
430 __irq_alloc_descs(int irq, unsigned int from, unsigned int cnt, int node, in __irq_alloc_descs() argument
438 if (irq >= 0) { in __irq_alloc_descs()
439 if (from > irq) in __irq_alloc_descs()
441 from = irq; in __irq_alloc_descs()
456 if (irq >=0 && start != irq) in __irq_alloc_descs()
485 int i, irq = __irq_alloc_descs(-1, 0, cnt, node, NULL); in irq_alloc_hwirqs() local
487 if (irq < 0) in irq_alloc_hwirqs()
490 for (i = irq; cnt > 0; i++, cnt--) { in irq_alloc_hwirqs()
495 return irq; in irq_alloc_hwirqs()
498 for (i--; i >= irq; i--) { in irq_alloc_hwirqs()
502 irq_free_descs(irq, cnt); in irq_alloc_hwirqs()
538 __irq_get_desc_lock(unsigned int irq, unsigned long *flags, bool bus, in __irq_get_desc_lock() argument
541 struct irq_desc *desc = irq_to_desc(irq); in __irq_get_desc_lock()
568 int irq_set_percpu_devid(unsigned int irq) in irq_set_percpu_devid() argument
570 struct irq_desc *desc = irq_to_desc(irq); in irq_set_percpu_devid()
583 irq_set_percpu_devid_flags(irq); in irq_set_percpu_devid()
587 void kstat_incr_irq_this_cpu(unsigned int irq) in kstat_incr_irq_this_cpu() argument
589 kstat_incr_irqs_this_cpu(irq_to_desc(irq)); in kstat_incr_irq_this_cpu()
601 unsigned int kstat_irqs_cpu(unsigned int irq, int cpu) in kstat_irqs_cpu() argument
603 struct irq_desc *desc = irq_to_desc(irq); in kstat_irqs_cpu()
617 unsigned int kstat_irqs(unsigned int irq) in kstat_irqs() argument
619 struct irq_desc *desc = irq_to_desc(irq); in kstat_irqs()
639 unsigned int kstat_irqs_usr(unsigned int irq) in kstat_irqs_usr() argument
644 sum = kstat_irqs(irq); in kstat_irqs_usr()