diff options
author | mjacob <mjacob@FreeBSD.org> | 2007-05-11 06:28:26 +0000 |
---|---|---|
committer | mjacob <mjacob@FreeBSD.org> | 2007-05-11 06:28:26 +0000 |
commit | 2f7d5b8b3fb4672daf809cabd3678d9fe4db2005 (patch) | |
tree | aff85fa733dab3897eabe08132a2f4ec2761a692 /sys | |
parent | ea141892dce27c40435a682310e8d5beb8140681 (diff) | |
download | FreeBSD-src-2f7d5b8b3fb4672daf809cabd3678d9fe4db2005.zip FreeBSD-src-2f7d5b8b3fb4672daf809cabd3678d9fe4db2005.tar.gz |
Fix pointy-hat problem with BUS_DMA_ROOTARG macro that caused problems for sparc64.
Candidate for immediate MFC.
Noticed by: Everyone-maxim contacted.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/isp/isp_pci.c | 6 | ||||
-rw-r--r-- | sys/dev/isp/isp_sbus.c | 4 |
2 files changed, 5 insertions, 5 deletions
diff --git a/sys/dev/isp/isp_pci.c b/sys/dev/isp/isp_pci.c index b8caf8f..63838c6 100644 --- a/sys/dev/isp/isp_pci.c +++ b/sys/dev/isp/isp_pci.c @@ -329,6 +329,7 @@ static int isp_pci_attach (device_t); static int isp_pci_detach (device_t); +#define ISP_PCD(isp) ((struct isp_pcisoftc *)isp)->pci_dev struct isp_pcisoftc { ispsoftc_t pci_isp; device_t pci_dev; @@ -1739,9 +1740,8 @@ isp_pci_mbxdma(ispsoftc_t *isp) } #endif - if (isp_dma_tag_create( - BUS_DMA_ROOTARG(((struct isp_pcisoftc *)isp)->pci_dev), - 1, slim, llim, hlim, NULL, NULL, BUS_SPACE_MAXSIZE, ISP_NSEGS, + if (isp_dma_tag_create(BUS_DMA_ROOTARG(ISP_PCD(isp)), 1, + slim, llim, hlim, NULL, NULL, BUS_SPACE_MAXSIZE, ISP_NSEGS, slim, 0, &isp->isp_osinfo.dmat)) { free(isp->isp_osinfo.pcmd_pool, M_DEVBUF); ISP_LOCK(isp); diff --git a/sys/dev/isp/isp_sbus.c b/sys/dev/isp/isp_sbus.c index 6e7be4e..6ce519b 100644 --- a/sys/dev/isp/isp_sbus.c +++ b/sys/dev/isp/isp_sbus.c @@ -83,6 +83,7 @@ static int isp_sbus_probe (device_t); static int isp_sbus_attach (device_t); +#define ISP_SBD(isp) ((struct isp_sbussoftc *)isp)->sbus_dev struct isp_sbussoftc { ispsoftc_t sbus_isp; device_t sbus_dev; @@ -448,7 +449,6 @@ imc(void *arg, bus_dma_segment_t *segs, int nseg, int error) static int isp_sbus_mbxdma(ispsoftc_t *isp) { - struct isp_sbussoftc *sbs = (struct isp_sbussoftc *)isp; caddr_t base; uint32_t len; int i, error, ns; @@ -481,7 +481,7 @@ isp_sbus_mbxdma(ispsoftc_t *isp) } len = sizeof (bus_dmamap_t) * isp->isp_maxcmds; - if (isp_dma_tag_create(BUS_DMA_ROOTARG(sbs->sbus_dev), 1, + if (isp_dma_tag_create(BUS_DMA_ROOTARG(ISP_SBD(isp), 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, &isp->isp_osinfo.dmat)) { |