[Intel-gfx] [PATCH 2/6] drm/i915/ringbuffer: Remove irq-seqno w/a for gen6/7 rcs
Tvrtko Ursulin
tvrtko.ursulin at linux.intel.com
Mon Dec 31 10:28:48 UTC 2018
On 28/12/2018 17:16, Chris Wilson wrote:
> Having transitioned to using PIPECONTROL to combine the flush with the
> breadcrumb write using their post-sync functions, assume that this will
> resolve the serialisation with the subsequent MI_USER_INTERRUPT. That is
> when inspecting the breadcrumb after an interrupt we can rely on the write
> being posted (i.e. the HWSP will be coherent).
>
> Testing using gem_sync shows that the PIPECONTROL + CS stall does
> serialise the command streamer sufficient that the breadcrumb lands
> before the MI_USER_INTERRUPT. The same is not true for MI_FLUSH_DW.
>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> ---
> drivers/gpu/drm/i915/intel_ringbuffer.c | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
> index d773f7dd32a9..1b9264883a8d 100644
> --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
> +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
> @@ -2218,13 +2218,11 @@ int intel_init_render_ring_buffer(struct intel_engine_cs *engine)
> engine->emit_flush = gen7_render_ring_flush;
> engine->emit_breadcrumb = gen7_rcs_emit_breadcrumb;
> engine->emit_breadcrumb_sz = gen7_rcs_emit_breadcrumb_sz;
> - engine->irq_seqno_barrier = gen6_seqno_barrier;
> } else if (IS_GEN(dev_priv, 6)) {
> engine->init_context = intel_rcs_ctx_init;
> engine->emit_flush = gen6_render_ring_flush;
> engine->emit_breadcrumb = gen6_rcs_emit_breadcrumb;
> engine->emit_breadcrumb_sz = gen6_rcs_emit_breadcrumb_sz;
> - engine->irq_seqno_barrier = gen6_seqno_barrier;
> } else if (IS_GEN(dev_priv, 5)) {
> engine->emit_flush = gen4_render_ring_flush;
> } else {
>
If the proof was in the pudding, then:
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
Regards,
Tvrtko
More information about the Intel-gfx
mailing list