[Intel-gfx] [PATCH 1/1] drm/i915: Hold RPM wakelock while initializing OA buffer
Lionel Landwerlin
lionel.g.landwerlin at intel.com
Thu Jun 29 09:35:25 UTC 2017
Cc: drm-intel-fixes at lists.freedesktop.org
Fixes: d79651522e89c ("drm/i915: Enable i915 perf stream for Haswell OA
unit")
On 27/06/17 18:39, Sagar Arun Kamble wrote:
> OA buffer initialization involves access to HW registers to set
> the OA base, head and tail. Ensure device is awake while setting
> these. With this, all oa.ops are covered under RPM and forcewake
> wakelock.
>
> Cc: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
> Signed-off-by: Sagar Arun Kamble <sagar.a.kamble at intel.com>
> ---
> drivers/gpu/drm/i915/i915_perf.c | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_perf.c b/drivers/gpu/drm/i915/i915_perf.c
> index 38c4440..9cd22f8 100644
> --- a/drivers/gpu/drm/i915/i915_perf.c
> +++ b/drivers/gpu/drm/i915/i915_perf.c
> @@ -2067,10 +2067,6 @@ static int i915_oa_stream_init(struct i915_perf_stream *stream,
> return ret;
> }
>
> - ret = alloc_oa_buffer(dev_priv);
> - if (ret)
> - goto err_oa_buf_alloc;
> -
> /* PRM - observability performance counters:
> *
> * OACONTROL, performance counter enable, note:
> @@ -2086,6 +2082,10 @@ static int i915_oa_stream_init(struct i915_perf_stream *stream,
> intel_runtime_pm_get(dev_priv);
> intel_uncore_forcewake_get(dev_priv, FORCEWAKE_ALL);
>
> + ret = alloc_oa_buffer(dev_priv);
> + if (ret)
> + goto err_oa_buf_alloc;
> +
> ret = dev_priv->perf.oa.ops.enable_metric_set(dev_priv);
> if (ret)
> goto err_enable;
> @@ -2097,11 +2097,11 @@ static int i915_oa_stream_init(struct i915_perf_stream *stream,
> return 0;
>
> err_enable:
> - intel_uncore_forcewake_put(dev_priv, FORCEWAKE_ALL);
> - intel_runtime_pm_put(dev_priv);
> free_oa_buffer(dev_priv);
>
> err_oa_buf_alloc:
> + intel_uncore_forcewake_put(dev_priv, FORCEWAKE_ALL);
> + intel_runtime_pm_put(dev_priv);
> if (stream->ctx)
> oa_put_render_ctx_id(stream);
>
More information about the Intel-gfx
mailing list