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 8d362b9365d3ce860db6a4a38233dff566b2116f..337af025a594161f1a37abd7e43f34f2f43f5cd9 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)