> -----Original Message----- > From: Wen He > Sent: 2019年5月8日 17:39 > To: dri-devel@xxxxxxxxxxxxxxxxxxxxx; liviu.dudau@xxxxxxx; > brian.starkey@xxxxxxx > Cc: Leo Li <leoyang.li@xxxxxxx>; Wen He <wen.he_1@xxxxxxx> > Subject: [v1] drm/arm/mali-dp: Add a loop around the second set CVAL and try > 5 times > > This patch trying to fix monitor freeze issue caused by drm error 'flip_done > timed out' on LS1028A platform. this set try is make a loop around the second > setting CVAL and try like 5 times before giveing up. > > Signed-off-by: Liviu <liviu.Dudau@xxxxxxx> > Signed-off-by: Wen He <wen.he_1@xxxxxxx> > --- > drivers/gpu/drm/arm/malidp_drv.c | 13 ++++++++++++- > 1 file changed, 12 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/arm/malidp_drv.c > b/drivers/gpu/drm/arm/malidp_drv.c > index 21725c9b9f5e..18cb7f134f4e 100644 > --- a/drivers/gpu/drm/arm/malidp_drv.c > +++ b/drivers/gpu/drm/arm/malidp_drv.c > @@ -192,6 +192,7 @@ static void malidp_atomic_commit_hw_done(struct > drm_atomic_state *state) { > struct drm_device *drm = state->dev; > struct malidp_drm *malidp = drm->dev_private; > + int loop = 5; > > malidp->event = malidp->crtc.state->event; > malidp->crtc.state->event = NULL; > @@ -206,8 +207,18 @@ static void malidp_atomic_commit_hw_done(struct > drm_atomic_state *state) > drm_crtc_vblank_get(&malidp->crtc); > > /* only set config_valid if the CRTC is enabled */ > - if (malidp_set_and_wait_config_valid(drm) < 0) > + if (malidp_set_and_wait_config_valid(drm) < 0) { > + /* > + * make a loop around the second CVAL setting and > + * try 5 times before giving up. > + */ > + while (loop--) { > + if (!malidp_set_and_wait_config_valid(drm)) > + break; > + } > DRM_DEBUG_DRIVER("timed out waiting for updated > configuration\n"); > + } > + > } else if (malidp->event) { > /* CRTC inactive means vblank IRQ is disabled, send event directly */ > spin_lock_irq(&drm->event_lock); > -- > 2.17.1 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel