Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/dev/isa Use IST_LEVEL as appropriate. Fixes PCMCIA inte...



details:   https://anonhg.NetBSD.org/src/rev/650e044c5e97
branches:  trunk
changeset: 500807:650e044c5e97
user:      thorpej <thorpej%NetBSD.org@localhost>
date:      Mon Dec 18 21:17:44 2000 +0000

description:
Use IST_LEVEL as appropriate.  Fixes PCMCIA interrupt problems
on the DEC Multia.  From Juergen Weiss <weiss%Uni-Mainz.DE@localhost>.

diffstat:

 sys/dev/isa/i82365_isasubr.c |  12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

diffs (54 lines):

diff -r fbc6ce8cdd03 -r 650e044c5e97 sys/dev/isa/i82365_isasubr.c
--- a/sys/dev/isa/i82365_isasubr.c      Mon Dec 18 21:13:14 2000 +0000
+++ b/sys/dev/isa/i82365_isasubr.c      Mon Dec 18 21:17:44 2000 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: i82365_isasubr.c,v 1.24 2000/12/09 20:35:31 matt Exp $ */
+/*     $NetBSD: i82365_isasubr.c,v 1.25 2000/12/18 21:17:44 thorpej Exp $      */
 
 #define        PCICISADEBUG
 
@@ -232,7 +232,7 @@
                /* Clear any pending interrupt. */
                (void) pcic_read(h, PCIC_CSC);
 
-               if ((sc->ih = isa_intr_establish(ic, irq, IST_EDGE, IPL_TTY,
+               if ((sc->ih = isa_intr_establish(ic, irq, IST_LEVEL, IPL_TTY,
                    pcic_isa_count_intr, h)) == NULL)
                        panic("cant get interrupt");
 
@@ -263,7 +263,7 @@
        }
        sc->intr_mask[h->chip] = mask;
 
-       printf("%s\n", sc->intr_mask ? "" : " none");
+       printf("%s\n", sc->intr_mask[h->chip] ? "" : " none");
 }
 
 /*
@@ -334,7 +334,7 @@
                                    "detected as available\n",
                                    sc->dev.dv_xname, sc->irq);
                } else if (chipmask == 0 ||
-                   isa_intr_alloc(ic, chipmask, IST_EDGE, &sc->irq)) {
+                   isa_intr_alloc(ic, chipmask, IST_LEVEL, &sc->irq)) {
                        printf("%s: no available irq; ", sc->dev.dv_xname);
                        sc->irq = IRQUNK;
                } else if ((chipmask & ~(1 << sc->irq)) == 0 && chipuniq == 0) {
@@ -348,7 +348,7 @@
        }
 
        if (sc->irq != IRQUNK) {
-               sc->ih = isa_intr_establish(ic, sc->irq, IST_EDGE, IPL_TTY,
+               sc->ih = isa_intr_establish(ic, sc->irq, IST_LEVEL, IPL_TTY,
                    pcic_intr, sc);
                if (sc->ih == NULL) {
                        printf("%s: can't establish interrupt",
@@ -473,7 +473,7 @@
        int reg;
 
        if (pf->cfe->flags & PCMCIA_CFE_IRQLEVEL)
-               ist = IST_EDGE;
+               ist = IST_LEVEL;
        else if (pf->cfe->flags & PCMCIA_CFE_IRQPULSE)
                ist = IST_PULSE;
        else



Home | Main Index | Thread Index | Old Index