[Intel-gfx] [PATCH 3/4] drm/i915/pmu: Cheat when reading the actual frequency to avoid fw
Tvrtko Ursulin
tvrtko.ursulin at linux.intel.com
Fri Nov 8 10:19:11 UTC 2019
On 08/11/2019 08:56, Chris Wilson wrote:
> We want to avoid taking forcewake when querying the performance stats,
> as we wish to avoid perturbing the system under observation. (And with
> the forcewake being kept alive for 1ms after use, sampling the frequency
> from a timer keeps forcewake 60% active.)
>
> 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 | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_pmu.c b/drivers/gpu/drm/i915/i915_pmu.c
> index 05395015d1f2..dbde80a376cb 100644
> --- a/drivers/gpu/drm/i915/i915_pmu.c
> +++ b/drivers/gpu/drm/i915/i915_pmu.c
> @@ -366,8 +366,12 @@ frequency_sample(struct intel_gt *gt, unsigned int period_ns)
>
> val = rps->cur_freq;
> if (intel_gt_pm_get_if_awake(gt)) {
> - val = intel_uncore_read_notrace(uncore, GEN6_RPSTAT1);
> - val = intel_get_cagf(rps, val);
> + u32 stat;
> +
> + stat = intel_uncore_read_fw(uncore, GEN6_RPSTAT1);
> + if (stat)
> + val = intel_get_cagf(rps, stat);
> +
> intel_gt_pm_put(gt);
> }
>
>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
Regards,
Tvrtko
More information about the Intel-gfx
mailing list