Commit edb1ecad authored by Chris Wilson's avatar Chris Wilson

drm/i915/pmu: Skip sampling engines if gt is asleep

If the whole GT is asleep, we know that each engine must also be asleep
and so we can quickly return without checking them all.
Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191218000756.3475668-1-chris@chris-wilson.co.uk
parent 54d7195f
...@@ -312,6 +312,9 @@ engines_sample(struct intel_gt *gt, unsigned int period_ns) ...@@ -312,6 +312,9 @@ engines_sample(struct intel_gt *gt, unsigned int period_ns)
if ((i915->pmu.enable & ENGINE_SAMPLE_MASK) == 0) if ((i915->pmu.enable & ENGINE_SAMPLE_MASK) == 0)
return; return;
if (!intel_gt_pm_is_awake(gt))
return;
for_each_engine(engine, gt, id) { for_each_engine(engine, gt, id) {
struct intel_engine_pmu *pmu = &engine->pmu; struct intel_engine_pmu *pmu = &engine->pmu;
spinlock_t *mmio_lock; spinlock_t *mmio_lock;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment