summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
authormjacob <mjacob@FreeBSD.org>2007-05-11 06:28:26 +0000
committermjacob <mjacob@FreeBSD.org>2007-05-11 06:28:26 +0000
commit2f7d5b8b3fb4672daf809cabd3678d9fe4db2005 (patch)
treeaff85fa733dab3897eabe08132a2f4ec2761a692 /sys/dev
parentea141892dce27c40435a682310e8d5beb8140681 (diff)
downloadFreeBSD-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/dev')
-rw-r--r--sys/dev/isp/isp_pci.c6
-rw-r--r--sys/dev/isp/isp_sbus.c4
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)) {
OpenPOWER on IntegriCloud