summaryrefslogtreecommitdiff
path: root/drivers/gpu
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c b/drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c
index 9e7fe8d9bca4..c815a42e2cdb 100644
--- a/drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c
+++ b/drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c
@@ -251,14 +251,15 @@ int xe_gt_tlb_invalidation_vma(struct xe_gt *gt,
static bool tlb_invalidation_seqno_past(struct xe_gt *gt, int seqno)
{
- if (gt->tlb_invalidation.seqno_recv >= seqno)
- return true;
+ if (seqno - gt->tlb_invalidation.seqno_recv <
+ -(TLB_INVALIDATION_SEQNO_MAX / 2))
+ return false;
if (seqno - gt->tlb_invalidation.seqno_recv >
(TLB_INVALIDATION_SEQNO_MAX / 2))
return true;
- return false;
+ return gt->tlb_invalidation.seqno_recv >= seqno;
}
/**