Lines Matching refs:irq
23 unsigned int irq; member
35 void intc_irq_xlate_set(unsigned int irq, intc_enum id, struct intc_desc_int *d) in intc_irq_xlate_set() argument
40 intc_irq_xlate[irq].enum_id = id; in intc_irq_xlate_set()
41 intc_irq_xlate[irq].desc = d; in intc_irq_xlate_set()
45 struct intc_map_entry *intc_irq_xlate_get(unsigned int irq) in intc_irq_xlate_get() argument
47 return intc_irq_xlate + irq; in intc_irq_xlate_get()
54 int irq = -1; in intc_irq_lookup() local
75 irq = ptr - intc_irq_xlate; in intc_irq_lookup()
80 return irq; in intc_irq_lookup()
84 static int add_virq_to_pirq(unsigned int irq, unsigned int virq) in add_virq_to_pirq() argument
87 struct irq_data *data = irq_get_irq_data(irq); in add_virq_to_pirq()
92 if (entry->irq == virq) in add_virq_to_pirq()
103 entry->irq = virq; in add_virq_to_pirq()
110 static void intc_virq_handler(unsigned int irq, struct irq_desc *desc) in intc_virq_handler() argument
112 struct irq_data *data = irq_get_irq_data(irq); in intc_virq_handler()
115 struct intc_desc_int *d = get_intc_desc(irq); in intc_virq_handler()
122 handle = (unsigned long)irq_get_handler_data(entry->irq); in intc_virq_handler()
126 generic_handle_irq(entry->irq); in intc_virq_handler()
214 int irq; in intc_subgroup_map() local
222 irq = irq_alloc_desc(numa_node_id()); in intc_subgroup_map()
223 if (unlikely(irq < 0)) { in intc_subgroup_map()
228 activate_irq(irq); in intc_subgroup_map()
231 irq, entry->pirq); in intc_subgroup_map()
233 intc_irq_xlate_set(irq, entry->enum_id, d); in intc_subgroup_map()
235 irq_set_chip_and_handler_name(irq, irq_get_chip(entry->pirq), in intc_subgroup_map()
237 irq_set_chip_data(irq, irq_get_chip_data(entry->pirq)); in intc_subgroup_map()
239 irq_set_handler_data(irq, (void *)entry->handle); in intc_subgroup_map()
244 irq_set_nothread(irq); in intc_subgroup_map()
247 add_virq_to_pirq(entry->pirq, irq); in intc_subgroup_map()
252 &intc_irq_xlate[irq]); in intc_subgroup_map()