[Intel-gfx] [PATCH v3] drm/i915: Set softmin frequency on idle->busy transition

Chris Wilson chris at chris-wilson.co.uk
Mon Jun 20 08:16:03 UTC 2016


On Mon, Jun 20, 2016 at 09:51:16AM +0200, Michał Winiarski wrote:
> If the GPU load is low enough, it's possible that we'll be stuck at idle
> frequency rather than transition into softmin frequency requested by
> userspace.
> 
> v2: Use intel_set_rps, drop vlv_set_idle
> v3: Back to vlv_set_idle, clamp to valid range
> 
> References: https://bugs.freedesktop.org/show_bug.cgi?id=89728
> Cc: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Imre Deak <imre.deak at intel.com>
> Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
> Signed-off-by: Michał Winiarski <michal.winiarski at intel.com>
> ---
>  drivers/gpu/drm/i915/intel_pm.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> index 658a756..a71f946 100644
> --- a/drivers/gpu/drm/i915/intel_pm.c
> +++ b/drivers/gpu/drm/i915/intel_pm.c
> @@ -4840,6 +4840,11 @@ void gen6_rps_busy(struct drm_i915_private *dev_priv)
>  {
>  	mutex_lock(&dev_priv->rps.hw_lock);
>  	if (dev_priv->rps.enabled) {
> +		/* Ensure we start at the user's desired frequency */
> +		intel_set_rps(dev_priv,
> +			      clamp(dev_priv->rps.cur_freq,
> +				    dev_priv->rps.min_freq_softlimit,
> +				    dev_priv->rps.max_freq_softlimit));

Make this last (after gen6_enable_rps_interrupts), then r.b

Moving it last means that we have onion placement with rps_idle, and we
don't need a silly comment explaining the apparent duplication of the
PMINTRMSK update.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the Intel-gfx mailing list