drm/i915/execlists: Skip resetting RING_CONTEXT_STATUS_PTR
authorChris Wilson <chris@chris-wilson.co.uk>
Wed, 1 Feb 2017 12:53:38 +0000 (12:53 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Wed, 1 Feb 2017 15:22:38 +0000 (15:22 +0000)
As we now flag when the GPU signals a context-switch and do not read the
status register before we see that signal, we do not have to ensure that
it is cleared upon reset (and can leave it to the GPU to reset it from
the power context).

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@intel.com>
Cc: Tvrtko Ursulin <tursulin@ursulin.net>
Link: http://patchwork.freedesktop.org/patch/msgid/20170201125338.12932-1-chris@chris-wilson.co.uk
Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com>
drivers/gpu/drm/i915/intel_lrc.c

index 0e99d53d5523d2aeb45c404b09d5955408cfab53..753458452997ac2f72f1d92d97fceb0b6a36f9c1 100644 (file)
@@ -1317,7 +1317,6 @@ static int gen9_init_render_ring(struct intel_engine_cs *engine)
 static void reset_common_ring(struct intel_engine_cs *engine,
                              struct drm_i915_gem_request *request)
 {
-       struct drm_i915_private *dev_priv = engine->i915;
        struct execlist_port *port = engine->execlist_port;
        struct intel_context *ce = &request->ctx->engine[engine->id];
 
@@ -1344,7 +1343,6 @@ static void reset_common_ring(struct intel_engine_cs *engine,
                return;
 
        /* Catch up with any missed context-switch interrupts */
-       I915_WRITE(RING_CONTEXT_STATUS_PTR(engine), _MASKED_FIELD(0xffff, 0));
        if (request->ctx != port[0].request->ctx) {
                i915_gem_request_put(port[0].request);
                port[0] = port[1];