Home | History | Annotate | Download | only in xscale

Lines Matching refs:irq

150 ixp425_enable_irq(int irq)
153 intr_enabled |= (1U << irq);
158 ixp425_disable_irq(int irq)
161 intr_enabled &= ~(1U << irq);
166 ixp425_irq2gpio_bit(int irq)
180 if (int2gpio[irq] == 0xff)
181 panic("ixp425_irq2gpio_bit: bad GPIO irq: %d\n", irq);
183 return (1U << int2gpio[irq]);
194 int irq, ipl;
196 /* First, figure out which IPLs each IRQ has. */
197 for (irq = 0; irq < NIRQ; irq++) {
199 iq = &intrq[irq];
200 ixp425_disable_irq(irq);
210 for (irq = 0; irq < NIRQ; irq++) {
211 if (intrq[irq].iq_levels & (1U << ipl))
212 irqs |= (1U << irq);
244 * given IRQ.
246 for (irq = 0; irq < NIRQ; irq++) {
247 int irqs = (1U << irq);
248 iq = &intrq[irq];
250 ixp425_enable_irq(irq);
288 intr_steer = 0; /* All interrupts steered to IRQ */
310 snprintf(iq->iq_name, sizeof(iq->iq_name), "irq %d", i);
333 ixp425_intr_establish(int irq, int ipl, int (*func)(void *), void *arg)
339 if (irq < 0 || irq > NIRQ)
340 panic("ixp425_intr_establish: IRQ %d out of range", irq);
342 printf("ixp425_intr_establish(irq=%d, ipl=%d, func=%08x, arg=%08x)\n",
343 irq, ipl, (uint32_t) func, (uint32_t) arg);
350 ih->ih_irq = irq;
352 iq = &intrq[irq];
389 int oldirqstate, irq, ibit, hwpend;
404 irq = ffs(hwpend) - 1;
405 ibit = (1U << irq);
411 * IRQ is masked; mark it as pending and check
412 * the next one. Note: the IRQ is already disabled.
420 iq = &intrq[irq];
427 ixp425_irq2gpio_bit(irq);
440 ixp425_irq2gpio_bit(irq);