On Fri, Mar 19, 2021 at 5:09 AM Fabio Estevam festevam@gmail.com wrote:
Hi Dmitry,
On Mon, Mar 1, 2021 at 6:41 PM Dmitry Baryshkov dmitry.baryshkov@linaro.org wrote:
diff --git a/drivers/gpu/drm/msm/msm_atomic.c b/drivers/gpu/drm/msm/msm_atomic.c index 6a326761dc4a..2fd0cf6421ad 100644 --- a/drivers/gpu/drm/msm/msm_atomic.c +++ b/drivers/gpu/drm/msm/msm_atomic.c @@ -207,7 +207,12 @@ void msm_atomic_commit_tail(struct drm_atomic_state *state) struct msm_kms *kms = priv->kms; struct drm_crtc *async_crtc = NULL; unsigned crtc_mask = get_crtc_mask(state);
bool async = kms->funcs->vsync_time &&
bool async;
if (!kms)
return;
async = kms->funcs->vsync_time && can_do_async(state, &async_crtc);
I also see the same issue on a i.MX53: https://lists.freedesktop.org/archives/freedreno/2021-January/009369.html
Then I got a different suggestion from Rob. Please check:
https://www.spinics.net/lists/dri-devel/msg286648.html and https://www.spinics.net/lists/dri-devel/msg286649.html
Does this series fix the issue in your platform too?
I think that might not help if something fails to probe due to (for example) a missing dependency, so !priv->kms is probably a better check to cover both cases. But the 2nd patch makes a good point, that the suspend/resume path probably needs the same treatment
BR, -R