drm/rockchip: vvop: send last vblank when vblank disable

Fix the warning:
[   32.660604] virtual-vop virtual-vop: [drm:vvop_vblank_simulate]
[   32.677230] virtual-vop virtual-vop: [drm:vvop_vblank_simulate]
[   32.693872] virtual-vop virtual-vop: [drm:vvop_vblank_simulate]
[   32.710535] virtual-vop virtual-vop: [drm:vvop_vblank_simulate]
[   32.716379] rockchip-drm display-subsystem:[drm:vvop_crtc_atomic_disable]
[   32.716412] rockchip-drm display-subsystem: [drm:vvop_disable_vblank]
[   32.716446] drm_atomic_helper_commit_hw_done start
[   32.716458] ------------[ cut here ]------------
[   32.716515] WARNING: CPU: 2 PID: 243 drivers/gpu/drm/drm_atomic_helper.c:2214
               drm_atomic_helper_commit_hw_done+0xe0/0x138
[   32.716539] Modules linked in: bcmdhd
[   32.716571] CPU: 2 PID: 243 Comm: HwBinder:231_1 Not tainted 4.19.193
[   32.716595] Hardware name: Rockchip RK3568 EVB1 DDR4 V10 Board (DT)
[   32.716624] pstate: 40400009 (nZcv daif +PAN -UAO)
[   32.716653] pc : drm_atomic_helper_commit_hw_done+0xe0/0x138
[   32.716679] lr : drm_atomic_helper_commit_hw_done+0xe0/0x138

Change-Id: Ia2ff790f685d4c5421a21f958a9f466179cd64a8
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
This commit is contained in:
Andy Yan
2021-11-11 11:29:26 +08:00
committed by Tao Huang
parent 0f72190031
commit 4c759b0426

View File

@@ -186,7 +186,17 @@ static void vvop_crtc_atomic_enable(struct drm_crtc *crtc,
static void vvop_crtc_atomic_disable(struct drm_crtc *crtc,
struct drm_crtc_state *old_state)
{
unsigned long flags;
drm_crtc_vblank_off(crtc);
if (crtc->state->event && !crtc->state->active) {
spin_lock_irqsave(&crtc->dev->event_lock, flags);
drm_crtc_send_vblank_event(crtc, crtc->state->event);
spin_unlock_irqrestore(&crtc->dev->event_lock, flags);
crtc->state->event = NULL;
}
}
static void vvop_crtc_atomic_flush(struct drm_crtc *crtc,