drm/xe/gt: tweak placement for signalling TLB fences after GT reset
authorMatthew Auld <matthew.auld@intel.com>
Mon, 10 Jul 2023 09:40:45 +0000 (10:40 +0100)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Thu, 21 Dec 2023 16:35:23 +0000 (11:35 -0500)
Assumption here is that submission is disabled along with CT, and full
GT reset will also nuke TLBs, so should be safe to signal all in-flight
TLB fences, but only after the actual reset so move the placement
slightly.

Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/xe/xe_gt.c

index bc76678a8276ca15b1232b01402c1307c82e4602..a21d44bfe9e876358777ff0c20df14f8e186ea59 100644 (file)
@@ -519,7 +519,6 @@ static int gt_reset(struct xe_gt *gt)
 
        xe_uc_stop_prepare(&gt->uc);
        xe_gt_pagefault_reset(gt);
-       xe_gt_tlb_invalidation_reset(gt);
 
        err = xe_uc_stop(&gt->uc);
        if (err)
@@ -529,6 +528,8 @@ static int gt_reset(struct xe_gt *gt)
        if (err)
                goto err_out;
 
+       xe_gt_tlb_invalidation_reset(gt);
+
        err = do_gt_restart(gt);
        if (err)
                goto err_out;