disp: msm: sde: avoid encoder power-collapse with pending frames
The encoder idle work is scheduled during the frame-done event to be executed after a timeout. During the execution, the check for any on-going/pending frames is invalid as it checks for > 1. Fix it to check for any non-zero frame-pending and avoid power-collapse. Change-Id: If7715ee56cc9bfa63787811458f4fc91de540013 Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
This commit is contained in:
@@ -2581,8 +2581,8 @@ static int _sde_encoder_rc_idle(struct drm_encoder *drm_enc,
|
||||
SDE_EVT32(DRMID(drm_enc), sw_event, sde_enc->rc_state,
|
||||
SDE_EVTLOG_ERROR);
|
||||
goto end;
|
||||
} else if (sde_crtc_frame_pending(sde_enc->crtc) > 1) {
|
||||
SDE_ERROR_ENC(sde_enc, "skip idle entry");
|
||||
} else if (sde_crtc_frame_pending(sde_enc->crtc)) {
|
||||
SDE_DEBUG_ENC(sde_enc, "skip idle entry");
|
||||
SDE_EVT32(DRMID(drm_enc), sw_event, sde_enc->rc_state,
|
||||
sde_crtc_frame_pending(sde_enc->crtc),
|
||||
SDE_EVTLOG_ERROR);
|
||||
|
Reference in New Issue
Block a user