Commit 68634b12 authored by Nirmoy Das's avatar Nirmoy Das
Browse files

drm/xe: Ignore GGTT TLB inval errors during GT reset

During GT reset, GGTT TLB invalidations may fail. This is acceptable
as the reset will clear GGTT caches. Suppress only -ECANCELED other
return codes are still unexpected error.

v2: Add code comment(Matt).

Link: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/3389


Suggested-by: default avatarMatthew Brost <matthew.brost@intel.com>
Reviewed-by: default avatarMatthew Brost <matthew.brost@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241112170123.1236443-1-nirmoy.das@intel.com


Signed-off-by: default avatarNirmoy Das <nirmoy.das@intel.com>
parent 9d42476f
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -253,9 +253,18 @@ static int xe_gt_tlb_invalidation_guc(struct xe_gt *gt,
		0,  /* seqno, replaced in send_tlb_invalidation */
		MAKE_INVAL_OP(XE_GUC_TLB_INVAL_GUC),
	};
	int ret;

	return send_tlb_invalidation(&gt->uc.guc, fence, action,
	ret = send_tlb_invalidation(&gt->uc.guc, fence, action,
				    ARRAY_SIZE(action));
	/*
	 * -ECANCELED indicates the CT is stopped for a GT reset. TLB caches
	 *  should be nuked on a GT reset so this error can be ignored.
	 */
	if (ret == -ECANCELED)
		return 0;

	return ret;
}

/**