summaryrefslogtreecommitdiffstats
path: root/sys/dev/mvs
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2013-04-18 12:43:06 +0000
committermav <mav@FreeBSD.org>2013-04-18 12:43:06 +0000
commit1142f0c37ea55322571a9ad6cd6ec73c22e11e00 (patch)
tree4c36020a7b547e7b644a3337651f91a65eec8b07 /sys/dev/mvs
parentd1c120479cedfb3e05b3735a3c8d68bece382f42 (diff)
downloadFreeBSD-src-1142f0c37ea55322571a9ad6cd6ec73c22e11e00.zip
FreeBSD-src-1142f0c37ea55322571a9ad6cd6ec73c22e11e00.tar.gz
Make siis(4) and mvs(4) send bus_get_dma_tag() requests to parent buses
passing real bus' child pointers instead of grandchilds. Requested by: kib
Diffstat (limited to 'sys/dev/mvs')
-rw-r--r--sys/dev/mvs/mvs_pci.c8
-rw-r--r--sys/dev/mvs/mvs_soc.c10
2 files changed, 17 insertions, 1 deletions
diff --git a/sys/dev/mvs/mvs_pci.c b/sys/dev/mvs/mvs_pci.c
index 7379522..b2b9944 100644
--- a/sys/dev/mvs/mvs_pci.c
+++ b/sys/dev/mvs/mvs_pci.c
@@ -488,6 +488,13 @@ mvs_child_location_str(device_t dev, device_t child, char *buf,
return (0);
}
+static bus_dma_tag_t
+mvs_get_dma_tag(device_t bus, device_t child)
+{
+
+ return (bus_get_dma_tag(bus));
+}
+
static device_method_t mvs_methods[] = {
DEVMETHOD(device_probe, mvs_probe),
DEVMETHOD(device_attach, mvs_attach),
@@ -500,6 +507,7 @@ static device_method_t mvs_methods[] = {
DEVMETHOD(bus_setup_intr, mvs_setup_intr),
DEVMETHOD(bus_teardown_intr,mvs_teardown_intr),
DEVMETHOD(bus_child_location_str, mvs_child_location_str),
+ DEVMETHOD(bus_get_dma_tag, mvs_get_dma_tag),
DEVMETHOD(mvs_edma, mvs_edma),
{ 0, 0 }
};
diff --git a/sys/dev/mvs/mvs_soc.c b/sys/dev/mvs/mvs_soc.c
index 9f48fdd..2edeef0 100644
--- a/sys/dev/mvs/mvs_soc.c
+++ b/sys/dev/mvs/mvs_soc.c
@@ -430,6 +430,13 @@ mvs_child_location_str(device_t dev, device_t child, char *buf,
return (0);
}
+static bus_dma_tag_t
+mvs_get_dma_tag(device_t bus, device_t child)
+{
+
+ return (bus_get_dma_tag(bus));
+}
+
static device_method_t mvs_methods[] = {
DEVMETHOD(device_probe, mvs_probe),
DEVMETHOD(device_attach, mvs_attach),
@@ -441,8 +448,9 @@ static device_method_t mvs_methods[] = {
DEVMETHOD(bus_release_resource, mvs_release_resource),
DEVMETHOD(bus_setup_intr, mvs_setup_intr),
DEVMETHOD(bus_teardown_intr,mvs_teardown_intr),
- DEVMETHOD(mvs_edma, mvs_edma),
DEVMETHOD(bus_child_location_str, mvs_child_location_str),
+ DEVMETHOD(bus_get_dma_tag, mvs_get_dma_tag),
+ DEVMETHOD(mvs_edma, mvs_edma),
{ 0, 0 }
};
static driver_t mvs_driver = {
OpenPOWER on IntegriCloud