summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authortsutsui <tsutsui@NetBSD.org>2001-04-07 10:50:13 +0000
committertsutsui <tsutsui@NetBSD.org>2001-04-07 10:50:13 +0000
commit2f9f69455fd6c565d2c269ed4ad0dc8bf74681c2 (patch)
tree522c7cf9cb54df97841f9ebf2aa2c790c83e4b19 /sys/dev
parent16b1272b3fddb0066471ccb67b9abfa987513288 (diff)
Fix some bus_dma(9) usage:
- bus_dmamap_sync() takes offset into the dmamap, not VA. - Use BUS_DMA_STREAMING for the data dmamap, not BUS_DMA_COHERENT.
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/ic/lsi64854.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/sys/dev/ic/lsi64854.c b/sys/dev/ic/lsi64854.c
index 1bdfb7a52da..0bd434ee398 100644
--- a/sys/dev/ic/lsi64854.c
+++ b/sys/dev/ic/lsi64854.c
@@ -1,4 +1,4 @@
-/* $NetBSD: lsi64854.c,v 1.15 2001/03/29 02:58:39 petrov Exp $ */
+/* $NetBSD: lsi64854.c,v 1.16 2001/04/07 10:50:13 tsutsui Exp $ */
/*-
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -331,11 +331,10 @@ lsi64854_setup(sc, addr, len, datain, dmasize)
if (bus_dmamap_load(sc->sc_dmatag, sc->sc_dmamap,
*sc->sc_dmaaddr, sc->sc_dmasize,
NULL /* kernel address */,
- BUS_DMA_NOWAIT | BUS_DMA_COHERENT))
+ BUS_DMA_NOWAIT | BUS_DMA_STREAMING))
panic("%s: cannot allocate DVMA address",
sc->sc_dev.dv_xname);
- bus_dmamap_sync(sc->sc_dmatag, sc->sc_dmamap,
- (bus_addr_t)(u_long)sc->sc_dvmaaddr, sc->sc_dmasize,
+ bus_dmamap_sync(sc->sc_dmatag, sc->sc_dmamap, 0, sc->sc_dmasize,
datain
? BUS_DMASYNC_PREREAD
: BUS_DMASYNC_PREWRITE);
@@ -476,8 +475,7 @@ lsi64854_scsi_intr(arg)
trans, resid));
if (sc->sc_dmamap->dm_nsegs > 0) {
- bus_dmamap_sync(sc->sc_dmatag, sc->sc_dmamap,
- (bus_addr_t)(u_long)sc->sc_dvmaaddr, sc->sc_dmasize,
+ bus_dmamap_sync(sc->sc_dmatag, sc->sc_dmamap, 0, sc->sc_dmasize,
(csr & D_WRITE) != 0
? BUS_DMASYNC_POSTREAD
: BUS_DMASYNC_POSTWRITE);
@@ -580,8 +578,7 @@ lsi64854_setup_pp(sc, addr, len, datain, dmasize)
BUS_DMA_NOWAIT/*|BUS_DMA_COHERENT*/))
panic("%s: pp cannot allocate DVMA address",
sc->sc_dev.dv_xname);
- bus_dmamap_sync(sc->sc_dmatag, sc->sc_dmamap,
- (bus_addr_t)(u_long)sc->sc_dvmaaddr, sc->sc_dmasize,
+ bus_dmamap_sync(sc->sc_dmatag, sc->sc_dmamap, 0, sc->sc_dmasize,
datain
? BUS_DMASYNC_PREREAD
: BUS_DMASYNC_PREWRITE);
@@ -666,8 +663,7 @@ lsi64854_pp_intr(arg)
*sc->sc_dmaaddr += trans;
if (sc->sc_dmamap->dm_nsegs > 0) {
- bus_dmamap_sync(sc->sc_dmatag, sc->sc_dmamap,
- (bus_addr_t)(u_long)sc->sc_dvmaaddr, sc->sc_dmasize,
+ bus_dmamap_sync(sc->sc_dmatag, sc->sc_dmamap, 0, sc->sc_dmasize,
(csr & D_WRITE) != 0
? BUS_DMASYNC_POSTREAD
: BUS_DMASYNC_POSTWRITE);