OSDN Git Service

drm/i915/gt: Include context status in debug dumps
authorChris Wilson <chris@chris-wilson.co.uk>
Wed, 10 Jun 2020 15:40:46 +0000 (16:40 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Wed, 10 Jun 2020 15:47:31 +0000 (16:47 +0100)
This may be useful to identify contexts that are running even though
they are supposed to be closed or banned.

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/20200610154046.22449-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gt/intel_engine_cs.c

index 0a05301..d613cf3 100644 (file)
@@ -1421,9 +1421,11 @@ static void intel_engine_print_registers(struct intel_engine_cs *engine,
                        int len;
 
                        len = scnprintf(hdr, sizeof(hdr),
-                                       "\t\tActive[%d]:  ccid:%08x, ",
+                                       "\t\tActive[%d]:  ccid:%08x%s%s, ",
                                        (int)(port - execlists->active),
-                                       rq->context->lrc.ccid);
+                                       rq->context->lrc.ccid,
+                                       intel_context_is_closed(rq->context) ? "!" : "",
+                                       intel_context_is_banned(rq->context) ? "*" : "");
                        len += print_ring(hdr + len, sizeof(hdr) - len, rq);
                        scnprintf(hdr + len, sizeof(hdr) - len, "rq: ");
                        print_request(m, rq, hdr);
@@ -1433,9 +1435,11 @@ static void intel_engine_print_registers(struct intel_engine_cs *engine,
                        int len;
 
                        len = scnprintf(hdr, sizeof(hdr),
-                                       "\t\tPending[%d]: ccid:%08x, ",
+                                       "\t\tPending[%d]: ccid:%08x%s%s, ",
                                        (int)(port - execlists->pending),
-                                       rq->context->lrc.ccid);
+                                       rq->context->lrc.ccid,
+                                       intel_context_is_closed(rq->context) ? "!" : "",
+                                       intel_context_is_banned(rq->context) ? "*" : "");
                        len += print_ring(hdr + len, sizeof(hdr) - len, rq);
                        scnprintf(hdr + len, sizeof(hdr) - len, "rq: ");
                        print_request(m, rq, hdr);