From 207b7473a7c981d7a4ed33c565796ec0514bf954 Mon Sep 17 00:00:00 2001 From: Dhaval Patel Date: Wed, 6 May 2020 18:52:37 -0700 Subject: [PATCH] disp: msm: sde: avoid idle notify cancel request SDE crtc module can trigger idle notify for video mode display by updating existing scheduled work instead of cancelling and rescheduling it. Change-Id: I1c4b93a3701bbebe0487c4a0da35aff586315398 Signed-off-by: Dhaval Patel --- msm/sde/sde_crtc.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/msm/sde/sde_crtc.c b/msm/sde/sde_crtc.c index 56f45d37b4..f3024989fe 100644 --- a/msm/sde/sde_crtc.c +++ b/msm/sde/sde_crtc.c @@ -3250,12 +3250,6 @@ static void sde_crtc_atomic_begin(struct drm_crtc *crtc, _sde_crtc_blend_setup(crtc, old_state, true); _sde_crtc_dest_scaler_setup(crtc); - /* cancel the idle notify delayed work */ - if (sde_encoder_check_curr_mode(sde_crtc->mixers[0].encoder, - MSM_DISPLAY_VIDEO_MODE) && - kthread_cancel_delayed_work_sync(&sde_crtc->idle_notify_work)) - SDE_DEBUG("idle notify work cancelled\n"); - /* * Since CP properties use AXI buffer to program the * HW, check if context bank is in attached state, @@ -3382,7 +3376,7 @@ static void sde_crtc_atomic_flush(struct drm_crtc *crtc, if (idle_time && sde_encoder_check_curr_mode( sde_crtc->mixers[0].encoder, MSM_DISPLAY_VIDEO_MODE)) { - kthread_queue_delayed_work(&event_thread->worker, + kthread_mod_delayed_work(&event_thread->worker, &sde_crtc->idle_notify_work, msecs_to_jiffies(idle_time)); SDE_DEBUG("schedule idle notify work in %dms\n", idle_time);