Message ID | 1405170974-14003-1-git-send-email-deepak.s@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
deepak.s@linux.intel.com writes: > From: Deepak S <deepak.s@linux.intel.com> > > This is useful for userspace utilities to verify and micromanaging > the increase/decrease frequncy. > > v2: Use vlv_gpu_freq to get freq (Deepak) > > Signed-off-by: Deepak S <deepak.s@linux.intel.com> > --- > drivers/gpu/drm/i915/intel_pm.c | 15 +++++++++++++++ > 1 file changed, 15 insertions(+) > > diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c > index 3fb65e9..225b6cb 100644 > --- a/drivers/gpu/drm/i915/intel_pm.c > +++ b/drivers/gpu/drm/i915/intel_pm.c > @@ -3809,6 +3809,16 @@ static int cherryview_rps_rpe_freq(struct drm_i915_private *dev_priv) > return rpe; > } > > +int cherryview_rps_guar_freq(struct drm_i915_private *dev_priv) ^^static Daniel said he will add it, missing in other patches too. Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com> > +{ > + u32 val, rp1; > + > + val = vlv_punit_read(dev_priv, PUNIT_REG_GPU_FREQ_STS); > + rp1 = (val >> PUNIT_GPU_STATUS_MAX_FREQ_SHIFT) & PUNIT_GPU_STATUS_MAX_FREQ_MASK; > + > + return rp1; > +} > + > int cherryview_rps_min_freq(struct drm_i915_private *dev_priv) > { > u32 val, rpn; > @@ -4010,6 +4020,11 @@ static void cherryview_init_gt_powersave(struct drm_device *dev) > vlv_gpu_freq(dev_priv, dev_priv->rps.efficient_freq), > dev_priv->rps.efficient_freq); > > + dev_priv->rps.rp1_freq = cherryview_rps_guar_freq(dev_priv); > + DRM_DEBUG_DRIVER("RP1(Guar) GPU freq: %d MHz (%u)\n", > + vlv_gpu_freq(dev_priv, dev_priv->rps.rp1_freq), > + dev_priv->rps.rp1_freq); > + > dev_priv->rps.min_freq = cherryview_rps_min_freq(dev_priv); > DRM_DEBUG_DRIVER("min GPU freq: %d MHz (%u)\n", > vlv_gpu_freq(dev_priv, dev_priv->rps.min_freq), > -- > 1.9.1 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
On Fri, Jul 11, 2014 at 07:07:33PM +0300, Mika Kuoppala wrote: > deepak.s@linux.intel.com writes: > > > From: Deepak S <deepak.s@linux.intel.com> > > > > This is useful for userspace utilities to verify and micromanaging > > the increase/decrease frequncy. > > > > v2: Use vlv_gpu_freq to get freq (Deepak) > > > > Signed-off-by: Deepak S <deepak.s@linux.intel.com> > > --- > > drivers/gpu/drm/i915/intel_pm.c | 15 +++++++++++++++ > > 1 file changed, 15 insertions(+) > > > > diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c > > index 3fb65e9..225b6cb 100644 > > --- a/drivers/gpu/drm/i915/intel_pm.c > > +++ b/drivers/gpu/drm/i915/intel_pm.c > > @@ -3809,6 +3809,16 @@ static int cherryview_rps_rpe_freq(struct drm_i915_private *dev_priv) > > return rpe; > > } > > > > +int cherryview_rps_guar_freq(struct drm_i915_private *dev_priv) > ^^static > Daniel said he will add it, missing in other patches too. > > Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com> Ok, I've stitched it together and merged to dinq, thanks. -Daniel > > > +{ > > + u32 val, rp1; > > + > > + val = vlv_punit_read(dev_priv, PUNIT_REG_GPU_FREQ_STS); > > + rp1 = (val >> PUNIT_GPU_STATUS_MAX_FREQ_SHIFT) & PUNIT_GPU_STATUS_MAX_FREQ_MASK; > > + > > + return rp1; > > +} > > + > > int cherryview_rps_min_freq(struct drm_i915_private *dev_priv) > > { > > u32 val, rpn; > > @@ -4010,6 +4020,11 @@ static void cherryview_init_gt_powersave(struct drm_device *dev) > > vlv_gpu_freq(dev_priv, dev_priv->rps.efficient_freq), > > dev_priv->rps.efficient_freq); > > > > + dev_priv->rps.rp1_freq = cherryview_rps_guar_freq(dev_priv); > > + DRM_DEBUG_DRIVER("RP1(Guar) GPU freq: %d MHz (%u)\n", > > + vlv_gpu_freq(dev_priv, dev_priv->rps.rp1_freq), > > + dev_priv->rps.rp1_freq); > > + > > dev_priv->rps.min_freq = cherryview_rps_min_freq(dev_priv); > > DRM_DEBUG_DRIVER("min GPU freq: %d MHz (%u)\n", > > vlv_gpu_freq(dev_priv, dev_priv->rps.min_freq), > > -- > > 1.9.1 > > > > _______________________________________________ > > Intel-gfx mailing list > > Intel-gfx@lists.freedesktop.org > > http://lists.freedesktop.org/mailman/listinfo/intel-gfx > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c index 3fb65e9..225b6cb 100644 --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c @@ -3809,6 +3809,16 @@ static int cherryview_rps_rpe_freq(struct drm_i915_private *dev_priv) return rpe; } +int cherryview_rps_guar_freq(struct drm_i915_private *dev_priv) +{ + u32 val, rp1; + + val = vlv_punit_read(dev_priv, PUNIT_REG_GPU_FREQ_STS); + rp1 = (val >> PUNIT_GPU_STATUS_MAX_FREQ_SHIFT) & PUNIT_GPU_STATUS_MAX_FREQ_MASK; + + return rp1; +} + int cherryview_rps_min_freq(struct drm_i915_private *dev_priv) { u32 val, rpn; @@ -4010,6 +4020,11 @@ static void cherryview_init_gt_powersave(struct drm_device *dev) vlv_gpu_freq(dev_priv, dev_priv->rps.efficient_freq), dev_priv->rps.efficient_freq); + dev_priv->rps.rp1_freq = cherryview_rps_guar_freq(dev_priv); + DRM_DEBUG_DRIVER("RP1(Guar) GPU freq: %d MHz (%u)\n", + vlv_gpu_freq(dev_priv, dev_priv->rps.rp1_freq), + dev_priv->rps.rp1_freq); + dev_priv->rps.min_freq = cherryview_rps_min_freq(dev_priv); DRM_DEBUG_DRIVER("min GPU freq: %d MHz (%u)\n", vlv_gpu_freq(dev_priv, dev_priv->rps.min_freq),