Revert "drm/i915: Do not allow buffers at offset 0"
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 18 Dec 2013 15:40:38 +0000 (16:40 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 18 Dec 2013 16:50:39 +0000 (17:50 +0100)
This reverts commit 4fe9adbc36097317864bfec3c32047da7c45a2fa.

The patch completely lacks a detailed explanation of what exactly
blows up and how, so is insufficiently justified as a band-aid.

Otoh the justification as a safety measure against userspace botching
up relocations is also fairly weak: If we want real project we need to
at least make the gab big enough that the gpu doesn't scribble over
more important stuff. With 4k screens that would be 32MB.

Also I think this would be much better in conjunction with a (debug)
switch to disable our use of the scratch page.

Hence revert this.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_gem.c

index 9ff3509657530b175198d359b9e2e0c10d19f395..ef274f69c00c39aa7ec6ee7cdd1104cc973ad00e 100644 (file)
@@ -3275,11 +3275,9 @@ i915_gem_object_bind_to_vm(struct drm_i915_gem_object *obj,
        }
 
 search_free:
-       /* FIXME: Some tests are failing when they receive a reloc of 0. To
-        * prevent this, we simply don't allow the 0th offset. */
        ret = drm_mm_insert_node_in_range_generic(&vm->mm, &vma->node,
                                                  size, alignment,
-                                                 obj->cache_level, 1, gtt_max,
+                                                 obj->cache_level, 0, gtt_max,
                                                  DRM_MM_SEARCH_DEFAULT);
        if (ret) {
                ret = i915_gem_evict_something(dev, vm, size, alignment,