[PATCH 2/3] idle
Chris Wilson
chris at chris-wilson.co.uk
Wed May 27 22:21:58 UTC 2020
---
drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c b/drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c
index 5136c8bf112d..fbaaf92a41b1 100644
--- a/drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c
+++ b/drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c
@@ -48,8 +48,10 @@ static void show_heartbeat(const struct i915_request *rq,
struct drm_printer p = drm_debug_printer("heartbeat");
intel_engine_dump(engine, &p,
- "%s heartbeat {prio:%d} not ticking\n",
+ "%s heartbeat {seqno:%llx:%lld, prio:%d} not ticking\n",
engine->name,
+ rq->fence.context,
+ rq->fence.seqno,
rq->sched.attr.priority);
}
@@ -64,6 +66,13 @@ static void heartbeat(struct work_struct *wrk)
struct i915_request *rq;
rq = engine->heartbeat.systole;
+
+ if (rq && intel_engine_is_idle(engine)) {
+ i915_request_put(rq);
+ engine->heartbeat.systole = NULL;
+ return;
+ }
+
if (rq && i915_request_completed(rq)) {
i915_request_put(rq);
engine->heartbeat.systole = NULL;
--
2.20.1
More information about the Intel-gfx-trybot
mailing list