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

Winiarski, Michal michal.winiarski at intel.com
Mon Jun 20 10:00:01 UTC 2016


On Mon, 2016-06-20 at 09:16 +0100, Chris Wilson wrote:
> 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

drm-intel tree is not doing gen6_enable_rps_interrupts there yet ;)

-Michał


More information about the Intel-gfx mailing list