drm/i915/selftests: Attach the fence to the object when making busy
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 29 Jun 2018 13:37:17 +0000 (14:37 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 29 Jun 2018 20:07:39 +0000 (21:07 +0100)
make_obj_busy() makes a dummy busy object, but didn't attach the fence
to the reservation object, so it would not have registered as busy. For
completeness, attach the dummy request as the exclusive fence and mark
the object as written (in i915_vma_move_to_active)

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180629133717.11761-2-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/selftests/i915_gem_object.c

index 549707b9d738876f109dd4ae0a4fce3f4c2ba344..77dd7a510ea603737307fd163e64886b3fcf4196 100644 (file)
@@ -454,7 +454,12 @@ static int make_obj_busy(struct drm_i915_gem_object *obj)
                return PTR_ERR(rq);
        }
 
-       i915_vma_move_to_active(vma, rq, 0);
+       i915_vma_move_to_active(vma, rq, EXEC_OBJECT_WRITE);
+
+       reservation_object_lock(vma->resv, NULL);
+       reservation_object_add_excl_fence(vma->resv, &rq->fence);
+       reservation_object_unlock(vma->resv);
+
        i915_request_add(rq);
 
        i915_gem_object_set_active_reference(obj);