radv/amdgpu: remove legacy code for querying context status
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Mon, 17 Apr 2023 10:34:11 +0000 (12:34 +0200)
committerMarge Bot <emma+marge@anholt.net>
Tue, 18 Apr 2023 06:55:03 +0000 (06:55 +0000)
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22521>

src/amd/vulkan/radv_device.c
src/amd/vulkan/radv_radeon_winsys.h
src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c

index 9d44b14..9a75b2c 100644 (file)
@@ -617,8 +617,6 @@ radv_check_status(struct vk_device *vk_device)
             return vk_device_set_lost(&device->vk, "GPU hung detected in this process");
         if (status == RADV_INNOCENT_CONTEXT_RESET)
             return vk_device_set_lost(&device->vk, "GPU hung triggered by other process");
-        if (status == RADV_UNKNOWN_CONTEXT_RESET)
-            return vk_device_set_lost(&device->vk, "GPU hung triggered by unknown source");
       }
    }
 
index d5fdc1c..c269935 100644 (file)
@@ -106,7 +106,6 @@ enum radv_reset_status {
    RADV_NO_RESET,
    RADV_GUILTY_CONTEXT_RESET,
    RADV_INNOCENT_CONTEXT_RESET,
-   RADV_UNKNOWN_CONTEXT_RESET,
 };
 
 struct radeon_cmdbuf {
index c6f6ac6..1b00755 100644 (file)
@@ -1324,41 +1324,21 @@ radv_amdgpu_ctx_query_reset_status(struct radeon_winsys_ctx *rwctx)
 {
    int ret;
    struct radv_amdgpu_ctx *ctx = (struct radv_amdgpu_ctx *)rwctx;
+   uint64_t flags;
 
-   if (ctx->ws->info.drm_minor >= 24) {
-      uint64_t flags;
-      ret = amdgpu_cs_query_reset_state2(ctx->ctx, &flags);
-
-      if (ret) {
-         fprintf(stderr, "radv/amdgpu: amdgpu_cs_query_reset_state2 failed. (%i)\n", ret);
-        return RADV_NO_RESET;
-      }
-
-      if (flags & AMDGPU_CTX_QUERY2_FLAGS_RESET) {
-         if (flags & AMDGPU_CTX_QUERY2_FLAGS_GUILTY) {
-            /* Some job from this context once caused a GPU hang */
-            return RADV_GUILTY_CONTEXT_RESET;
-         } else {
-            /* Some job from other context caused a GPU hang */
-            return RADV_INNOCENT_CONTEXT_RESET;
-         }
-      }
-   } else {
-      uint32_t result, hangs;
-
-      ret = amdgpu_cs_query_reset_state(ctx->ctx, &result, &hangs);
-      if (ret) {
-         fprintf(stderr, "radv/amdgpu: amdgpu_cs_query_reset_state failed. (%i)\n", ret);
-         return RADV_NO_RESET;
-      }
+   ret = amdgpu_cs_query_reset_state2(ctx->ctx, &flags);
+   if (ret) {
+      fprintf(stderr, "radv/amdgpu: amdgpu_cs_query_reset_state2 failed. (%i)\n", ret);
+      return RADV_NO_RESET;
+   }
 
-      switch (result) {
-      case AMDGPU_CTX_GUILTY_RESET:
+   if (flags & AMDGPU_CTX_QUERY2_FLAGS_RESET) {
+      if (flags & AMDGPU_CTX_QUERY2_FLAGS_GUILTY) {
+         /* Some job from this context once caused a GPU hang */
          return RADV_GUILTY_CONTEXT_RESET;
-      case AMDGPU_CTX_INNOCENT_RESET:
+      } else {
+         /* Some job from other context caused a GPU hang */
          return RADV_INNOCENT_CONTEXT_RESET;
-      case AMDGPU_CTX_UNKNOWN_RESET:
-         return RADV_UNKNOWN_CONTEXT_RESET;
       }
    }