The current settings leaves the DRM device's dma_ops field NULL, which makes it use the dummy DMA ops on arm64 and return an error whenever we try to import a buffer. Call of_dma_configure() with a NULL node (since the device is not spawn from the device tree) so that arch_setup_dma_ops() is called and sets the default ioswtlb DMA ops.
Signed-off-by: Alexandre Courbot <acour...@nvidia.com> --- drivers/gpu/drm/tegra/drm.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c index d347188bf8f4..bc0555adecaf 100644 --- a/drivers/gpu/drm/tegra/drm.c +++ b/drivers/gpu/drm/tegra/drm.c @@ -9,6 +9,7 @@ #include <linux/host1x.h> #include <linux/iommu.h> +#include <linux/of_device.h> #include <drm/drm_atomic.h> #include <drm/drm_atomic_helper.h> @@ -990,6 +991,7 @@ static int host1x_drm_probe(struct host1x_device *dev) return -ENOMEM; dev_set_drvdata(&dev->dev, drm); + of_dma_configure(drm->dev, NULL); err = drm_dev_register(drm, 0); if (err < 0) -- 2.7.1