aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/ntb
diff options
context:
space:
mode:
authorAlexander Motin <mav@FreeBSD.org>2019-11-19 02:03:10 +0000
committerAlexander Motin <mav@FreeBSD.org>2019-11-19 02:03:10 +0000
commitf0dd6a1787a9a96611e3941049fe679282e95b89 (patch)
tree1034d022aa90a39f0ce8962c5a09d0f417e790c0 /sys/dev/ntb
parent309d2bc89045100bd2193065403add488a9853f9 (diff)
Call bus_dma_dmar_set_buswide(9) added in r354830.
PLX NTB sends translated DMA requests not only from itsels, but from all slots and functions of its bus. By default DMAR blocks those additional. MFC after: 1 week Sponsored by: iXsystems, Inc.
Notes
Notes: svn path=/head/; revision=354840
Diffstat (limited to 'sys/dev/ntb')
-rw-r--r--sys/dev/ntb/ntb_hw/ntb_hw_plx.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/dev/ntb/ntb_hw/ntb_hw_plx.c b/sys/dev/ntb/ntb_hw/ntb_hw_plx.c
index 5872d0d5e656..97df9ce3a4cc 100644
--- a/sys/dev/ntb/ntb_hw/ntb_hw_plx.c
+++ b/sys/dev/ntb/ntb_hw/ntb_hw_plx.c
@@ -339,6 +339,12 @@ ntb_plx_attach(device_t dev)
return (ENXIO);
}
+ /*
+ * The device occupies whole bus. In translated TLP slot field
+ * keeps LUT index (original bus/slot), function is passed through.
+ */
+ bus_dma_dmar_set_buswide(dev);
+
/* Identify chip port we are connected to. */
val = bus_read_4(sc->conf_res, 0x360);
sc->port = (val >> ((sc->ntx == 0) ? 8 : 16)) & 0x1f;