]> git.openpandora.org Git - pandora-kernel.git/commitdiff
drm/exynos: remove drm_iommu_attach_device_if_possible
authorJoonyoung Shim <jy0922.shim@samsung.com>
Thu, 2 Jul 2015 12:49:39 +0000 (21:49 +0900)
committerInki Dae <inki.dae@samsung.com>
Sun, 16 Aug 2015 01:23:33 +0000 (10:23 +0900)
Already drm_iommu_attach_device checks whether support iommu internally.
It should clear channels always regardless iommu support. We didn't know
because we can detect the problem when iommu is enabled, so we don't
have to use drm_iommu_attach_device_if_possible and then we can remove
drm_iommu_attach_device_if_possible and clear_channels function pointer.

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
drivers/gpu/drm/exynos/exynos5433_drm_decon.c
drivers/gpu/drm/exynos/exynos7_drm_decon.c
drivers/gpu/drm/exynos/exynos_drm_drv.h
drivers/gpu/drm/exynos/exynos_drm_fimd.c
drivers/gpu/drm/exynos/exynos_drm_iommu.c
drivers/gpu/drm/exynos/exynos_drm_iommu.h
drivers/gpu/drm/exynos/exynos_mixer.c

index ba43437014cebc3ee4ef15d09e92a39a4d94e78e..b2794f815b3c466f4ceef28f3ad606fa564caf30 100644 (file)
@@ -463,7 +463,6 @@ static struct exynos_drm_crtc_ops decon_crtc_ops = {
        .win_commit             = decon_win_commit,
        .win_disable            = decon_win_disable,
        .te_handler             = decon_te_irq_handler,
-       .clear_channels         = decon_clear_channels,
 };
 
 static int decon_bind(struct device *dev, struct device *master, void *data)
@@ -497,7 +496,9 @@ static int decon_bind(struct device *dev, struct device *master, void *data)
                goto err;
        }
 
-       ret = drm_iommu_attach_device_if_possible(ctx->crtc, drm_dev, dev);
+       decon_clear_channels(ctx->crtc);
+
+       ret = drm_iommu_attach_device(drm_dev, dev);
        if (ret)
                goto err;
 
index 2c296353c9c393c758b08dc9b621a17b1462eb1e..a80b9184c86619178f828136dd75d18dabc93c61 100644 (file)
@@ -126,7 +126,9 @@ static int decon_ctx_initialize(struct decon_context *ctx,
        ctx->drm_dev = drm_dev;
        ctx->pipe = priv->pipe++;
 
-       ret = drm_iommu_attach_device_if_possible(ctx->crtc, drm_dev, ctx->dev);
+       decon_clear_channels(ctx->crtc);
+
+       ret = drm_iommu_attach_device(drm_dev, ctx->dev);
        if (ret)
                priv->pipe--;
 
@@ -622,7 +624,6 @@ static const struct exynos_drm_crtc_ops decon_crtc_ops = {
        .wait_for_vblank = decon_wait_for_vblank,
        .win_commit = decon_win_commit,
        .win_disable = decon_win_disable,
-       .clear_channels = decon_clear_channels,
 };
 
 
Simple merge