Home | History | Annotate | Download | only in pci

Lines Matching refs:irq

279 specific_eoi(int irq)
281 if (irq > 7) {
283 OCW2_EOI | OCW2_SL | (irq & 0x07)); /* XXX */
286 OCW2_EOI | OCW2_SL | (irq > 7 ? 2 : irq));
290 sio_setirqstat(int irq, int enabled, int type)
296 printf("sio_setirqstat: irq %d: %s, %s\n", irq,
300 icu = irq / 8;
301 bit = irq % 8;
327 elcr[0] &= ~0x07; /* IRQ[0-2] must be edge-triggered */
328 elcr[1] &= ~0x21; /* IRQ[13,8] must be edge-triggered */
398 * IRQ 2 must be edge-triggered, and should be
408 * Otherwise, disable the IRQ and set its
435 sio_intr_string(void *v, int irq, char *buf, size_t len)
437 if (irq == 0 || irq >= ICU_LEN || irq == 2)
438 panic("%s: bogus isa irq 0x%x", __func__, irq);
440 snprintf(buf, len, "isa irq %d", irq);
445 sio_intr_evcnt(void *v, int irq)
448 if (irq == 0 || irq >= ICU_LEN || irq == 2)
449 panic("%s: bogus isa irq 0x%x", __func__, irq);
451 return (alpha_shared_intr_evcnt(sio_intr, irq));
455 sio_intr_establish(void *v, int irq, int type, int level, int flags,
460 if (irq > ICU_LEN || type == IST_NONE)
461 panic("sio_intr_establish: bogus irq or type");
463 cookie = alpha_shared_intr_alloc_intrhand(sio_intr, irq, type, level,
477 if (alpha_shared_intr_firstactive(sio_intr, irq)) {
478 scb_set(0x800 + SCB_IDXTOVEC(irq), sio_iointr, NULL);
479 sio_setirqstat(irq, 1,
480 alpha_shared_intr_get_sharetype(sio_intr, irq));
489 alpha_shared_intr_set_maxstrays(sio_intr, irq, 0);
502 int ist, irq = ih->ih_num;
513 if (alpha_shared_intr_firstactive(sio_intr, irq)) {
518 switch (irq) {
534 sio_setirqstat(irq, 0, ist);
535 alpha_shared_intr_set_dfltsharetype(sio_intr, irq, ist);
536 alpha_shared_intr_set_maxstrays(sio_intr, irq, STRAY_MAX);
539 scb_free(0x800 + SCB_IDXTOVEC(irq));
569 const int irq = __SHIFTOUT(pirqreg, PIRQ_RTCTRL_IRQ);
572 printf("sio_pirq_intr_map: pirq %d -> ISA irq %d, rtctl = 0x%08x\n",
573 pirq, irq, rtctrl);
576 alpha_pci_intr_handle_init(ihp, irq, 0);
584 const u_int irq = alpha_pci_intr_handle_get_irq(&ih);
586 return sio_intr_string(NULL /*XXX*/, irq, buf, len);
592 const u_int irq = alpha_pci_intr_handle_get_irq(&ih);
594 return sio_intr_evcnt(NULL /*XXX*/, irq);
601 const u_int irq = alpha_pci_intr_handle_get_irq(&ih);
604 return sio_intr_establish(NULL /*XXX*/, irq, IST_LEVEL, level, flags,
621 int bus, irq;
633 irq = PCIIDE_COMPAT_IRQ(chan);
634 cookie = sio_intr_establish(NULL /*XXX*/, irq, IST_EDGE, IPL_BIO,
641 sio_intr_string(NULL /*XXX*/, irq, buf, sizeof(buf)));
647 sio_isa_intr_establish(void *v, int irq, int type, int level,
650 return sio_intr_establish(v, irq, type, level, 0, fn, arg);
656 int irq;
658 irq = SCB_VECTOIDX(vec - 0x800);
661 if (irq > ICU_LEN || irq < 0)
662 panic("sio_iointr: irq out of range (%d)", irq);
665 if (!alpha_shared_intr_dispatch(sio_intr, irq))
666 alpha_shared_intr_stray(sio_intr, irq, "isa");
668 alpha_shared_intr_reset_strays(sio_intr, irq);
676 specific_eoi(irq);
682 sio_intr_alloc(void *v, int mask, int type, int *irq)
709 * if nothing's using the irq, just return it
711 *irq = i;
719 * if the irq is shareable, count the number of other
720 * handlers, and if it's smaller than the last irq like
745 *irq = bestirq;