From: Marek Szyprowski Date: Wed, 3 Jun 2015 08:26:23 +0000 (+0200) Subject: drm/exynos: iommu: detach from default dma-mapping domain on init X-Git-Tag: firefly_0821_release~176^2~1470^2~8^2~19 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=452868581da254b03c54912f8f780bd0a4d3bcfb;p=firefly-linux-kernel-4.4.55.git drm/exynos: iommu: detach from default dma-mapping domain on init This patch adds code, which detach sub-device nodes from default iommu domain if such has been configured. This lets Exynos DRM driver to properly attach sub-devices to its own, common for all sub-devices domain. Signed-off-by: Marek Szyprowski Tested-by: Javier Martinez Canillas Signed-off-by: Inki Dae --- diff --git a/drivers/gpu/drm/exynos/exynos_drm_iommu.c b/drivers/gpu/drm/exynos/exynos_drm_iommu.c index b32b291f88ff..323601a52a25 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_iommu.c +++ b/drivers/gpu/drm/exynos/exynos_drm_iommu.c @@ -100,6 +100,9 @@ int drm_iommu_attach_device(struct drm_device *drm_dev, dma_set_max_seg_size(subdrv_dev, 0xffffffffu); + if (subdrv_dev->archdata.mapping) + arm_iommu_detach_device(subdrv_dev); + ret = arm_iommu_attach_device(subdrv_dev, dev->archdata.mapping); if (ret < 0) { DRM_DEBUG_KMS("failed iommu attach.\n");