Source-Changes-HG archive

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

[src/trunk]: src/sys/arch/amiga/dev fix a couple of things to handle interrup...



details:   https://anonhg.NetBSD.org/src/rev/e0e378bfdce4
branches:  trunk
changeset: 482771:e0e378bfdce4
user:      aymeric <aymeric%NetBSD.org@localhost>
date:      Mon Feb 21 18:27:49 2000 +0000

description:
fix a couple of things to handle interrupts more cleanly on the A1200

diffstat:

 sys/arch/amiga/dev/gayle_pcmcia.c |  13 +++++++------
 sys/arch/amiga/dev/wdc_amiga.c    |   4 ++--
 2 files changed, 9 insertions(+), 8 deletions(-)

diffs (52 lines):

diff -r de3666c0eae2 -r e0e378bfdce4 sys/arch/amiga/dev/gayle_pcmcia.c
--- a/sys/arch/amiga/dev/gayle_pcmcia.c Mon Feb 21 15:13:11 2000 +0000
+++ b/sys/arch/amiga/dev/gayle_pcmcia.c Mon Feb 21 18:27:49 2000 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: gayle_pcmcia.c,v 1.1 2000/01/23 20:57:27 aymeric Exp $ */
+/*     $NetBSD: gayle_pcmcia.c,v 1.2 2000/02/21 18:27:50 aymeric Exp $ */
 
 /* PCMCIA front-end driver for A1200's and A600's. */
 
@@ -234,7 +234,8 @@
        struct pccard_softc *self = arg;
 
        if (gayle.intreq & GAYLE_INT_DETECT) {
-               gayle.intreq = GAYLE_INT_IDE | GAYLE_INT_IREQ;
+               gayle.intreq = GAYLE_INT_IDE | GAYLE_INT_STSCHG |
+                   GAYLE_INT_SPKR | GAYLE_INT_WP | GAYLE_INT_IREQ;
                self->devs[0].flags |= SLOT_NEW_CARD_EVENT;
                return 1;
        }
@@ -257,10 +258,10 @@
                gayle.pcc_config = 0;
                pccard_attach_slot(&self->devs[0]);
        } else {
-               int intreq = gayle.intreq;
-               if (intreq & GAYLE_INT_IREQ) {
-                       gayle.intreq = (intreq ^ GAYLE_INT_IREQ) |
-                               GAYLE_INT_IDE | GAYLE_INT_DETECT;
+               int intreq = gayle.intreq &
+                   (GAYLE_INT_STSCHG | GAYLE_INT_WP | GAYLE_INT_IREQ);
+               if (intreq) {
+                       gayle.intreq = (intreq ^ 0x2c) | 0xc0;
 
                        if (slot->flags & SLOT_OCCUPIED &&
                            slot->intr_func != NULL)
diff -r de3666c0eae2 -r e0e378bfdce4 sys/arch/amiga/dev/wdc_amiga.c
--- a/sys/arch/amiga/dev/wdc_amiga.c    Mon Feb 21 15:13:11 2000 +0000
+++ b/sys/arch/amiga/dev/wdc_amiga.c    Mon Feb 21 18:27:49 2000 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: wdc_amiga.c,v 1.4 2000/02/19 17:16:20 aymeric Exp $    */
+/*     $NetBSD: wdc_amiga.c,v 1.5 2000/02/21 18:27:49 aymeric Exp $    */
 
 /*-
  * Copyright (c) 2000 The NetBSD Foundation, Inc.
@@ -143,7 +143,7 @@
        add_isr (&sc->sc_isr);
 
        if (is_a1200())
-               gayle.intena |= GAYLE_INT_IREQ | GAYLE_INT_IDE;
+               gayle.intena |= GAYLE_INT_IDE;
 
        wdcattach(&sc->wdc_channel);
 }



Home | Main Index | Thread Index | Old Index