On Thu, Aug 29, 2024 at 01:48:39PM GMT, Jessica Zhang wrote: > Create a separate API for starting the encoder frame done timer and call > it after the encoder kickoff is finished > > Signed-off-by: Jessica Zhang <quic_jesszhan@xxxxxxxxxxx> > --- > drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c | 4 +++- > drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 21 ++++++++++++++------- > drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.h | 1 + > 3 files changed, 18 insertions(+), 8 deletions(-) > > diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c > index c8ef59af444c..daf5f751f584 100644 > --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c > +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c > @@ -970,8 +970,10 @@ void dpu_crtc_commit_kickoff(struct drm_crtc *crtc) > > dpu_vbif_clear_errors(dpu_kms); > > - drm_for_each_encoder_mask(encoder, crtc->dev, crtc->state->encoder_mask) > + drm_for_each_encoder_mask(encoder, crtc->dev, crtc->state->encoder_mask) { > dpu_encoder_kickoff(encoder); > + dpu_encoder_start_frame_done_timer(encoder); > + } > > reinit_completion(&dpu_crtc->frame_done_comp); > > diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c > index bde385318018..9d495a186eb8 100644 > --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c > +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c > @@ -1945,18 +1945,12 @@ bool dpu_encoder_is_valid_for_commit(struct drm_encoder *drm_enc) > return true; > } > > -void dpu_encoder_kickoff(struct drm_encoder *drm_enc) > +void dpu_encoder_start_frame_done_timer(struct drm_encoder *drm_enc) Docs please. With this fixed and with the reason for the change being added to the commit message: Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> > { > struct dpu_encoder_virt *dpu_enc; > - struct dpu_encoder_phys *phys; > unsigned long timeout_ms; > - unsigned int i; > > - DPU_ATRACE_BEGIN("encoder_kickoff"); > dpu_enc = to_dpu_encoder_virt(drm_enc); > - > - trace_dpu_enc_kickoff(DRMID(drm_enc)); > - > timeout_ms = DPU_ENCODER_FRAME_DONE_TIMEOUT_FRAMES * 1000 / > drm_mode_vrefresh(&drm_enc->crtc->state->adjusted_mode); > -- With best wishes Dmitry