diff options
author | jmg <jmg@FreeBSD.org> | 2006-09-03 00:27:42 +0000 |
---|---|---|
committer | jmg <jmg@FreeBSD.org> | 2006-09-03 00:27:42 +0000 |
commit | c25fb06d921a770f65a0f6e25dc1e92e4e1b5227 (patch) | |
tree | 2d913a3cb79e7a1579bdad59426344b90355f220 /sys/dev/aic7xxx | |
parent | 84ee477ac39bc8414949b4df724f390aac837627 (diff) | |
download | FreeBSD-src-c25fb06d921a770f65a0f6e25dc1e92e4e1b5227.zip FreeBSD-src-c25fb06d921a770f65a0f6e25dc1e92e4e1b5227.tar.gz |
add a newbus method for obtaining the bus's bus_dma_tag_t... This is
required by arches like sparc64 (not yet implemented) and sun4v where there
are seperate IOMMU's for each PCI bus... For all other arches, it will
end up returning NULL, which makes it a no-op...
Convert a few drivers (the ones we've been working w/ on sun4v) to the
new convection... Eventually all drivers will need to replace the parent
tag of NULL, w/ bus_get_dma_tag(dev), though dev is usually different for
each driver, and will require hand inspection...
Reviewed by: scottl (earlier version)
Diffstat (limited to 'sys/dev/aic7xxx')
-rw-r--r-- | sys/dev/aic7xxx/ahc_eisa.c | 4 | ||||
-rw-r--r-- | sys/dev/aic7xxx/ahc_isa.c | 4 | ||||
-rw-r--r-- | sys/dev/aic7xxx/ahc_pci.c | 4 | ||||
-rw-r--r-- | sys/dev/aic7xxx/ahd_pci.c | 4 |
4 files changed, 8 insertions, 8 deletions
diff --git a/sys/dev/aic7xxx/ahc_eisa.c b/sys/dev/aic7xxx/ahc_eisa.c index f98059f..8c6e4df 100644 --- a/sys/dev/aic7xxx/ahc_eisa.c +++ b/sys/dev/aic7xxx/ahc_eisa.c @@ -131,8 +131,8 @@ aic7770_attach(device_t dev) /* Allocate a dmatag for our SCB DMA maps */ /* XXX Should be a child of the PCI bus dma tag */ - error = aic_dma_tag_create(ahc, /*parent*/NULL, /*alignment*/1, - /*boundary*/0, + error = aic_dma_tag_create(ahc, /*parent*/bus_get_dma_tag(dev), + /*alignment*/1, /*boundary*/0, /*lowaddr*/BUS_SPACE_MAXADDR_32BIT, /*highaddr*/BUS_SPACE_MAXADDR, /*filter*/NULL, /*filterarg*/NULL, diff --git a/sys/dev/aic7xxx/ahc_isa.c b/sys/dev/aic7xxx/ahc_isa.c index d01ffc9..0bf0f53 100644 --- a/sys/dev/aic7xxx/ahc_isa.c +++ b/sys/dev/aic7xxx/ahc_isa.c @@ -254,8 +254,8 @@ ahc_isa_attach(device_t dev) /* Allocate a dmatag for our SCB DMA maps */ /* XXX Should be a child of the VLB/ISA bus dma tag */ - error = aic_dma_tag_create(ahc, /*parent*/NULL, /*alignment*/1, - /*boundary*/0, + error = aic_dma_tag_create(ahc, /*parent*/bus_get_dma_tag(dev), + /*alignment*/1, /*boundary*/0, /*lowaddr*/BUS_SPACE_MAXADDR_32BIT, /*highaddr*/BUS_SPACE_MAXADDR, /*filter*/NULL, /*filterarg*/NULL, diff --git a/sys/dev/aic7xxx/ahc_pci.c b/sys/dev/aic7xxx/ahc_pci.c index 4a4889c..5029726 100644 --- a/sys/dev/aic7xxx/ahc_pci.c +++ b/sys/dev/aic7xxx/ahc_pci.c @@ -107,8 +107,8 @@ ahc_pci_attach(device_t dev) /* Allocate a dmatag for our SCB DMA maps */ /* XXX Should be a child of the PCI bus dma tag */ - error = aic_dma_tag_create(ahc, /*parent*/NULL, /*alignment*/1, - /*boundary*/0, + error = aic_dma_tag_create(ahc, /*parent*/bus_get_dma_tag(dev), + /*alignment*/1, /*boundary*/0, (ahc->flags & AHC_39BIT_ADDRESSING) ? 0x7FFFFFFFFFLL : BUS_SPACE_MAXADDR_32BIT, diff --git a/sys/dev/aic7xxx/ahd_pci.c b/sys/dev/aic7xxx/ahd_pci.c index 8f2e65e..03b1363 100644 --- a/sys/dev/aic7xxx/ahd_pci.c +++ b/sys/dev/aic7xxx/ahd_pci.c @@ -109,8 +109,8 @@ ahd_pci_attach(device_t dev) /* Allocate a dmatag for our SCB DMA maps */ /* XXX Should be a child of the PCI bus dma tag */ - error = aic_dma_tag_create(ahd, /*parent*/NULL, /*alignment*/1, - /*boundary*/0, + error = aic_dma_tag_create(ahd, /*parent*/bus_get_dma_tag(dev), + /*alignment*/1, /*boundary*/0, (ahd->flags & AHD_39BIT_ADDRESSING) ? 0x7FFFFFFFFF : BUS_SPACE_MAXADDR_32BIT, |