All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel@ffwll.ch>
To: Chris Wilson <chris@chris-wilson.co.uk>,
	"O'Rourke, Tom" <Tom.O'Rourke@intel.com>,
	intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 1/2] drm/i915: Use efficient frequency for HSW/BDW
Date: Tue, 11 Nov 2014 16:13:09 +0100	[thread overview]
Message-ID: <20141111151309.GY25711@phenom.ffwll.local> (raw)
In-Reply-To: <20141108082504.GW3250@nuc-i3427.alporthouse.com>

On Sat, Nov 08, 2014 at 08:25:04AM +0000, Chris Wilson wrote:
> On Fri, Nov 07, 2014 at 02:25:38PM -0800, O'Rourke, Tom wrote:
> > On Fri, Nov 07, 2014 at 10:41:26AM +0000, Chris Wilson wrote:
> > > On Wed, Nov 05, 2014 at 05:31:34PM -0800, Tom.O'Rourke@intel.com wrote:
> > > > From: Tom O'Rourke <Tom.O'Rourke@intel.com>
> > > > 
> > > > Updated gen6|8_enable_rps() for Haswell and Broadwell
> > > > to use the efficient frequency read from pcode.
> > > > 
> > > > Added hsw_use_efficient_freq() to read efficient
> > > > frequency (aka RPe) from pcode.  The efficiency is
> > > > based on the frequency/power ratio (MHz/W); this is
> > > > considering GT power and not package power.  The
> > > > efficent frequency is the highest frequency for which
> > > > the frequency/power ratio is within some threshold of
> > > > the highest frequency/power ratio.
> > > > 
> > > > Also set the min_freq_softlimit to the efficient
> > > > frequency.  A fixed decrease in frequency results in
> > > > smaller decrease in power at frequencies less than RPe
> > > > than at frequencies above RPe.
> > > > 
> > > > Signed-off-by: Tom O'Rourke <Tom.O'Rourke@intel.com>
> > > > ---
> > > >  drivers/gpu/drm/i915/i915_reg.h |    1 +
> > > >  drivers/gpu/drm/i915/intel_pm.c |   22 ++++++++++++++++++++++
> > > >  2 files changed, 23 insertions(+)
> > > > 
> > > > diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> > > > index d43fa0e..6fbfdec 100644
> > > > --- a/drivers/gpu/drm/i915/i915_reg.h
> > > > +++ b/drivers/gpu/drm/i915/i915_reg.h
> > > > @@ -6010,6 +6010,7 @@ enum punit_power_well {
> > > >  #define   GEN6_ENCODE_RC6_VID(mv)		(((mv) - 245) / 5)
> > > >  #define   GEN6_DECODE_RC6_VID(vids)		(((vids) * 5) + 245)
> > > >  #define   DISPLAY_IPS_CONTROL			0x19
> > > > +#define	  HSW_PCODE_DYNAMIC_DUTY_CYCLE_CONTROL	0x1A
> > > >  #define GEN6_PCODE_DATA				0x138128
> > > >  #define   GEN6_PCODE_FREQ_IA_RATIO_SHIFT	8
> > > >  #define   GEN6_PCODE_FREQ_RING_RATIO_SHIFT	16
> > > > diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> > > > index 300d7e5..e4347d9 100644
> > > > --- a/drivers/gpu/drm/i915/intel_pm.c
> > > > +++ b/drivers/gpu/drm/i915/intel_pm.c
> > > > @@ -4706,6 +4706,18 @@ static void parse_rp_state_cap(struct drm_i915_private *dev_priv, u32 rp_state_c
> > > >  		dev_priv->rps.min_freq_softlimit = dev_priv->rps.min_freq;
> > > >  }
> > > >  
> > > > +static void hsw_use_efficient_freq(struct drm_i915_private *dev_priv)
> > > 
> > > use_efficient_freq() ?
> > > 
> > > Shouldn't this be:
> > > 
> > > parse_rp_state_cap()
> > >   {
> > >   ...
> > >   dev_priv->rps.efficient_freq = rps_rpe_freq(dev_priv);
> > >   ...
> > >   }
> > > 
> > The parse_rp_state_cap() function is for parsing the 
> > RP_STATE_CAP register.  The pcode read to get the 
> > efficient frequency seems out of scope.
> 
> Rename it then.  The function that sets rpe seems to be the ideal point
> to set rpe...

Well reading the rpe value seems to be platforms specific. I think
updating the comment as I've suggested is good enough, even when not
really pretty.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2014-11-11 15:12 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-06  1:31 [PATCH 0/2] Update turbo (rps) min frequency for HSW/BDW Tom.O'Rourke
2014-11-06  1:31 ` [PATCH 1/2] drm/i915: Use efficient " Tom.O'Rourke
2014-11-07  9:50   ` Daniel Vetter
2014-11-07 22:20     ` O'Rourke, Tom
2014-11-11 15:11       ` Daniel Vetter
2014-11-07 10:41   ` Chris Wilson
2014-11-07 22:25     ` O'Rourke, Tom
2014-11-08  8:25       ` Chris Wilson
2014-11-11 15:13         ` Daniel Vetter [this message]
2014-11-11 16:12           ` Chris Wilson
2014-11-12  8:37             ` Daniel Vetter
2014-11-06  1:31 ` [PATCH 2/2] drm/i915: Keep min freq above floor on HSW/BDW Tom.O'Rourke

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20141111151309.GY25711@phenom.ffwll.local \
    --to=daniel@ffwll.ch \
    --cc=Tom.O'Rourke@intel.com \
    --cc=chris@chris-wilson.co.uk \
    --cc=intel-gfx@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.