freedreno: Disable TC syncs for get_device_reset_status()

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13163>
This commit is contained in:
Rob Clark 2021-10-04 11:16:36 -07:00 committed by Marge Bot
parent 75808934f8
commit 5b7c81fd13
2 changed files with 6 additions and 10 deletions

View File

@ -428,11 +428,6 @@ fd_get_device_reset_status(struct pipe_context *pctx)
int global_faults = fd_get_reset_count(ctx, false); int global_faults = fd_get_reset_count(ctx, false);
enum pipe_reset_status status; enum pipe_reset_status status;
/* Not called in driver thread, but threaded_context syncs
* before calling this:
*/
fd_context_access_begin(ctx);
if (context_faults != ctx->context_reset_count) { if (context_faults != ctx->context_reset_count) {
status = PIPE_GUILTY_CONTEXT_RESET; status = PIPE_GUILTY_CONTEXT_RESET;
} else if (global_faults != ctx->global_reset_count) { } else if (global_faults != ctx->global_reset_count) {
@ -444,8 +439,6 @@ fd_get_device_reset_status(struct pipe_context *pctx)
ctx->context_reset_count = context_faults; ctx->context_reset_count = context_faults;
ctx->global_reset_count = global_faults; ctx->global_reset_count = global_faults;
fd_context_access_end(ctx);
return status; return status;
} }
@ -701,7 +694,7 @@ fd_context_init_tc(struct pipe_context *pctx, unsigned flags)
fd_fence_create_unflushed, fd_fence_create_unflushed,
fd_resource_busy, fd_resource_busy,
false, false,
false, true,
&ctx->tc); &ctx->tc);
if (tc && tc != pctx) if (tc && tc != pctx)

View File

@ -323,9 +323,12 @@ struct fd_context {
* count increases, it means some other context crashed. If * count increases, it means some other context crashed. If
* per-context reset count increases, it means we crashed the * per-context reset count increases, it means we crashed the
* gpu. * gpu.
*
* Only accessed by front-end thread, never accessed by TC driver
* thread.
*/ */
uint32_t context_reset_count dt; uint32_t context_reset_count;
uint32_t global_reset_count dt; uint32_t global_reset_count;
/* Context sequence #, used for batch-cache key: */ /* Context sequence #, used for batch-cache key: */
uint16_t seqno; uint16_t seqno;