Commit 871918df authored by Chris Wilson's avatar Chris Wilson
Browse files

drm/i915/gem: Clear read/write domains for GPU clear

Update the domains for the write via the GPU so that we do not
shortcircuit any set-domain clflush afterwards.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110978


Fixes: b2dbf8d9 ("drm/i915/blt: Remove recursive vma->lock")
Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Cc: Matthew Auld <matthew.auld@intel.com>
Reviewed-by: default avatarMatthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190624141630.11015-1-chris@chris-wilson.co.uk
parent 8db7933e
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -162,11 +162,12 @@ static void clear_pages_worker(struct work_struct *work)
		goto out_signal;

	if (obj->cache_dirty) {
		obj->write_domain = 0;
		if (i915_gem_object_has_struct_page(obj))
			drm_clflush_sg(w->sleeve->pages);
		obj->cache_dirty = false;
	}
	obj->read_domains = I915_GEM_GPU_DOMAINS;
	obj->write_domain = 0;

	/* XXX: we need to kill this */
	mutex_lock(&i915->drm.struct_mutex);