diff options
author | Ville Syrjälä <ville.syrjala@linux.intel.com> | 2014-03-12 19:32:27 +0200 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2014-03-13 12:22:44 +0100 |
commit | 3ddffb7b8a7e296af4ff22b953836ac6bc484b76 (patch) | |
tree | 87c0940704d634ff67bfbc528a26cc523ac798a8 /drivers/gpu/drm/i915/i915_gem.c | |
parent | drm/i915: Drop WARN_ON(flags) from ppgtt_bind_vma() (diff) | |
download | linux-dev-3ddffb7b8a7e296af4ff22b953836ac6bc484b76.tar.xz linux-dev-3ddffb7b8a7e296af4ff22b953836ac6bc484b76.zip |
drm/i915: Unbind all vmas whose new cache_level doesn't agree with the neighbours
When we change the cache_level for an object we need to make sure
we don't put differing types of snoopable memory too close to each
other on non-LLC machines.
Currently i915_gem_object_set_cache_level() will stop looking when
it finds just one vma that has such a conflict. Drop the bogus break
statement to make sure it will unbind all vmas which need to be moved
around to avoid the conflict.
I suppose this is a theoretical issue as currently we don't enable
ppgtt on non-LLC machines, so each object can only have one vma.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_gem.c')
-rw-r--r-- | drivers/gpu/drm/i915/i915_gem.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index 92b0b4164b1d..70384c8d1404 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -3482,8 +3482,6 @@ int i915_gem_object_set_cache_level(struct drm_i915_gem_object *obj, ret = i915_vma_unbind(vma); if (ret) return ret; - - break; } } |