Turn on D_DSBL_WRINVAL on `ledma'.
This commit is contained in:
parent
b74cbfe5ed
commit
0bd088474a
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: if_le.c,v 1.49 1997/07/07 16:28:44 pk Exp $ */
|
||||
/* $NetBSD: if_le.c,v 1.50 1997/09/09 20:54:48 pk Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1997 Jason R. Thorpe. All rights reserved.
|
||||
@ -91,9 +91,19 @@ myleintr(arg)
|
||||
void *arg;
|
||||
{
|
||||
register struct le_softc *lesc = arg;
|
||||
static int dodrain=0;
|
||||
|
||||
if (lesc->sc_dma->sc_regs->csr & D_ERR_PEND)
|
||||
if (lesc->sc_dma->sc_regs->csr & D_ERR_PEND) {
|
||||
dodrain = 1;
|
||||
return ledmaintr(lesc->sc_dma);
|
||||
}
|
||||
|
||||
if (dodrain) { /* XXX - is this necessary with D_DSBL_WRINVAL on? */
|
||||
#define E_DRAIN 0x400 /* XXX: fix dmareg.h */
|
||||
int i = 10;
|
||||
while (i-- > 0 && (lesc->sc_dma->sc_regs->csr & D_DRAINING))
|
||||
delay(1);
|
||||
}
|
||||
|
||||
return (am7990_intr(arg));
|
||||
}
|
||||
@ -252,6 +262,9 @@ lehwreset(sc)
|
||||
DMA_RESET(lesc->sc_dma);
|
||||
lesc->sc_dma->sc_regs->en_bar = lesc->sc_laddr & 0xff000000;
|
||||
DMA_ENINTR(lesc->sc_dma);
|
||||
#define D_DSBL_WRINVAL D_DSBL_SCSI_DRN /* XXX: fix dmareg.h */
|
||||
/* Disable E-cache invalidates on chip writes */
|
||||
lesc->sc_dma->sc_regs->csr |= D_DSBL_WRINVAL;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user