aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/isp
diff options
context:
space:
mode:
authorMarius Strobl <marius@FreeBSD.org>2007-01-21 19:32:51 +0000
committerMarius Strobl <marius@FreeBSD.org>2007-01-21 19:32:51 +0000
commitc2175ff5cadf1e22b3054180ba69548b00a4a0de (patch)
tree0022c3a9a6df560b7e242e09f139c9d0dd23011b /sys/dev/isp
parente54f6746527c81d586dd8fa24590bcb3ef7c290a (diff)
Notes
Diffstat (limited to 'sys/dev/isp')
-rw-r--r--sys/dev/isp/isp_sbus.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/sys/dev/isp/isp_sbus.c b/sys/dev/isp/isp_sbus.c
index 1b70a958931f..b45d5ea3184f 100644
--- a/sys/dev/isp/isp_sbus.c
+++ b/sys/dev/isp/isp_sbus.c
@@ -479,6 +479,18 @@ imc(void *arg, bus_dma_segment_t *segs, int nseg, int error)
*/
#define ISP_NSEGS ((MAXPHYS / PAGE_SIZE) + 1)
+#if __FreeBSD_version < 700020
+#define BUS_DMA_ROOTARG NULL
+#define isp_dma_tag_create(a, b, c, d, e, f, g, h, i, j, k, z) \
+ bus_dma_tag_create(a, b, c, d, e, f, g, h, i, j, k, \
+ busdma_lock_mutex, &Giant, z)
+#else
+#define BUS_DMA_ROOTARG bus_get_dma_tag(sbs->sbus_dev)
+#define isp_dma_tag_create(a, b, c, d, e, f, g, h, i, j, k, z) \
+ bus_dma_tag_create(a, b, c, d, e, f, g, h, i, j, k, \
+ busdma_lock_mutex, &Giant, z)
+#endif
+
static int
isp_sbus_mbxdma(ispsoftc_t *isp)
{
@@ -497,10 +509,10 @@ isp_sbus_mbxdma(ispsoftc_t *isp)
ISP_UNLOCK(isp);
- if (bus_dma_tag_create(NULL, 1, BUS_SPACE_MAXADDR_24BIT+1,
+ if (isp_dma_tag_create(BUS_DMA_ROOTARG, 1, BUS_SPACE_MAXADDR_24BIT+1,
BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR_32BIT,
NULL, NULL, BUS_SPACE_MAXSIZE_32BIT, ISP_NSEGS,
- BUS_SPACE_MAXADDR_24BIT, 0, busdma_lock_mutex, &Giant,
+ BUS_SPACE_MAXADDR_24BIT, 0,
&sbs->dmat)) {
isp_prt(isp, ISP_LOGERR, "could not create master dma tag");
ISP_LOCK(isp);