From: Dave Gordon <david.s.gor...@intel.com>

For: VIZ-2021
Signed-off-by: Dave Gordon <david.s.gor...@intel.com>
---
 drivers/gpu/drm/i915/i915_drv.h       | 1 +
 drivers/gpu/drm/i915/i915_gpu_error.c | 5 +++++
 2 files changed, 6 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 9bece1e..06dff5a 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -584,6 +584,7 @@ struct drm_i915_error_state {
                        u32 tail;
                        u32 submission_count;
                        u64 ringbuffer_gtt;
+                       char scheduler_state;
                } *requests;
 
                struct {
diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c 
b/drivers/gpu/drm/i915/i915_gpu_error.c
index 346c831..2d9dd3f 100644
--- a/drivers/gpu/drm/i915/i915_gpu_error.c
+++ b/drivers/gpu/drm/i915/i915_gpu_error.c
@@ -614,10 +614,12 @@ int i915_error_state_to_str(struct 
drm_i915_error_state_buf *m,
                                err_printf(m, "  seqno 0x%08x, ringbuf 0x%llx "
                                              "head 0x%08x tail 0x%08x, "
                                              "emitted %ld, %d submissions, "
+                                             "sched %c "
                                              "ctx_desc 0x%08x_%08x\n",
                                        erq->seqno, erq->ringbuffer_gtt,
                                        erq->head, erq->tail,
                                        erq->jiffies, erq->submission_count,
+                                       erq->scheduler_state,
                                        upper_32_bits(erq->ctx_desc),
                                        lower_32_bits(erq->ctx_desc));
                        }
@@ -1296,6 +1298,7 @@ static void i915_gem_record_rings(struct drm_device *dev,
 
                count = 0;
                list_for_each_entry(request, &ring->request_list, list) {
+                       struct i915_scheduler_queue_entry *sqe = 
request->scheduler_qe;
                        struct intel_context *ctx = request->ctx;
                        struct drm_i915_error_request *erq;
 
@@ -1326,6 +1329,8 @@ static void i915_gem_record_rings(struct drm_device *dev,
                        erq->head = request->head;
                        erq->submission_count = request->elsp_submitted;
                        erq->ringbuffer_gtt = 
i915_gem_obj_ggtt_offset(request->ringbuf->obj);
+                       erq->scheduler_state = !sqe ? 'u' :
+                               i915_scheduler_queue_status_chr(sqe->status);
                }
        }
 }
-- 
1.9.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to