drm/i915: Show engine state when hangcheck detects a stall
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 14 Dec 2017 12:26:13 +0000 (12:26 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Thu, 14 Dec 2017 14:56:53 +0000 (14:56 +0000)
Knowing the state of the engine when hangcheck thinks it is stalling is
useful for both debugging hangcheck itself and the potential cause of an
unwanted stall.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171214122613.26134-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/intel_hangcheck.c

index 95bbb5a79c4f8e068411adc8ba0624740f2db391..0acd9dd3ed5ceb01d1295bfcde7ebad1e71a05f7 100644 (file)
@@ -349,13 +349,18 @@ static void hangcheck_accumulate_sample(struct intel_engine_cs *engine,
 
        case ENGINE_ACTIVE_HEAD:
        case ENGINE_ACTIVE_SUBUNITS:
-               /* Seqno stuck with still active engine gets leeway,
+               /*
+                * Seqno stuck with still active engine gets leeway,
                 * in hopes that it is just a long shader.
                 */
                timeout = I915_SEQNO_DEAD_TIMEOUT;
                break;
 
        case ENGINE_DEAD:
+               if (drm_debug & DRM_UT_DRIVER) {
+                       struct drm_printer p = drm_debug_printer("hangcheck");
+                       intel_engine_dump(engine, &p, "%s", engine->name);
+               }
                break;
 
        default: