drm: exynos: detach from default dma-mapping domain on init
authorMarek Szyprowski <m.szyprowski@samsung.com>
Fri, 23 Jan 2015 15:51:11 +0000 (16:51 +0100)
committerMarek Szyprowski <m.szyprowski@samsung.com>
Mon, 13 Apr 2015 10:44:02 +0000 (12:44 +0200)
This patch adds code, which detach sub-device nodes from default iommu
domain if such has been configured.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
drivers/gpu/drm/exynos/exynos_drm_iommu.c

index b32b291f88ff0b80ba2919d919413dbe25d2c13b..323601a52a2509dc015bbdc2876a31bb7bdc04a4 100644 (file)
@@ -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");