drm/exynos: fix to detach device of iommu
authorJoonyoung Shim <jy0922.shim@samsung.com>
Fri, 2 Oct 2015 00:30:38 +0000 (09:30 +0900)
committerInki Dae <daeinki@gmail.com>
Mon, 26 Oct 2015 06:10:30 +0000 (15:10 +0900)
The arm_iommu_detach_device() is a function to detach device of iommu
attached by arm_iommu_attach_device(). The exynos-drm uses
arm_iommu_attach_device() so it should use arm_iommu_detach_device() to
detach device of iommu, not iommu_detach_device().

The drm_release_iommu_mapping() is a function to release mapping of
iommu created by arm_iommu_create_mapping(). It is called by
exynos_drm_unload() so shouldn't be called by drm_iommu_detach_device().

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
drivers/gpu/drm/exynos/exynos_drm_iommu.c

index 055e8ec..d73b9ad 100644 (file)
@@ -139,6 +139,5 @@ void drm_iommu_detach_device(struct drm_device *drm_dev,
        if (!mapping || !mapping->domain)
                return;
 
-       iommu_detach_device(mapping->domain, subdrv_dev);
-       drm_release_iommu_mapping(drm_dev);
+       arm_iommu_detach_device(subdrv_dev);
 }