[Intel-gfx] [PATCH] drm/i915/pmu: Clear the previous sample value when parking
Tvrtko Ursulin
tvrtko.ursulin at linux.intel.com
Thu Nov 23 06:56:02 UTC 2017
On 23/11/2017 00:06, Chris Wilson wrote:
> When turning off the engines, and the pmu sampling, clear the previous
> value as the current measurement should be 0.
>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> ---
> drivers/gpu/drm/i915/i915_pmu.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/i915_pmu.c b/drivers/gpu/drm/i915/i915_pmu.c
> index f1e932a3fb85..6f1316f5039a 100644
> --- a/drivers/gpu/drm/i915/i915_pmu.c
> +++ b/drivers/gpu/drm/i915/i915_pmu.c
> @@ -135,9 +135,18 @@ static bool pmu_needs_timer(struct drm_i915_private *i915, bool gpu_active)
>
> void i915_pmu_gt_parked(struct drm_i915_private *i915)
> {
> + struct intel_engine_cs *engine;
> + enum intel_engine_id id;
> +
> if (!i915->pmu.base.event_init)
> return;
>
> + for_each_engine(engine, i915, id) {
> + engine->pmu.sample[I915_SAMPLE_BUSY].prev = 0;
> + engine->pmu.sample[I915_SAMPLE_WAIT].prev = 0;
> + engine->pmu.sample[I915_SAMPLE_SEMA].prev = 0;
> + }
> +
> spin_lock_irq(&i915->pmu.lock);
> /*
> * Signal sampling timer to stop if only engine events are enabled and
>
Yes, this is indeed required.
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
Mind if I change it to use a loop to I915_ENGINE_SAMPLE_MAX, and then
follow up with a patch which moves this define from uapi to i915_pmu.h?
Since during engine classes we realized "/* non-ABI */" enums do not
make sense in the uapi?
Regards,
Tvrtko
More information about the Intel-gfx
mailing list