aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/isp/isp_freebsd.h
diff options
context:
space:
mode:
authorMatt Jacob <mjacob@FreeBSD.org>2007-01-23 00:02:29 +0000
committerMatt Jacob <mjacob@FreeBSD.org>2007-01-23 00:02:29 +0000
commitf9734398e37ceca8cf5fc2fb78c1193b6f1f550b (patch)
tree697c8c64540156749766d8f2e30aa703aa0c530c /sys/dev/isp/isp_freebsd.h
parent5fe82bca57a1dbad1538d277602bb047c78a73fc (diff)
downloadsrc-f9734398e37ceca8cf5fc2fb78c1193b6f1f550b.tar.gz
src-f9734398e37ceca8cf5fc2fb78c1193b6f1f550b.zip
Clean up some of the various platform and release specific dma tag
stuff so it is centralized in isp_freebsd.h. Take out PCI posting flushed in qla2100/2200 register reads except for 2100s.
Notes
Notes: svn path=/head/; revision=166177
Diffstat (limited to 'sys/dev/isp/isp_freebsd.h')
-rw-r--r--sys/dev/isp/isp_freebsd.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/sys/dev/isp/isp_freebsd.h b/sys/dev/isp/isp_freebsd.h
index f49b1d88005f..c9868abb63cb 100644
--- a/sys/dev/isp/isp_freebsd.h
+++ b/sys/dev/isp/isp_freebsd.h
@@ -475,6 +475,28 @@ void isp_mbox_release(ispsoftc_t *);
int isp_mstohz(int);
/*
+ * Platform specific defines
+ */
+#if __FreeBSD_version < 500000
+#define BUS_DMA_ROOTARG(x) 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, z)
+#elif __FreeBSD_version < 700020
+#define BUS_DMA_ROOTARG(x) 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(x) bus_get_dma_tag(x)
+#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
+
+/* Should be BUS_SPACE_MAXSIZE, but MAXPHYS is larger than BUS_SPACE_MAXSIZE */
+#define ISP_NSEGS ((MAXPHYS / PAGE_SIZE) + 1)
+
+/*
* Platform specific inline functions
*/