From 8249e8b7f3e5b71810c25fff366e5bf3e94d4cef Mon Sep 17 00:00:00 2001 From: Yashwanth Date: Fri, 6 Nov 2020 15:57:58 +0530 Subject: [PATCH] disp: msm: sde: use current crtc state during idle work scheduling In the current code, previous crtc state is used to know the idle timeout period and to schedule the idle notify work. Due to this, notify work is not getting scheduled in some cases even when idle timeout is specified. This change uses current state for idle timeout period. Change-Id: I3ff4df6a8edd6a5a20d2e19c3c27ebb221694ac1 Signed-off-by: Yashwanth --- msm/sde/sde_crtc.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/msm/sde/sde_crtc.c b/msm/sde/sde_crtc.c index f7d531d01c..ce32c5c466 100644 --- a/msm/sde/sde_crtc.c +++ b/msm/sde/sde_crtc.c @@ -3564,11 +3564,10 @@ static void _sde_crtc_remove_pipe_flush(struct drm_crtc *crtc) } } -static void _sde_crtc_schedule_idle_notify(struct drm_crtc *crtc, - struct drm_crtc_state *old_state) +static void _sde_crtc_schedule_idle_notify(struct drm_crtc *crtc) { struct sde_crtc *sde_crtc = to_sde_crtc(crtc); - struct sde_crtc_state *cstate = to_sde_crtc_state(old_state); + struct sde_crtc_state *cstate = to_sde_crtc_state(crtc->state); struct sde_kms *sde_kms = _sde_crtc_get_kms(crtc); struct msm_drm_private *priv; struct msm_drm_thread *event_thread; @@ -3815,7 +3814,7 @@ void sde_crtc_commit_kickoff(struct drm_crtc *crtc, spin_unlock_irqrestore(&dev->event_lock, flags); } - _sde_crtc_schedule_idle_notify(crtc, old_state); + _sde_crtc_schedule_idle_notify(crtc); SDE_ATRACE_END("crtc_commit"); }