aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/i915_gem_execbuffer.c
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2013-12-18 17:46:18 +0100
committerDaniel Vetter <daniel.vetter@ffwll.ch>2013-12-18 17:50:40 +0100
commita7c1d426ef335ccfb6bd567a3f616fa232418fa2 (patch)
treebfc001dff52d7c05881ee203b91a267d1e902e4b /drivers/gpu/drm/i915/i915_gem_execbuffer.c
parentdrm/i915: Reject NEEDS_GTT relocations with full ppgtt (diff)
downloadlinux-dev-a7c1d426ef335ccfb6bd567a3f616fa232418fa2.tar.xz
linux-dev-a7c1d426ef335ccfb6bd567a3f616fa232418fa2.zip
drm/i915: Don't check for NEEDS_GTT when deciding the address space
This means something different and is only relevant for gen6 and the reason why we cant use anything else than aliasing ppgtt there. Note that the currently implemented logic for secure batches is broken: Userspace wants the buffer both in ppgtt (for self-referencing relocations) and in ggtt (for priveledge operations). This is the same issue the command parser is also facing. Unfortunately our coverage for corner-cases of self-referencing batches is spotty. Note that this will break vsync'ed Xv and DRI2 copies. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_gem_execbuffer.c')
-rw-r--r--drivers/gpu/drm/i915/i915_gem_execbuffer.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
index 277485505bca..a36511db1416 100644
--- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
+++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
@@ -137,8 +137,7 @@ eb_lookup_vmas(struct eb_vmas *eb,
/* If we have secure dispatch, or the userspace assures us that
* they know what they're doing, use the GGTT VM.
*/
- if (exec[i].flags & EXEC_OBJECT_NEEDS_GTT ||
- ((args->flags & I915_EXEC_SECURE) &&
+ if (((args->flags & I915_EXEC_SECURE) &&
(i == (args->buffer_count - 1))))
bind_vm = &dev_priv->gtt.base;