Details
-
Type:
Bug
-
Status: Closed
-
Priority:
Minor
-
Resolution: Fixed
-
Affects Version/s: V3.0.0
-
Fix Version/s: V3.0.1
-
Component/s: Linux Driver
-
Labels:None
-
Sprint:2025 - PI1 - IT#4
-
Account:Software Driver Os operational (SDODRIVER)
Description
Newer machines/kernels are making excessive use of IOMMUs which cause trouble when trying to map DMA buffers from uio to userspace.
Mapping coherent DMA buffers is also being discouraged (See https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/drivers/uio/uio.c?h=v6.10.11&id=576882ef5e7fce030b65c92b508a0f84ea5a81c2)
+ dev_warn(mem->dma_device,
+ "use of UIO_MEM_DMA_COHERENT is highly discouraged");
+
Possible workarounds (may not work, but have shown to work on some platforms):
- during runtime: disable per iommu group (https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-kernel-iommu_groups)
set /sys/kernel/iommu_groups/<grp_id>/type to "identity" - Add "iommu.passthrough=1" to kernel command line