From: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Wire up the engine busy stats accounting to the GuC submission backend. Since there is not context out interrupt we need to place the accounting callbacks per-request in order to correctly pair with user interrupts. v2: Rebase. v3: Commit update. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> --- drivers/gpu/drm/i915/intel_guc_submission.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/intel_guc_submission.c b/drivers/gpu/drm/i915/intel_guc_submission.c index 912ff143d531..d80d2a3214da 100644 --- a/drivers/gpu/drm/i915/intel_guc_submission.c +++ b/drivers/gpu/drm/i915/intel_guc_submission.c @@ -781,6 +781,7 @@ static void guc_dequeue(struct intel_engine_cs *engine) INIT_LIST_HEAD(&rq->priotree.link); __i915_gem_request_submit(rq); + intel_engine_context_in(rq->engine); trace_i915_gem_request_in(rq, port_index(port, execlists)); last = rq; @@ -813,6 +814,7 @@ static void guc_submission_tasklet(unsigned long data) rq = port_request(&port[0]); while (rq && i915_gem_request_completed(rq)) { + intel_engine_context_out(rq->engine); trace_i915_gem_request_out(rq); i915_gem_request_put(rq); @@ -1453,8 +1455,6 @@ int intel_guc_submission_enable(struct intel_guc *guc) execlists->tasklet.func = guc_submission_tasklet; engine->park = guc_submission_park; engine->unpark = guc_submission_unpark; - - engine->flags &= ~I915_ENGINE_SUPPORTS_STATS; } return 0; -- 2.14.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx