Fix pointy-hat problem with BUS_DMA_ROOTARG macro that caused problems for sparc64.

Candidate for immediate MFC.

Noticed by: Everyone-maxim contacted.
This commit is contained in:
mjacob 2007-05-11 06:28:26 +00:00
parent ea141892dc
commit 2f7d5b8b3f
2 changed files with 5 additions and 5 deletions

View File

@ -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);

View File

@ -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)) {