File tree Expand file tree Collapse file tree 1 file changed +10
-0
lines changed Expand file tree Collapse file tree 1 file changed +10
-0
lines changed Original file line number Diff line number Diff line change @@ -401,6 +401,16 @@ static void ggtt_invalidate_gt_tlb(struct xe_gt *gt)
401
401
402
402
static void xe_ggtt_invalidate (struct xe_ggtt * ggtt )
403
403
{
404
+ struct xe_device * xe = tile_to_xe (ggtt -> tile );
405
+
406
+ /*
407
+ * XXX: Barrier for GGTT pages. Unsure exactly why this required but
408
+ * without this LNL is having issues with the GuC reading scratch page
409
+ * vs. correct GGTT page. Not particularly a hot code path so blindly
410
+ * do a mmio read here which results in GuC reading correct GGTT page.
411
+ */
412
+ xe_mmio_read32 (xe_root_tile_mmio (xe ), VF_CAP_REG );
413
+
404
414
/* Each GT in a tile has its own TLB to cache GGTT lookups */
405
415
ggtt_invalidate_gt_tlb (ggtt -> tile -> primary_gt );
406
416
ggtt_invalidate_gt_tlb (ggtt -> tile -> media_gt );
You can’t perform that action at this time.
0 commit comments