drm/exynos/mixer: always update INT_EN cache
authorAndrzej Hajda <a.hajda@samsung.com>
Thu, 9 Jul 2015 06:25:41 +0000 (08:25 +0200)
committerInki Dae <inki.dae@samsung.com>
Sun, 16 Aug 2015 01:23:30 +0000 (10:23 +0900)
INT_EN cache field was updated only by mixer_enable_vblank.
The patch adds update also by mixer_disable_vblank function.

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Reviewed-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
drivers/gpu/drm/exynos/exynos_mixer.c

index 923aa75143bf011e66a7fd8a43e912abb02e39bb..4706b56902b44f5ba205b30d3aa6e53678bbad52 100644 (file)
@@ -917,6 +917,11 @@ static void mixer_disable_vblank(struct exynos_drm_crtc *crtc)
        struct mixer_context *mixer_ctx = crtc->ctx;
        struct mixer_resources *res = &mixer_ctx->mixer_res;
 
+       if (!mixer_ctx->powered) {
+               mixer_ctx->int_en &= MXR_INT_EN_VSYNC;
+               return;
+       }
+
        /* disable vsync interrupt */
        mixer_reg_writemask(res, MXR_INT_STATUS, ~0, MXR_INT_CLEAR_VSYNC);
        mixer_reg_writemask(res, MXR_INT_EN, 0, MXR_INT_EN_VSYNC);