diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2018-07-30 09:53:50 +0200 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2018-07-30 11:32:07 +0200 |
commit | 39f3be162c46bc2349ad7a5bd89536eb83561c81 (patch) | |
tree | 963ac95d40ab1b2bf04478299ab1ccb9f338d156 /drivers/gpu/drm/i915/intel_ringbuffer.c | |
parent | drm/i915: Downgrade Gen9 Plane WM latency error (diff) | |
download | linux-39f3be162c46bc2349ad7a5bd89536eb83561c81.tar.xz linux-39f3be162c46bc2349ad7a5bd89536eb83561c81.zip |
drm/i915: Kick waiters on resetting legacy rings
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
References: https://bugs.freedesktop.org/show_bug.cgi?id=105957
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Acked-by: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180730075351.15569-2-chris@chris-wilson.co.uk
Diffstat (limited to '')
-rw-r--r-- | drivers/gpu/drm/i915/intel_ringbuffer.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c index d1e03b7fbffa..80a8b6e57374 100644 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c @@ -527,6 +527,8 @@ 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)); + /* Papering over lost _interrupts_ immediately following the restart */ + intel_engine_wakeup(engine); out: intel_uncore_forcewake_put(dev_priv, FORCEWAKE_ALL); |