drm/exynos: clear channels only when iommu is enabled
authorJoonyoung Shim <jy0922.shim@samsung.com>
Tue, 28 Jul 2015 08:51:02 +0000 (17:51 +0900)
committerInki Dae <inki.dae@samsung.com>
Sun, 16 Aug 2015 01:23:33 +0000 (10:23 +0900)
This is simplest solution about reported problem[1]. It's no problem to
clear channel only when iommu is enabled, if we consider that we cannot
recognize iommu errors when iommu is disabled and it have been valid
until now. But this cannot be nice solution.

[1] https://lkml.org/lkml/2015/7/21/404

Reported-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
drivers/gpu/drm/exynos/exynos_drm_fimd.c

index 8d362b9..337af02 100644 (file)
@@ -956,7 +956,8 @@ static int fimd_bind(struct device *dev, struct device *master, void *data)
        if (ctx->display)
                exynos_drm_create_enc_conn(drm_dev, ctx->display);
 
-       fimd_clear_channels(ctx->crtc);
+       if (is_drm_iommu_supported(drm_dev))
+               fimd_clear_channels(ctx->crtc);
 
        ret = drm_iommu_attach_device(drm_dev, dev);
        if (ret)