Commit 2cc86b82 authored by Chris Wilson's avatar Chris Wilson Committed by Daniel Vetter

drm/i915: Always prefer CPU relocations with LLC

A follow-on to the update of the LLC coherency logic is that we can rely
on the LLC being coherent with the CS for rewriting batchbuffers
irrespective of their cache domain. (This should have no effect
currently as all the batch buffers are expected to be I915_CACHE_LLC and
so using the cpu relocation path anyway.)
Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent b93dab6e
...@@ -202,7 +202,8 @@ static void eb_destroy(struct eb_vmas *eb) { ...@@ -202,7 +202,8 @@ static void eb_destroy(struct eb_vmas *eb) {
static inline int use_cpu_reloc(struct drm_i915_gem_object *obj) static inline int use_cpu_reloc(struct drm_i915_gem_object *obj)
{ {
return (obj->base.write_domain == I915_GEM_DOMAIN_CPU || return (HAS_LLC(obj->base.dev) ||
obj->base.write_domain == I915_GEM_DOMAIN_CPU ||
!obj->map_and_fenceable || !obj->map_and_fenceable ||
obj->cache_level != I915_CACHE_NONE); obj->cache_level != I915_CACHE_NONE);
} }
...@@ -215,7 +216,7 @@ relocate_entry_cpu(struct drm_i915_gem_object *obj, ...@@ -215,7 +216,7 @@ relocate_entry_cpu(struct drm_i915_gem_object *obj,
char *vaddr; char *vaddr;
int ret = -EINVAL; int ret = -EINVAL;
ret = i915_gem_object_set_to_cpu_domain(obj, 1); ret = i915_gem_object_set_to_cpu_domain(obj, true);
if (ret) if (ret)
return ret; return ret;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment