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: b2dbf8d982a4 ("drm/i915/blt: Remove recursive vma->lock") Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Matthew Auld <matthew.auld@intel.com> Reviewed-by: Matthew Auld <matthew.auld@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20190624141630.11015-1-chris@chris-wilson.co.uk
This commit is contained in:
parent
8db7933ee3
commit
871918dffe
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user