summaryrefslogtreecommitdiffstats
path: root/sys/dev/gem
diff options
context:
space:
mode:
authorjmg <jmg@FreeBSD.org>2006-09-03 00:27:42 +0000
committerjmg <jmg@FreeBSD.org>2006-09-03 00:27:42 +0000
commitc25fb06d921a770f65a0f6e25dc1e92e4e1b5227 (patch)
tree2d913a3cb79e7a1579bdad59426344b90355f220 /sys/dev/gem
parent84ee477ac39bc8414949b4df724f390aac837627 (diff)
downloadFreeBSD-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/gem')
-rw-r--r--sys/dev/gem/if_gem.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/dev/gem/if_gem.c b/sys/dev/gem/if_gem.c
index 3efe0ed..ed9fd56 100644
--- a/sys/dev/gem/if_gem.c
+++ b/sys/dev/gem/if_gem.c
@@ -153,9 +153,10 @@ gem_attach(sc)
gem_reset(sc);
GEM_UNLOCK(sc);
- error = bus_dma_tag_create(NULL, 1, 0, BUS_SPACE_MAXADDR_32BIT,
- BUS_SPACE_MAXADDR, NULL, NULL, MCLBYTES, GEM_NSEGS,
- BUS_SPACE_MAXSIZE_32BIT, 0, NULL, NULL, &sc->sc_pdmatag);
+ error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 1, 0,
+ BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL,
+ MCLBYTES, GEM_NSEGS, BUS_SPACE_MAXSIZE_32BIT, 0, NULL, NULL,
+ &sc->sc_pdmatag);
if (error)
goto fail_ifnet;
OpenPOWER on IntegriCloud