Message ID | 20180730075351.15569-2-chris@chris-wilson.co.uk (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/2] drm/i915: Kick waiters on resetting legacy rings | expand |
On 30 July 2018 at 08:53, Chris Wilson <chris@chris-wilson.co.uk> wrote: > For reasons unknown, interrupts following a reset do not arrive, but > this can be papered over by kicking any waiter and peeking at the > breadcrumbs following the reset. > > Testcase: igt/gem_eio/reset-stress > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Matthew Auld <matthew.auld@intel.com>
Quoting Matthew Auld (2018-07-30 10:27:00) > On 30 July 2018 at 08:53, Chris Wilson <chris@chris-wilson.co.uk> wrote: > > For reasons unknown, interrupts following a reset do not arrive, but > > this can be papered over by kicking any waiter and peeking at the > > breadcrumbs following the reset. > > > > Testcase: igt/gem_eio/reset-stress > > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> > Acked-by: Matthew Auld <matthew.auld@intel.com> Very sensible to ack a band-aid :) Fortunately it has virtually no cost, so even if we do find the true cause for the GPU not delivering the interrupts, it can live on. Pushed as the patches passed full CI earlier, thanks. -Chris
diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c index d1e03b7fbffa..c03f4fa4f350 100644 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c @@ -527,6 +527,7 @@ static int init_ring_common(struct intel_engine_cs *engine) if (INTEL_GEN(dev_priv) > 2) I915_WRITE_MODE(engine, _MASKED_BIT_DISABLE(STOP_RING)); + intel_engine_wakeup(engine); out: intel_uncore_forcewake_put(dev_priv, FORCEWAKE_ALL);
For reasons unknown, interrupts following a reset do not arrive, but this can be papered over by kicking any waiter and peeking at the breadcrumbs following the reset. Testcase: igt/gem_eio/reset-stress Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> --- drivers/gpu/drm/i915/intel_ringbuffer.c | 1 + 1 file changed, 1 insertion(+)