diff options
author | mjacob <mjacob@FreeBSD.org> | 2007-01-23 00:02:29 +0000 |
---|---|---|
committer | mjacob <mjacob@FreeBSD.org> | 2007-01-23 00:02:29 +0000 |
commit | 2df6044b61d3d828971f1d8cca95a1f6a6a1d6b1 (patch) | |
tree | 697c8c64540156749766d8f2e30aa703aa0c530c /sys/dev/isp/isp_freebsd.h | |
parent | 3624354c54eb965482e4bb6a2769c0feb7248692 (diff) | |
download | FreeBSD-src-2df6044b61d3d828971f1d8cca95a1f6a6a1d6b1.zip FreeBSD-src-2df6044b61d3d828971f1d8cca95a1f6a6a1d6b1.tar.gz |
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.
Diffstat (limited to 'sys/dev/isp/isp_freebsd.h')
-rw-r--r-- | sys/dev/isp/isp_freebsd.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/sys/dev/isp/isp_freebsd.h b/sys/dev/isp/isp_freebsd.h index f49b1d8..c9868ab 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 */ |