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 @@ -397,6 +397,16 @@ static void ggtt_invalidate_gt_tlb(struct xe_gt *gt)
397
397
398
398
static void xe_ggtt_invalidate (struct xe_ggtt * ggtt )
399
399
{
400
+ struct xe_device * xe = tile_to_xe (ggtt -> tile );
401
+
402
+ /*
403
+ * XXX: Barrier for GGTT pages. Unsure exactly why this required but
404
+ * without this LNL is having issues with the GuC reading scratch page
405
+ * vs. correct GGTT page. Not particularly a hot code path so blindly
406
+ * do a mmio read here which results in GuC reading correct GGTT page.
407
+ */
408
+ xe_mmio_read32 (xe_root_mmio_gt (xe ), VF_CAP_REG );
409
+
400
410
/* Each GT in a tile has its own TLB to cache GGTT lookups */
401
411
ggtt_invalidate_gt_tlb (ggtt -> tile -> primary_gt );
402
412
ggtt_invalidate_gt_tlb (ggtt -> tile -> media_gt );
You can’t perform that action at this time.
0 commit comments