[PATCH 1/3] drm/i915: Hold RPM reference while setting freq limits through debugfs

Kamble, Sagar A sagar.a.kamble at intel.com
Fri Sep 23 13:27:26 UTC 2016


Thanks for review.


On 9/23/2016 3:47 PM, Chris Wilson wrote:
> On Fri, Sep 23, 2016 at 03:22:26PM +0530, Sagar Arun Kamble wrote:
>> Ensure device is active while setting frequency limits as GEN6_RPNSWREQ
>> is accessed to set the frequency. Following assert helped catch this:
>> [drm:assert_rpm_wakelock_held] RPM wakelock ref not held during HW access
> The alternative would be to only touch the hw when busy, since we set
> the desired frequency on idle->busy transition. Something like
>
> diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> index 71797e1c6f42..9282426b6ed0 100644
> --- a/drivers/gpu/drm/i915/intel_pm.c
> +++ b/drivers/gpu/drm/i915/intel_pm.c
> @@ -5037,6 +5037,11 @@ void gen6_rps_boost(struct drm_i915_private *dev_priv,
>   
>   void intel_set_rps(struct drm_i915_private *dev_priv, u8 val)
>   {
> +	if (!dev_priv->gt.awake) {
> +		dev_priv->rps.cur_freq = val;
> +		return;
> +	}
> +
>   	if (IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv))
>   		valleyview_set_rps(dev_priv, val);
>   	else
>
> with a preceding lockdep_assert_held(dev_priv->rps.hw_lock);

Will pursue this approach.

> -Chris
>



More information about the Intel-gfx-trybot mailing list