Source-Changes-HG archive

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

[src/netbsd-1-4]: src/sys/arch/atari/dev Pull up revision 1.30 (requested by ...



details:   https://anonhg.NetBSD.org/src/rev/97d08f6bc955
branches:  netbsd-1-4
changeset: 469857:97d08f6bc955
user:      he <he%NetBSD.org@localhost>
date:      Thu Dec 16 22:22:32 1999 +0000

description:
Pull up revision 1.30 (requested by leo):
  Change the way that bits are cleared in the InterruptPending
  register of the 68901, avoiding a read-modify-write cycle.
  Solves a "hanging keyboard" problem.

diffstat:

 sys/arch/atari/dev/atari5380.c |  12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

diffs (47 lines):

diff -r bd4d8f05e822 -r 97d08f6bc955 sys/arch/atari/dev/atari5380.c
--- a/sys/arch/atari/dev/atari5380.c    Thu Dec 16 22:22:05 1999 +0000
+++ b/sys/arch/atari/dev/atari5380.c    Thu Dec 16 22:22:32 1999 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: atari5380.c,v 1.29 1998/10/06 09:29:44 leo Exp $       */
+/*     $NetBSD: atari5380.c,v 1.29.6.1 1999/12/16 22:22:32 he Exp $    */
 
 /*
  * Copyright (c) 1995 Leo Weppelman.
@@ -254,7 +254,7 @@
        if (machineid & ATARI_TT) {
                /* SCSI-dma interrupts          */
                MFP2->mf_ierb |= IB_SCDM;
-               MFP2->mf_iprb &= ~IB_SCDM;
+               MFP2->mf_iprb  = (u_int8_t)~IB_SCDM;
                MFP2->mf_imrb |= IB_SCDM;
        }
        else if (machineid & ATARI_HADES) {
@@ -268,7 +268,7 @@
        else panic("scsi_tt_init: should not come here");
 
        MFP2->mf_iera |= IA_SCSI;       /* SCSI-5380 interrupts         */
-       MFP2->mf_ipra &= ~IA_SCSI;
+       MFP2->mf_ipra  = (u_int8_t)~IA_SCSI;
        MFP2->mf_imra |= IA_SCSI;
 
        /*
@@ -318,8 +318,8 @@
        SCSI_DMA->s_dma_ctrl = 0;
        tmp = GET_TT_REG(NCR5380_IRCV);
        if (machineid & ATARI_TT)
-               single_inst_bclr_b(MFP2->mf_iprb, IB_SCDM);
-       single_inst_bclr_b(MFP2->mf_ipra, IA_SCSI);
+               MFP2->mf_iprb = (u_int8_t)~IB_SCDM;
+       MFP2->mf_ipra = (u_int8_t)~IA_SCSI;
 
        /*
         * Remove interrupts already scheduled.
@@ -685,7 +685,7 @@
         * Enable disk related interrupts
         */
        MFP->mf_ierb  |= IB_DINT;
-       MFP->mf_iprb  &= ~IB_DINT;
+       MFP->mf_iprb   = (u_int8_t)~IB_DINT;
        MFP->mf_imrb  |= IB_DINT;
 }
 



Home | Main Index | Thread Index | Old Index