We could be using write combining map through which we insert
our ptes. Make sure to flush the write combining buffer
after the writes.

Cc: Chris Wilson <[email protected]>
Cc: Matthew Auld <[email protected]>
Signed-off-by: Mika Kuoppala <[email protected]>
---
 drivers/gpu/drm/i915/i915_gem_gtt.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c 
b/drivers/gpu/drm/i915/i915_gem_gtt.c
index 6434ebe8c033..dcac8bd604ab 100644
--- a/drivers/gpu/drm/i915/i915_gem_gtt.c
+++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
@@ -1077,6 +1077,9 @@ static void gen8_ppgtt_insert_3lvl(struct 
i915_address_space *vm,
                                      cache_level);
 
        vma->page_sizes.gtt = I915_GTT_PAGE_SIZE;
+
+       /* Flush write combining buffer */
+       wmb();
 }
 
 static void gen8_ppgtt_insert_huge_entries(struct i915_vma *vma,
@@ -1196,6 +1199,9 @@ static void gen8_ppgtt_insert_4lvl(struct 
i915_address_space *vm,
 
                vma->page_sizes.gtt = I915_GTT_PAGE_SIZE;
        }
+
+       /* Flush write combining buffer */
+       wmb();
 }
 
 static void gen8_free_page_tables(struct i915_address_space *vm,
-- 
2.14.1

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to