On Mon, Jan 18, 2021 at 6:44 PM Fabio Estevam festevam@gmail.com wrote:
Adding some more folks in case anyone has any suggestions to fix this reboot hang.
Not sure if this is a valid fix, but the change below makes reboot works correctly.
kmscube still works.
--- a/drivers/gpu/drm/msm/msm_atomic.c +++ b/drivers/gpu/drm/msm/msm_atomic.c @@ -207,8 +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 && - can_do_async(state, &async_crtc); + bool async; + + if (!kms) + return; + + async = kms->funcs->vsync_time && can_do_async(state, &async_crtc);
trace_msm_atomic_commit_tail_start(async, crtc_mask);
Any comments?
Thanks