drm/i915: Rings are always flushed

Our intel_rings are always flushed as they are continually used to submit
commands to the GPU, and so do not need to be flushed on unpinning. This
avoids pulling in the flush_ggtt_writes locking into our context
unpin, which we want to allow from atomic context (for simplicity).

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190619203504.4220-1-chris@chris-wilson.co.uk
This commit is contained in:
Chris Wilson 2019-06-19 21:35:04 +01:00
parent 8ee36e048c
commit cffa1eb8a2

View File

@ -1219,6 +1219,7 @@ void intel_ring_unpin(struct intel_ring *ring)
intel_ring_reset(ring, ring->tail);
GEM_BUG_ON(!ring->vma);
i915_vma_unset_ggtt_write(ring->vma);
if (i915_vma_is_map_and_fenceable(ring->vma))
i915_vma_unpin_iomap(ring->vma);
else