Lines Matching refs:shirq
61 struct spear_shirq *shirq = irq_data_get_irq_chip_data(d); in shirq_irq_mask() local
62 u32 val, shift = d->irq - shirq->virq_base + shirq->offset; in shirq_irq_mask()
63 u32 __iomem *reg = shirq->base + shirq->mask_reg; in shirq_irq_mask()
73 struct spear_shirq *shirq = irq_data_get_irq_chip_data(d); in shirq_irq_unmask() local
74 u32 val, shift = d->irq - shirq->virq_base + shirq->offset; in shirq_irq_unmask()
75 u32 __iomem *reg = shirq->base + shirq->mask_reg; in shirq_irq_unmask()
188 struct spear_shirq *shirq = irq_get_handler_data(irq); in shirq_handler() local
191 pend = readl(shirq->base + shirq->status_reg) & shirq->mask; in shirq_handler()
192 pend >>= shirq->offset; in shirq_handler()
198 generic_handle_irq(shirq->virq_base + irq); in shirq_handler()
202 static void __init spear_shirq_register(struct spear_shirq *shirq, in spear_shirq_register() argument
207 if (!shirq->irq_chip) in spear_shirq_register()
211 irq_set_handler_data(parent_irq, shirq); in spear_shirq_register()
213 for (i = 0; i < shirq->nr_irqs; i++) { in spear_shirq_register()
214 irq_set_chip_and_handler(shirq->virq_base + i, in spear_shirq_register()
215 shirq->irq_chip, handle_simple_irq); in spear_shirq_register()
216 set_irq_flags(shirq->virq_base + i, IRQF_VALID); in spear_shirq_register()
217 irq_set_chip_data(shirq->virq_base + i, shirq); in spear_shirq_register()