[PATCH 3/3] dump

Chris Wilson chris at chris-wilson.co.uk
Sat Nov 23 10:51:23 UTC 2019


---
 drivers/gpu/drm/i915/gt/intel_gt.c | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_gt.c b/drivers/gpu/drm/i915/gt/intel_gt.c
index c4fd8d65b8a3..3e07a5eee7e4 100644
--- a/drivers/gpu/drm/i915/gt/intel_gt.c
+++ b/drivers/gpu/drm/i915/gt/intel_gt.c
@@ -378,9 +378,23 @@ int intel_gt_init(struct intel_gt *gt)
 	return 0;
 }
 
+static void dump(struct intel_gt *gt)
+{
+	struct drm_printer p = drm_err_printer("AWAKE");
+	struct intel_engine_cs *engine;
+	enum intel_engine_id id;
+
+	drm_printf(&p, "GT awake? %s [%d]\n",
+		   yesno(gt->awake),
+		   atomic_read(&gt->wakeref.count));
+	for_each_engine(engine, gt, id)
+		intel_engine_dump(engine, &p, "%s\n", engine->name);
+}
+
 void intel_gt_driver_remove(struct intel_gt *gt)
 {
-	GEM_BUG_ON(gt->awake);
+	if (GEM_DEBUG_WARN_ON(gt->awake))
+		dump(gt);
 }
 
 void intel_gt_driver_unregister(struct intel_gt *gt)
-- 
2.24.0



More information about the Intel-gfx-trybot mailing list