diff mbox

drm/exynos: fix to detach device of iommu

Message ID 1443745838-774-1-git-send-email-jy0922.shim@samsung.com (mailing list archive)
State New, archived
Headers show

Commit Message

Joonyoung Shim Oct. 2, 2015, 12:30 a.m. UTC
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>
Cc: <stable@vger.kernel.org> # v3.8+
---
 drivers/gpu/drm/exynos/exynos_drm_iommu.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Inki Dae Oct. 13, 2015, 5:10 a.m. UTC | #1
Merged.

Thanks,
Inki Dae


2015? 10? 02? 09:30? Joonyoung Shim ?(?) ? ?:
> 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>
> Cc: <stable@vger.kernel.org> # v3.8+
> ---
>   drivers/gpu/drm/exynos/exynos_drm_iommu.c | 3 +--
>   1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_iommu.c b/drivers/gpu/drm/exynos/exynos_drm_iommu.c
> index 055e8ec..d73b9ad 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_iommu.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_iommu.c
> @@ -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);
>   }
>
diff mbox

Patch

diff --git a/drivers/gpu/drm/exynos/exynos_drm_iommu.c b/drivers/gpu/drm/exynos/exynos_drm_iommu.c
index 055e8ec..d73b9ad 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_iommu.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_iommu.c
@@ -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);
 }