Am 27.04.2017 um 12:58 schrieb Julien Isorce:
But always print an error.

Encountered a dozen of exact same backtraces when mesa's
pb_cache_release_all_buffers is called after that a gpu reset failed.

An other approach would be to check rdev->vm_manager.enabled instead
of rdev->accel_working in the other function radeon_gem_object_close.
But it will only work if the vm_manager succeeded to be re-enabled
after a gpu reset.

bug: https://bugs.freedesktop.org/show_bug.cgi?id=96271

Signed-off-by: Julien Isorce <[email protected]>
---
  drivers/gpu/drm/radeon/radeon_object.c | 8 +++++++-
  1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/radeon/radeon_object.c 
b/drivers/gpu/drm/radeon/radeon_object.c
index bec2ec0..76cc039 100644
--- a/drivers/gpu/drm/radeon/radeon_object.c
+++ b/drivers/gpu/drm/radeon/radeon_object.c
@@ -81,7 +81,13 @@ static void radeon_ttm_bo_destroy(struct ttm_buffer_object 
*tbo)
        list_del_init(&bo->list);
        mutex_unlock(&bo->rdev->gem.mutex);
        radeon_bo_clear_surface_reg(bo);
-       WARN_ON(!list_empty(&bo->va));
+
+       if (!list_empty(&bo->va)) {
+               DRM_ERROR("Virtual address list not empty, accel: %d\n",
+                         bo->rdev->accel_working);
+               WARN_ON_ONCE(1);
+       }
+

The message is superfluous if we initially started up the GPU and found later that we can't get GFX working again after a GPU reset it is pretty much impossible to continue.

I would just change the "WARN_ON(!list_empty(&bo->va));" to a "WARN_ON_ONCE(!list_empty(&bo->va));".

Regards,
Christian.

        drm_gem_object_release(&bo->gem_base);
        kfree(bo);
  }


_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to