drm/xe: Add GuC Submit Engine snapshot to xe_devcoredump.
authorRodrigo Vivi <rodrigo.vivi@intel.com>
Tue, 16 May 2023 14:54:13 +0000 (10:54 -0400)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Tue, 19 Dec 2023 23:33:52 +0000 (18:33 -0500)
Let's start to move our existent logs to devcoredump one by
one. Any format change should come on follow-up work.

Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
drivers/gpu/drm/xe/xe_devcoredump.c
drivers/gpu/drm/xe/xe_devcoredump_types.h

index b0e3db1..7296c01 100644 (file)
@@ -12,6 +12,7 @@
 #include "xe_engine.h"
 #include "xe_gt.h"
 #include "xe_guc_ct.h"
+#include "xe_guc_submit.h"
 
 /**
  * DOC: Xe device coredump
@@ -86,6 +87,7 @@ static ssize_t xe_devcoredump_read(char *buffer, loff_t offset,
 
        drm_printf(&p, "\n**** GuC CT ****\n");
        xe_guc_ct_snapshot_print(coredump->snapshot.ct, &p);
+       xe_guc_engine_snapshot_print(coredump->snapshot.ge, &p);
 
        return count - iter.remain;
 }
@@ -99,6 +101,7 @@ static void xe_devcoredump_free(void *data)
                return;
 
        xe_guc_ct_snapshot_free(coredump->snapshot.ct);
+       xe_guc_engine_snapshot_free(coredump->snapshot.ge);
 
        coredump->captured = false;
        drm_info(&coredump_to_xe(coredump)->drm,
@@ -117,6 +120,7 @@ static void devcoredump_snapshot(struct xe_devcoredump *coredump,
 
        cookie = dma_fence_begin_signalling();
        coredump->snapshot.ct = xe_guc_ct_snapshot_capture(&guc->ct, true);
+       coredump->snapshot.ge = xe_guc_engine_snapshot_capture(e);
        dma_fence_end_signalling(cookie);
 }
 
index 4e3371c..7c64532 100644 (file)
@@ -27,6 +27,8 @@ struct xe_devcoredump_snapshot {
        /* GuC snapshots */
        /** @ct_snapshot: GuC CT snapshot */
        struct xe_guc_ct_snapshot *ct;
+       /** @ge: Guc Engine snapshot */
+       struct xe_guc_submit_engine_snapshot *ge;
 };
 
 /**