Lines Matching refs:irq
74 static void desc_set_defaults(unsigned int irq, struct irq_desc *desc, int node, in desc_set_defaults() argument
79 desc->irq_data.irq = irq; in desc_set_defaults()
107 static void irq_insert_desc(unsigned int irq, struct irq_desc *desc) in irq_insert_desc() argument
109 radix_tree_insert(&irq_desc_tree, irq, desc); in irq_insert_desc()
112 struct irq_desc *irq_to_desc(unsigned int irq) in irq_to_desc() argument
114 return radix_tree_lookup(&irq_desc_tree, irq); in irq_to_desc()
118 static void delete_irq_desc(unsigned int irq) in delete_irq_desc() argument
120 radix_tree_delete(&irq_desc_tree, irq); in delete_irq_desc()
145 static struct irq_desc *alloc_desc(int irq, int node, struct module *owner) in alloc_desc() argument
164 desc_set_defaults(irq, desc, node, owner); in alloc_desc()
175 static void free_desc(unsigned int irq) in free_desc() argument
177 struct irq_desc *desc = irq_to_desc(irq); in free_desc()
179 unregister_irq_proc(irq, desc); in free_desc()
188 delete_irq_desc(irq); in free_desc()
290 struct irq_desc *irq_to_desc(unsigned int irq) in irq_to_desc() argument
292 return (irq < NR_IRQS) ? irq_desc + irq : NULL; in irq_to_desc()
296 static void free_desc(unsigned int irq) in free_desc() argument
298 struct irq_desc *desc = irq_to_desc(irq); in free_desc()
302 desc_set_defaults(irq, desc, desc_node(desc), NULL); in free_desc()
324 void irq_mark_irq(unsigned int irq) in irq_mark_irq() argument
327 bitmap_set(allocated_irqs, irq, 1); in irq_mark_irq()
332 void irq_init_desc(unsigned int irq) in irq_init_desc() argument
334 free_desc(irq); in irq_init_desc()
345 int generic_handle_irq(unsigned int irq) in generic_handle_irq() argument
347 struct irq_desc *desc = irq_to_desc(irq); in generic_handle_irq()
351 generic_handle_irq_desc(irq, desc); in generic_handle_irq()
370 unsigned int irq = hwirq; in __handle_domain_irq() local
377 irq = irq_find_mapping(domain, hwirq); in __handle_domain_irq()
384 if (unlikely(!irq || irq >= nr_irqs)) { in __handle_domain_irq()
385 ack_bad_irq(irq); in __handle_domain_irq()
388 generic_handle_irq(irq); in __handle_domain_irq()
431 __irq_alloc_descs(int irq, unsigned int from, unsigned int cnt, int node, in __irq_alloc_descs() argument
439 if (irq >= 0) { in __irq_alloc_descs()
440 if (from > irq) in __irq_alloc_descs()
442 from = irq; in __irq_alloc_descs()
457 if (irq >=0 && start != irq) in __irq_alloc_descs()
486 int i, irq = __irq_alloc_descs(-1, 0, cnt, node, NULL); in irq_alloc_hwirqs() local
488 if (irq < 0) in irq_alloc_hwirqs()
491 for (i = irq; cnt > 0; i++, cnt--) { in irq_alloc_hwirqs()
496 return irq; in irq_alloc_hwirqs()
499 for (i--; i >= irq; i--) { in irq_alloc_hwirqs()
503 irq_free_descs(irq, cnt); in irq_alloc_hwirqs()
539 __irq_get_desc_lock(unsigned int irq, unsigned long *flags, bool bus, in __irq_get_desc_lock() argument
542 struct irq_desc *desc = irq_to_desc(irq); in __irq_get_desc_lock()
569 int irq_set_percpu_devid(unsigned int irq) in irq_set_percpu_devid() argument
571 struct irq_desc *desc = irq_to_desc(irq); in irq_set_percpu_devid()
584 irq_set_percpu_devid_flags(irq); in irq_set_percpu_devid()
588 void kstat_incr_irq_this_cpu(unsigned int irq) in kstat_incr_irq_this_cpu() argument
590 kstat_incr_irqs_this_cpu(irq, irq_to_desc(irq)); in kstat_incr_irq_this_cpu()
602 unsigned int kstat_irqs_cpu(unsigned int irq, int cpu) in kstat_irqs_cpu() argument
604 struct irq_desc *desc = irq_to_desc(irq); in kstat_irqs_cpu()
618 unsigned int kstat_irqs(unsigned int irq) in kstat_irqs() argument
620 struct irq_desc *desc = irq_to_desc(irq); in kstat_irqs()
640 unsigned int kstat_irqs_usr(unsigned int irq) in kstat_irqs_usr() argument
645 sum = kstat_irqs(irq); in kstat_irqs_usr()