OSDN Git Service

drm/i915: Print execlists restart after reset
authorChris Wilson <chris@chris-wilson.co.uk>
Sat, 4 Feb 2017 11:05:19 +0000 (11:05 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Mon, 6 Feb 2017 11:48:16 +0000 (11:48 +0000)
After resetting, show the requests that each engine restarts from in the
debug log.

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

index 44a92ea..754f77c 100644 (file)
@@ -1254,6 +1254,11 @@ out:
        return ret;
 }
 
+static u32 port_seqno(struct execlist_port *port)
+{
+       return port->request ? port->request->global_seqno : 0;
+}
+
 static int gen8_init_common_ring(struct intel_engine_cs *engine)
 {
        struct drm_i915_private *dev_priv = engine->i915;
@@ -1279,6 +1284,10 @@ static int gen8_init_common_ring(struct intel_engine_cs *engine)
        /* After a GPU reset, we may have requests to replay */
        clear_bit(ENGINE_IRQ_EXECLIST, &engine->irq_posted);
        if (!execlists_elsp_idle(engine)) {
+               DRM_DEBUG_DRIVER("Restarting %s from requests [0x%x, 0x%x]\n",
+                                engine->name,
+                                port_seqno(&engine->execlist_port[0]),
+                                port_seqno(&engine->execlist_port[1]));
                engine->execlist_port[0].count = 0;
                engine->execlist_port[1].count = 0;
                execlists_submit_ports(engine);