drm/i915: Serialize against vma moves

Make sure that when submitting requests, we always serialize against
potential vma moves and clflushes.

Time for a i915_request_await_vma() interface!

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Matthew Auld <matthew.auld@intel.com>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190819112033.30638-1-chris@chris-wilson.co.uk
This commit is contained in:
Chris Wilson
2019-08-19 12:20:33 +01:00
parent a1e37b0259
commit 70d6894d14
11 changed files with 56 additions and 20 deletions

View File

@@ -876,7 +876,9 @@ static int live_all_engines(void *arg)
request[id]->batch = batch;
i915_vma_lock(batch);
err = i915_vma_move_to_active(batch, request[id], 0);
err = i915_request_await_object(request[id], batch->obj, 0);
if (err == 0)
err = i915_vma_move_to_active(batch, request[id], 0);
i915_vma_unlock(batch);
GEM_BUG_ON(err);