summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/i915/i915_gem_evict.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem_evict.c b/drivers/gpu/drm/i915/i915_gem_evict.c
index 5741b58..3c1280e 100644
--- a/drivers/gpu/drm/i915/i915_gem_evict.c
+++ b/drivers/gpu/drm/i915/i915_gem_evict.c
@@ -183,9 +183,11 @@ none:
if (pass++ == 0) {
struct drm_i915_private *dev_priv = to_i915(dev);
- ret = switch_to_pinned_context(dev_priv);
- if (ret)
- return ret;
+ if (i915_is_ggtt(vm)) {
+ ret = switch_to_pinned_context(dev_priv);
+ if (ret)
+ return ret;
+ }
ret = i915_gem_wait_for_idle(dev_priv);
if (ret)
@@ -300,9 +302,11 @@ int i915_gem_evict_vm(struct i915_address_space *vm, bool do_idle)
if (do_idle) {
struct drm_i915_private *dev_priv = to_i915(vm->dev);
- ret = switch_to_pinned_context(dev_priv);
- if (ret)
- return ret;
+ if (i915_is_ggtt(vm)) {
+ ret = switch_to_pinned_context(dev_priv);
+ if (ret)
+ return ret;
+ }
ret = i915_gem_wait_for_idle(dev_priv);
if (ret)
OpenPOWER on IntegriCloud