drm/i915: Clarify obj->map_and_fenceable
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 27 Feb 2015 13:58:43 +0000 (13:58 +0000)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 27 Feb 2015 18:01:48 +0000 (19:01 +0100)
For an object right on the boundary of mappable space, as the fenceable
size is stricly greater than the actual size, its fence region may extend
out of mappable space.

Note that only pnv/g33 has fence_size > obj.size and an unmappable
range in the gtt, and there alignment constraints prevent bad things
from happening.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
[danvet: Clarify why this shouldn't change anything as per the
discussion on intel-gfx.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_gem.c

index be991789df2d31c25f76701e1f465450e6c4bf44..f8c12693f7cfca4eace6f3651991d7146328cabc 100644 (file)
@@ -4219,7 +4219,7 @@ i915_gem_object_pin_view(struct drm_i915_gem_object *obj,
                fenceable = (vma->node.size == fence_size &&
                             (vma->node.start & (fence_alignment - 1)) == 0);
 
-               mappable = (vma->node.start + obj->base.size <=
+               mappable = (vma->node.start + fence_size <=
                            dev_priv->gtt.mappable_end);
 
                obj->map_and_fenceable = mappable && fenceable;