Skip to content
Snippets Groups Projects
Commit cd687b22 authored by André Almeida's avatar André Almeida
Browse files

radv: Use generic DRM ioctl function for query reset

parent 94d82733
No related merge requests found
Checking pipeline status
......@@ -1362,24 +1362,22 @@ radv_amdgpu_ctx_wait_idle(struct radeon_winsys_ctx *rwctx, enum amd_ip_type ip_t
static enum radv_reset_status
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;
struct drm_get_reset reset;
int ret;
ret = amdgpu_cs_query_reset_state2(ctx->ctx, &flags);
ret = amdgpu_cs_get_reset(ctx->ctx, &reset);
if (ret) {
fprintf(stderr, "radv/amdgpu: amdgpu_cs_query_reset_state2 failed. (%i)\n", ret);
fprintf(stderr, "radv/amdgpu: amdgpu_cs_get_reset 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;
}
if (reset.ctx_reset_count) {
/* Some job from this context once caused a GPU hang */
return RADV_GUILTY_CONTEXT_RESET;
} else if (reset.device_reset_count) {
/* Some job from other context caused a GPU hang */
return RADV_INNOCENT_CONTEXT_RESET;
}
return RADV_NO_RESET;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment