mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 11:26:02 +09:00
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:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user