drm/exynos: dsi: move DSIM_STATE_ENABLED set position
authorYoungJun Cho <yj44.cho@samsung.com>
Wed, 1 Oct 2014 06:19:13 +0000 (15:19 +0900)
committerInki Dae <inki.dae@samsung.com>
Mon, 24 Nov 2014 09:02:52 +0000 (18:02 +0900)
The command mode panel should draw image earlier than the display
on command execution to prevent showing garbage GRAM screen data.
So should set dsi->state as DSIM_STATE_ENABLED between calling
exynos_dsi_set_display_enable() and drm_panel_enable() to transmit
image data before executing display on command.
And moves the display on command execution routine from prepare()
to enable() in drm_panel_funcs also.

Signed-off-by: YoungJun Cho <yj44.cho@samsung.com>
Acked-by: Inki Dae <inki.dae@samsung.com>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
drivers/gpu/drm/exynos/exynos_drm_dsi.c

index e0e8c388b1078656ff50d56ef3da01052dbb0d37..44461aa35ccd063c865c28cf70a6a690ba85f424 100644 (file)
@@ -1381,16 +1381,17 @@ static int exynos_dsi_enable(struct exynos_dsi *dsi)
        exynos_dsi_set_display_mode(dsi);
        exynos_dsi_set_display_enable(dsi, true);
 
+       dsi->state |= DSIM_STATE_ENABLED;
+
        ret = drm_panel_enable(dsi->panel);
        if (ret < 0) {
+               dsi->state &= ~DSIM_STATE_ENABLED;
                exynos_dsi_set_display_enable(dsi, false);
                drm_panel_unprepare(dsi->panel);
                exynos_dsi_poweroff(dsi);
                return ret;
        }
 
-       dsi->state |= DSIM_STATE_ENABLED;
-
        return 0;
 }