[PATCH] get-pages-flush

Chris Wilson chris at chris-wilson.co.uk
Sat Mar 16 19:21:22 UTC 2019


---
 drivers/gpu/drm/i915/i915_gem.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index b38c9531b5e8..1b6effb6c593 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -2531,6 +2531,13 @@ void __i915_gem_object_set_pages(struct drm_i915_gem_object *obj,
 
 	lockdep_assert_held(&obj->mm.lock);
 
+	if (obj->write_domain & I915_GEM_DOMAIN_CPU &&
+	    !(obj->cache_coherent & I915_BO_CACHE_COHERENT_FOR_WRITE)) {
+		drm_clflush_sg(pages);
+		obj->cache_dirty = false;
+		obj->write_domain = 0;
+	}
+
 	obj->mm.get_page.sg_pos = pages->sgl;
 	obj->mm.get_page.sg_idx = 0;
 
-- 
2.20.1



More information about the Intel-gfx-trybot mailing list