On 2018 Jan 12, Andrey Grodzovsky wrote: > Hi, looks to me like a different issue (not related) then the one > Johannes, reports, your issue was already reported by some one (can't > remember the thread of hand) and looks like in shader hang or GPU > scheduler synchronization issue while Johannes's use after free is pure > software logic issue in either KMS atomic framework or more probably in > AMDGPU/DC (DAL). > > > Johanes, I attached a debug patch which forces the cursor update to wait > for any page flip in progress, can you give it a try and see if the > issue is gone ? This is not an actual fix but just to evaluate the reason. > > diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > index 5a70682..323d020 100644 > --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > @@ -4908,7 +4908,7 @@ static int amdgpu_dm_atomic_check(struct drm_device *dev, > * synchronization events. > */ > > - if (lock_and_validation_needed) { > + if (lock_and_validation_needed || state->legacy_cursor_update == true) { > > ret = do_aquire_global_lock(dev, state); > if (ret) > diff --git a/drivers/gpu/drm/ttm/ttm_page_alloc.c b/drivers/gpu/drm/ttm/ttm_page_alloc.c > index a1a751b..6d6ffdf 100644 > --- a/drivers/gpu/drm/ttm/ttm_page_alloc.c > +++ b/drivers/gpu/drm/ttm/ttm_page_alloc.c The patch seems incomplete. -- Regards, Johannes