drm/rockchip: vop: no need wait vblank on crtc enable
authorMark yao <mark.yao@rock-chips.com>
Mon, 31 Jul 2017 09:49:37 +0000 (17:49 +0800)
committerMark Yao <mark.yao@rock-chips.com>
Fri, 4 Aug 2017 08:09:34 +0000 (16:09 +0800)
Since atomic framework, crtc enable and disable are in pairs,
no need to wait vblank.

Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Reviewed-by: Sandy huang <sandy.huang@rock-chips.com>
Link: https://patchwork.freedesktop.org/patch/msgid/1501494577-6884-1-git-send-email-mark.yao@rock-chips.com
drivers/gpu/drm/rockchip/rockchip_drm_vop.c

index ab18659e2a6fc4285208a79694ff92813406cbe2..eb326495ebeb391df458b1086fc5d9e7a139ac91 100644 (file)
@@ -895,42 +895,6 @@ static void vop_crtc_atomic_enable(struct drm_crtc *crtc,
                return;
        }
 
-       /*
-        * If dclk rate is zero, mean that scanout is stop,
-        * we don't need wait any more.
-        */
-       if (clk_get_rate(vop->dclk)) {
-               /*
-                * Rk3288 vop timing register is immediately, when configure
-                * display timing on display time, may cause tearing.
-                *
-                * Vop standby will take effect at end of current frame,
-                * if dsp hold valid irq happen, it means standby complete.
-                *
-                * mode set:
-                *    standby and wait complete --> |----
-                *                                  | display time
-                *                                  |----
-                *                                  |---> dsp hold irq
-                *     configure display timing --> |
-                *         standby exit             |
-                *                                  | new frame start.
-                */
-
-               reinit_completion(&vop->dsp_hold_completion);
-               vop_dsp_hold_valid_irq_enable(vop);
-
-               spin_lock(&vop->reg_lock);
-
-               VOP_REG_SET(vop, common, standby, 1);
-
-               spin_unlock(&vop->reg_lock);
-
-               wait_for_completion(&vop->dsp_hold_completion);
-
-               vop_dsp_hold_valid_irq_disable(vop);
-       }
-
        pin_pol = BIT(DCLK_INVERT);
        pin_pol |= (adjusted_mode->flags & DRM_MODE_FLAG_PHSYNC) ?
                   BIT(HSYNC_POSITIVE) : 0;