linux/drivers/ntb
Logan Gunthorpe c59666bb32 NTB: ntb_transport: Ensure the destination buffer is mapped for TX DMA
Presently, when ntb_transport is used with DMA and the IOMMU turned on,
it fails with errors from the IOMMU such as:

  DMAR: DRHD: handling fault status reg 202
  DMAR: [DMA Write] Request device [00:04.0] fault addr
	381fc0340000 [fault reason 05] PTE Write access is not set

This is because ntb_transport does not map the BAR space with the IOMMU.

To fix this, we map the entire MW region for each QP after we assign
the DMA channel. This prevents needing an extra DMA map in the fast
path.

Link: https://lore.kernel.org/linux-pci/499934e7-3734-1aee-37dd-b42a5d2a2608@intel.com/
Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
Reviewed-by: Dave Jiang <dave.jiang@intel.com>
Signed-off-by: Jon Mason <jdmason@kudzu.us>
2019-02-11 09:26:30 -05:00
..
hw ntb_hw_switchtec: Added support of >=4G memory windows 2019-02-11 07:36:13 -05:00
test NTB: ntb_perf: fix cast to restricted __le32 2018-01-28 22:17:24 -05:00
Kconfig NTB: Add ping pong test client 2015-07-04 14:07:42 -04:00
Makefile NTB: Add ping pong test client 2015-07-04 14:07:42 -04:00
ntb_transport.c NTB: ntb_transport: Ensure the destination buffer is mapped for TX DMA 2019-02-11 09:26:30 -05:00
ntb.c NTB: Set dma mask and dma coherent mask to NTB devices 2018-01-28 22:17:23 -05:00