From: Chris Wilson Date: Wed, 19 Jun 2019 20:35:04 +0000 (+0100) Subject: drm/i915: Rings are always flushed X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=cffa1eb8a22392a02dbc6a372094262f888fd3ed;p=openwrt%2Fstaging%2Fblogic.git 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 Reviewed-by: Tvrtko Ursulin Link: https://patchwork.freedesktop.org/patch/msgid/20190619203504.4220-1-chris@chris-wilson.co.uk --- diff --git a/drivers/gpu/drm/i915/gt/intel_ringbuffer.c b/drivers/gpu/drm/i915/gt/intel_ringbuffer.c index 12010e798868..8b1da57c3764 100644 --- a/drivers/gpu/drm/i915/gt/intel_ringbuffer.c +++ b/drivers/gpu/drm/i915/gt/intel_ringbuffer.c @@ -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