Lines Matching refs:irq
75 int irq; member
195 static int vic_irqdomain_map(struct irq_domain *d, unsigned int irq, in vic_irqdomain_map() argument
203 irq_set_chip_and_handler(irq, &vic_chip, handle_level_irq); in vic_irqdomain_map()
204 irq_set_chip_data(irq, v->base); in vic_irqdomain_map()
205 set_irq_flags(irq, IRQF_VALID | IRQF_PROBE); in vic_irqdomain_map()
217 u32 stat, irq; in handle_one_vic() local
221 irq = ffs(stat) - 1; in handle_one_vic()
222 handle_domain_irq(vic->domain, irq, regs); in handle_one_vic()
229 static void vic_handle_irq_cascaded(unsigned int irq, struct irq_desc *desc) in vic_handle_irq_cascaded() argument
280 unsigned int irq, in vic_register() argument
304 v->domain = irq_domain_add_simple(node, fls(valid_sources), irq, in vic_register()
311 if (irq) in vic_register()
312 v->irq = irq; in vic_register()
314 v->irq = irq_find_mapping(v->domain, 0); in vic_register()
320 unsigned int irq = d->hwirq; in vic_ack_irq() local
321 writel(1 << irq, base + VIC_INT_ENABLE_CLEAR); in vic_ack_irq()
323 writel(1 << irq, base + VIC_INT_SOFT_CLEAR); in vic_ack_irq()
329 unsigned int irq = d->hwirq; in vic_mask_irq() local
330 writel(1 << irq, base + VIC_INT_ENABLE_CLEAR); in vic_mask_irq()
336 unsigned int irq = d->hwirq; in vic_unmask_irq() local
337 writel(1 << irq, base + VIC_INT_ENABLE); in vic_unmask_irq()
341 static struct vic_device *vic_from_irq(unsigned int irq) in vic_from_irq() argument
344 unsigned int base_irq = irq & ~31; in vic_from_irq()
348 if (v->irq == base_irq) in vic_from_irq()
357 struct vic_device *v = vic_from_irq(d->irq); in vic_set_wake()
516 return v->irq; in vic_init_cascaded()