drm/i915: Show the execlist queue in debugfs/i915_engine_info
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 27 Oct 2016 00:03:43 +0000 (01:03 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Wed, 2 Nov 2016 15:02:00 +0000 (15:02 +0000)
When looking at freezes whilst working on execlists, knowing the order
of the pending requests in the driver is useful.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: http://patchwork.freedesktop.org/patch/msgid/20161027000348.4641-2-chris@chris-wilson.co.uk
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
drivers/gpu/drm/i915/i915_debugfs.c

index bc9c0cdeb3b3f40a034af41089b566789b1e2591..c9465fbff2dfd616a66acef533103510c3fa3f0f 100644 (file)
@@ -3255,6 +3255,12 @@ static int i915_engine_info(struct seq_file *m, void *unused)
                        else
                                seq_printf(m, "\t\tELSP[1] idle\n");
                        rcu_read_unlock();
+
+                       spin_lock_irq(&engine->execlist_lock);
+                       list_for_each_entry(rq, &engine->execlist_queue, execlist_link) {
+                               print_request(m, rq, "\t\tQ ");
+                       }
+                       spin_unlock_irq(&engine->execlist_lock);
                } else if (INTEL_GEN(dev_priv) > 6) {
                        seq_printf(m, "\tPP_DIR_BASE: 0x%08x\n",
                                   I915_READ(RING_PP_DIR_BASE(engine)));