drm/rockchip: vop2: Fix mixing irqsave and irq in vop2_crtc_atomic_flush()

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Ifce3088c85fc65a709d8bdec184eb1d3865c1b6f
This commit is contained in:
Tao Huang
2024-06-20 09:46:46 +08:00
parent 6f0f656491
commit 1e3ea84d4a

View File

@@ -11712,7 +11712,7 @@ static void vop2_crtc_atomic_flush(struct drm_crtc *crtc, struct drm_atomic_stat
*/
vp->layer_sel_update = false;
spin_lock_irq(&crtc->dev->event_lock);
spin_lock_irqsave(&crtc->dev->event_lock, flags);
if (crtc->state->event) {
WARN_ON(drm_crtc_vblank_get(crtc) != 0);
WARN_ON(vp->event);
@@ -11720,7 +11720,7 @@ static void vop2_crtc_atomic_flush(struct drm_crtc *crtc, struct drm_atomic_stat
vp->event = crtc->state->event;
crtc->state->event = NULL;
}
spin_unlock_irq(&crtc->dev->event_lock);
spin_unlock_irqrestore(&crtc->dev->event_lock, flags);
for_each_old_plane_in_state(old_state, plane, old_pstate, i) {
if (!old_pstate->fb)