diff options
author | Mark yao <mark.yao@rock-chips.com> | 2017-07-31 17:49:37 +0800 |
---|---|---|
committer | Mark Yao <mark.yao@rock-chips.com> | 2017-08-04 16:09:34 +0800 |
commit | b5015e92a041443f8f4d5fd89e68ccaa672ccbe2 (patch) | |
tree | e84b0d50dbac181b8ab06a64adc61f9d202863b0 /drivers/gpu | |
parent | f461bd2b494bdf27ed7f9ea03101f7119ed7c695 (diff) | |
download | op-kernel-dev-b5015e92a041443f8f4d5fd89e68ccaa672ccbe2.zip op-kernel-dev-b5015e92a041443f8f4d5fd89e68ccaa672ccbe2.tar.gz |
drm/rockchip: vop: no need wait vblank on crtc enable
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
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 36 |
1 files changed, 0 insertions, 36 deletions
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c index ab18659..eb32649 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c @@ -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; |