Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/i915: Show all active engines on hangcheck

This turns out to be quite useful if one happens to be debugging
semaphore deadlocks.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190121222117.23305-4-chris@chris-wilson.co.uk

+11 -4
+11 -4
drivers/gpu/drm/i915/intel_hangcheck.c
··· 195 195 break; 196 196 197 197 case ENGINE_DEAD: 198 - if (GEM_SHOW_DEBUG()) { 199 - struct drm_printer p = drm_debug_printer("hangcheck"); 200 - intel_engine_dump(engine, &p, "%s\n", engine->name); 201 - } 202 198 break; 203 199 204 200 default: ··· 279 283 280 284 if (engine->hangcheck.wedged) 281 285 wedged |= intel_engine_flag(engine); 286 + } 287 + 288 + if (GEM_SHOW_DEBUG() && (hung | stuck)) { 289 + struct drm_printer p = drm_debug_printer("hangcheck"); 290 + 291 + for_each_engine(engine, dev_priv, id) { 292 + if (intel_engine_is_idle(engine)) 293 + continue; 294 + 295 + intel_engine_dump(engine, &p, "%s\n", engine->name); 296 + } 282 297 } 283 298 284 299 if (wedged) {