aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2019-04-18 14:27:20 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2019-04-18 17:33:49 +0100
commit26ddc068de47e2a7cbbd06c915dca7a0dc22c499 (patch)
tree5c1e38bd3fd2f80ca43844f5e0e71e865695df9e
parentdrm/i915: Stop overwriting RING_IMR in rcs resume (diff)
downloadlinux-dev-26ddc068de47e2a7cbbd06c915dca7a0dc22c499.tar.xz
linux-dev-26ddc068de47e2a7cbbd06c915dca7a0dc22c499.zip
drm/i915: Setup the RCS ring prior to execution
We need to set the various ring registers prior to restarting the engine, or else we may restart it after reset/resume in an ill-defined state. Reported-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20190418132720.3716-2-chris@chris-wilson.co.uk
-rw-r--r--drivers/gpu/drm/i915/intel_ringbuffer.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
index 00bd9eeb053d..3844581f622c 100644
--- a/drivers/gpu/drm/i915/intel_ringbuffer.c
+++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
@@ -831,9 +831,6 @@ static int intel_rcs_ctx_init(struct i915_request *rq)
static int init_render_ring(struct intel_engine_cs *engine)
{
struct drm_i915_private *dev_priv = engine->i915;
- int ret = init_ring_common(engine);
- if (ret)
- return ret;
/* WaTimedSingleVertexDispatch:cl,bw,ctg,elk,ilk,snb */
if (IS_GEN_RANGE(dev_priv, 4, 6))
@@ -873,7 +870,7 @@ static int init_render_ring(struct intel_engine_cs *engine)
if (IS_GEN_RANGE(dev_priv, 6, 7))
I915_WRITE(INSTPM, _MASKED_BIT_ENABLE(INSTPM_FORCE_ORDERING));
- return 0;
+ return init_ring_common(engine);
}
static void cancel_requests(struct intel_engine_cs *engine)