diff mbox series

drm/i915: Kick waiters on resetting legacy rings

Message ID 20180727180841.19948-1-chris@chris-wilson.co.uk (mailing list archive)
State New, archived
Headers show
Series drm/i915: Kick waiters on resetting legacy rings | expand

Commit Message

Chris Wilson July 27, 2018, 6:08 p.m. UTC
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(+)

Comments

Chris Wilson July 29, 2018, 5:31 a.m. UTC | #1
Quoting Chris Wilson (2018-07-27 19:08:41)
> 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>

Hmm, it probably explains
References: https://bugs.freedesktop.org/show_bug.cgi?id=105957
-Chris
diff mbox series

Patch

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);