Yea, I know , just dumped diff of one file into it, please search in code for

"ret = do_aquire_global_lock(dev, state);" it appears only in one place in entire code base, and manually apply the one line change.


Thanks,

Andrey


On 01/12/2018 04:47 PM, Johannes Hirte wrote:
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.


_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to