[Intel-gfx] [PATCH 1/1] drm/i915: Hold RPM wakelock while initializing OA buffer

Lionel Landwerlin lionel.g.landwerlin at intel.com
Wed Jun 28 10:44:47 UTC 2017


Hi Sagar,

Thanks for this patch, it all looks good to me :

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>

On 27/06/17 20: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