drm/exynos: remove hardware overlays disable from fimd probe
authorRahul Sharma <rahul.sharma@samsung.com>
Wed, 28 May 2014 06:11:11 +0000 (11:41 +0530)
committerInki Dae <daeinki@gmail.com>
Sun, 1 Jun 2014 17:07:12 +0000 (02:07 +0900)
System hangs when FIMD registers are accessed to disable
hardware overlays. This is because of the clocks which are
not enabled before register access.

'Hardware overlay disable' is cleaned from the FIMD probe.

Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
drivers/gpu/drm/exynos/exynos_drm_fimd.c

index bd30d0c059503a65a3aadc4faddfd4a9671054f8..2ec634f7930a7b2f09cd7a7a8587ba4744bbfc1a 100644 (file)
@@ -703,19 +703,6 @@ static void fimd_win_disable(struct exynos_drm_manager *mgr, int zpos)
        win_data->enabled = false;
 }
 
-static void fimd_clear_win(struct fimd_context *ctx, int win)
-{
-       writel(0, ctx->regs + WINCON(win));
-       writel(0, ctx->regs + VIDOSD_A(win));
-       writel(0, ctx->regs + VIDOSD_B(win));
-       writel(0, ctx->regs + VIDOSD_C(win));
-
-       if (win == 1 || win == 2)
-               writel(0, ctx->regs + VIDOSD_D(win));
-
-       fimd_shadow_protect_win(ctx, win, false);
-}
-
 static void fimd_window_suspend(struct exynos_drm_manager *mgr)
 {
        struct fimd_context *ctx = mgr->ctx;
@@ -898,16 +885,12 @@ static int fimd_bind(struct device *dev, struct device *master, void *data)
 {
        struct fimd_context *ctx = fimd_manager.ctx;
        struct drm_device *drm_dev = data;
-       int win;
 
        fimd_mgr_initialize(&fimd_manager, drm_dev);
        exynos_drm_crtc_create(&fimd_manager);
        if (ctx->display)
                exynos_drm_create_enc_conn(drm_dev, ctx->display);
 
-       for (win = 0; win < WINDOWS_NR; win++)
-               fimd_clear_win(ctx, win);
-
        return 0;
 
 }