Commit 11bfc4a2 authored by Matthew Auld's avatar Matthew Auld
Browse files

drm/xe/ct: drop irq usage of xa_erase()



Unclear why disabling interrupts is needed here. Nothing seems to be
touching fence_lookup and its corresponding lock from an irq so there
should be no risk of deadlock.

Signed-off-by: default avatarMatthew Auld <matthew.auld@intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: Badal Nilawar <badal.nilawar@intel.com>
Reviewed-by: default avatarBadal Nilawar <badal.nilawar@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241001084346.98516-8-matthew.auld@intel.com
parent f0403272
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -890,7 +890,7 @@ static int guc_ct_send_recv(struct xe_guc_ct *ct, const u32 *action, u32 len,
			goto retry_same_fence;

		if (!g2h_fence_needs_alloc(&g2h_fence))
			xa_erase_irq(&ct->fence_lookup, g2h_fence.seqno);
			xa_erase(&ct->fence_lookup, g2h_fence.seqno);

		return ret;
	}
@@ -907,7 +907,7 @@ static int guc_ct_send_recv(struct xe_guc_ct *ct, const u32 *action, u32 len,
	if (!ret) {
		xe_gt_err(gt, "Timed out wait for G2H, fence %u, action %04x, done %s",
			  g2h_fence.seqno, action[0], str_yes_no(g2h_fence.done));
		xa_erase_irq(&ct->fence_lookup, g2h_fence.seqno);
		xa_erase(&ct->fence_lookup, g2h_fence.seqno);
		mutex_unlock(&ct->lock);
		return -ETIME;
	}