summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/i915/i915_gem_execbuffer.c
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2013-12-18 16:38:53 (GMT)
committerDaniel Vetter <daniel.vetter@ffwll.ch>2013-12-18 16:50:39 (GMT)
commit2c9f8d56a1ccc9064180a95cf22531c4b37154be (patch)
treeae13137d4c33acebbe9be9832a268490dc15583c /drivers/gpu/drm/i915/i915_gem_execbuffer.c
parentbfca05275a594920ad5111f5a23ec6fadc0d0780 (diff)
downloadlinux-2c9f8d56a1ccc9064180a95cf22531c4b37154be.tar.xz
drm/i915: Reject NEEDS_GTT relocations with full ppgtt
Doesn't make sense. Spotted while fixing an issue Chris noticed in the same area. 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.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
index f5a1e0c..2774855 100644
--- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
+++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
@@ -128,6 +128,12 @@ eb_lookup_vmas(struct eb_vmas *eb,
struct i915_vma *vma;
struct i915_address_space *bind_vm = vm;
+ if (exec[i].flags & EXEC_OBJECT_NEEDS_GTT &&
+ USES_FULL_PPGTT(vm->dev)) {
+ ret = -EINVAL;
+ goto out;
+ }
+
/* If we have secure dispatch, or the userspace assures us that
* they know what they're doing, use the GGTT VM.
*/