Lines Matching full:irq

16 #include <linux/irq.h>
78 * an interrupt on this irq (for the external irqs). So this mask function
83 unsigned int irq = d->irq; in intc_irq_mask() local
85 if ((irq >= MCFINT_VECBASE) && (irq <= MCFINT_VECMAX)) { in intc_irq_mask()
87 irq -= MCFINT_VECBASE; in intc_irq_mask()
88 v = 0x8 << intc_irqmap[irq].index; in intc_irq_mask()
89 writel(v, intc_irqmap[irq].icr); in intc_irq_mask()
95 unsigned int irq = d->irq; in intc_irq_unmask() local
97 if ((irq >= MCFINT_VECBASE) && (irq <= MCFINT_VECMAX)) { in intc_irq_unmask()
99 irq -= MCFINT_VECBASE; in intc_irq_unmask()
100 v = 0xd << intc_irqmap[irq].index; in intc_irq_unmask()
101 writel(v, intc_irqmap[irq].icr); in intc_irq_unmask()
107 unsigned int irq = d->irq; in intc_irq_ack() local
110 if ((irq >= MCFINT_VECBASE) && (irq <= MCFINT_VECMAX)) { in intc_irq_ack()
111 irq -= MCFINT_VECBASE; in intc_irq_ack()
112 if (intc_irqmap[irq].ack) { in intc_irq_ack()
114 v = readl(intc_irqmap[irq].icr); in intc_irq_ack()
115 v &= (0x7 << intc_irqmap[irq].index); in intc_irq_ack()
116 v |= (0x8 << intc_irqmap[irq].index); in intc_irq_ack()
117 writel(v, intc_irqmap[irq].icr); in intc_irq_ack()
124 unsigned int irq = d->irq; in intc_irq_set_type() local
126 if ((irq >= MCFINT_VECBASE) && (irq <= MCFINT_VECMAX)) { in intc_irq_set_type()
127 irq -= MCFINT_VECBASE; in intc_irq_set_type()
128 if (intc_irqmap[irq].ack) { in intc_irq_set_type()
132 v &= ~(0x1 << (32 - irq)); in intc_irq_set_type()
134 v |= (0x1 << (32 - irq)); in intc_irq_set_type()
163 int irq, edge; in init_IRQ() local
171 for (irq = 0; (irq < NR_IRQS); irq++) { in init_IRQ()
172 irq_set_chip(irq, &intc_irq_chip); in init_IRQ()
174 if ((irq >= MCFINT_VECBASE) && (irq <= MCFINT_VECMAX)) in init_IRQ()
175 edge = intc_irqmap[irq - MCFINT_VECBASE].ack; in init_IRQ()
177 irq_set_irq_type(irq, IRQ_TYPE_EDGE_RISING); in init_IRQ()
178 irq_set_handler(irq, intc_external_irq); in init_IRQ()
180 irq_set_irq_type(irq, IRQ_TYPE_LEVEL_HIGH); in init_IRQ()
181 irq_set_handler(irq, handle_level_irq); in init_IRQ()