Lines Matching full:irq

13 #include <linux/irq.h>
37 static inline u32 get_ext_irq_perf_reg(int irq) in get_ext_irq_perf_reg() argument
39 if (irq < 4) in get_ext_irq_perf_reg()
68 * dispatch internal devices IRQ (uart, enet, watchdog, ...). do not
115 unsigned irq = d->irq - IRQ_INTERNAL_BASE; \
116 unsigned reg = (irq / 32) ^ (width/32 - 1); \
117 unsigned bit = irq & 0x1f; \
137 unsigned irq = d->irq - IRQ_INTERNAL_BASE; \
138 unsigned reg = (irq / 32) ^ (width/32 - 1); \
139 unsigned bit = irq & 0x1f; \
196 * internal IRQs operations: only mask/unmask on PERF irq mask
211 * irq control register.
215 unsigned int irq = d->irq - IRQ_EXTERNAL_BASE; in bcm63xx_external_irq_mask() local
219 regaddr = get_ext_irq_perf_reg(irq); in bcm63xx_external_irq_mask()
224 reg &= ~EXTIRQ_CFG_MASK_6348(irq % 4); in bcm63xx_external_irq_mask()
226 reg &= ~EXTIRQ_CFG_MASK(irq % 4); in bcm63xx_external_irq_mask()
232 internal_irq_mask(irq_get_irq_data(irq + ext_irq_start)); in bcm63xx_external_irq_mask()
237 unsigned int irq = d->irq - IRQ_EXTERNAL_BASE; in bcm63xx_external_irq_unmask() local
241 regaddr = get_ext_irq_perf_reg(irq); in bcm63xx_external_irq_unmask()
246 reg |= EXTIRQ_CFG_MASK_6348(irq % 4); in bcm63xx_external_irq_unmask()
248 reg |= EXTIRQ_CFG_MASK(irq % 4); in bcm63xx_external_irq_unmask()
254 internal_irq_unmask(irq_get_irq_data(irq + ext_irq_start), in bcm63xx_external_irq_unmask()
260 unsigned int irq = d->irq - IRQ_EXTERNAL_BASE; in bcm63xx_external_irq_clear() local
264 regaddr = get_ext_irq_perf_reg(irq); in bcm63xx_external_irq_clear()
269 reg |= EXTIRQ_CFG_CLEAR_6348(irq % 4); in bcm63xx_external_irq_clear()
271 reg |= EXTIRQ_CFG_CLEAR(irq % 4); in bcm63xx_external_irq_clear()
280 unsigned int irq = d->irq - IRQ_EXTERNAL_BASE; in bcm63xx_external_irq_set_type() local
317 regaddr = get_ext_irq_perf_reg(irq); in bcm63xx_external_irq_set_type()
320 irq %= 4; in bcm63xx_external_irq_set_type()
325 reg |= EXTIRQ_CFG_LEVELSENSE_6348(irq); in bcm63xx_external_irq_set_type()
327 reg &= ~EXTIRQ_CFG_LEVELSENSE_6348(irq); in bcm63xx_external_irq_set_type()
329 reg |= EXTIRQ_CFG_SENSE_6348(irq); in bcm63xx_external_irq_set_type()
331 reg &= ~EXTIRQ_CFG_SENSE_6348(irq); in bcm63xx_external_irq_set_type()
333 reg |= EXTIRQ_CFG_BOTHEDGE_6348(irq); in bcm63xx_external_irq_set_type()
335 reg &= ~EXTIRQ_CFG_BOTHEDGE_6348(irq); in bcm63xx_external_irq_set_type()
346 reg |= EXTIRQ_CFG_LEVELSENSE(irq); in bcm63xx_external_irq_set_type()
348 reg &= ~EXTIRQ_CFG_LEVELSENSE(irq); in bcm63xx_external_irq_set_type()
350 reg |= EXTIRQ_CFG_SENSE(irq); in bcm63xx_external_irq_set_type()
352 reg &= ~EXTIRQ_CFG_SENSE(irq); in bcm63xx_external_irq_set_type()
354 reg |= EXTIRQ_CFG_BOTHEDGE(irq); in bcm63xx_external_irq_set_type()
356 reg &= ~EXTIRQ_CFG_BOTHEDGE(irq); in bcm63xx_external_irq_set_type()
514 int i, irq; in arch_init_irq() local
528 irq = MIPS_CPU_IRQ_BASE + i; in arch_init_irq()
529 if (request_irq(irq, no_action, IRQF_NO_THREAD, in arch_init_irq()
531 pr_err("Failed to request irq %d (cascade_extirq)\n", in arch_init_irq()
532 irq); in arch_init_irq()
537 irq = MIPS_CPU_IRQ_BASE + 2; in arch_init_irq()
538 if (request_irq(irq, no_action, IRQF_NO_THREAD, "cascade_ip2", NULL)) in arch_init_irq()
539 pr_err("Failed to request irq %d (cascade_ip2)\n", irq); in arch_init_irq()
542 irq = MIPS_CPU_IRQ_BASE + 3; in arch_init_irq()
543 if (request_irq(irq, no_action, IRQF_NO_THREAD, "cascade_ip3", in arch_init_irq()
545 pr_err("Failed to request irq %d (cascade_ip3)\n", irq); in arch_init_irq()