From: Tvrtko Ursulin <tvrtko.ursu...@intel.com>

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.ursu...@intel.com>
---
 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@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to