public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
From: Deepak S <deepak.s@linux.intel.com>
To: ville.syrjala@linux.intel.com, intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 02/40] drm/i915: Use the cached min/min/rpe values in the vlv debugfs code
Date: Sat, 12 Jul 2014 19:00:05 +0530	[thread overview]
Message-ID: <53C1385D.9060908@linux.intel.com> (raw)
In-Reply-To: <1403910271-24984-3-git-send-email-ville.syrjala@linux.intel.com>


On Saturday 28 June 2014 04:33 AM, ville.syrjala@linux.intel.com wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> No need to re-read the hardware rps fuses when we already have all the
> values tucked away in dev_priv->rps.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
>   drivers/gpu/drm/i915/i915_debugfs.c | 19 ++++++++++---------
>   drivers/gpu/drm/i915/i915_drv.h     |  2 --
>   drivers/gpu/drm/i915/intel_pm.c     |  8 ++++----
>   3 files changed, 14 insertions(+), 15 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> index a93b3bf..415010e 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -1131,20 +1131,21 @@ static int i915_frequency_info(struct seq_file *m, void *unused)
>   		seq_printf(m, "Max overclocked frequency: %dMHz\n",
>   			   dev_priv->rps.max_freq * GT_FREQUENCY_MULTIPLIER);
>   	} else if (IS_VALLEYVIEW(dev)) {
> -		u32 freq_sts, val;
> +		u32 freq_sts;
>   
>   		mutex_lock(&dev_priv->rps.hw_lock);
>   		freq_sts = vlv_punit_read(dev_priv, PUNIT_REG_GPU_FREQ_STS);
>   		seq_printf(m, "PUNIT_REG_GPU_FREQ_STS: 0x%08x\n", freq_sts);
>   		seq_printf(m, "DDR freq: %d MHz\n", dev_priv->mem_freq);
>   
> -		val = valleyview_rps_max_freq(dev_priv);
>   		seq_printf(m, "max GPU freq: %d MHz\n",
> -			   vlv_gpu_freq(dev_priv, val));
> +			   dev_priv->rps.max_freq);
>   
> -		val = valleyview_rps_min_freq(dev_priv);
>   		seq_printf(m, "min GPU freq: %d MHz\n",
> -			   vlv_gpu_freq(dev_priv, val));
> +			   dev_priv->rps.min_freq);
> +
> +		seq_printf(m, "efficient (RPe) frequency: %d MHz\n",
> +			   dev_priv->rps.efficient_freq);
>   
>   		seq_printf(m, "current GPU freq: %d MHz\n",
>   			   vlv_gpu_freq(dev_priv, (freq_sts >> 8) & 0xff));
> @@ -3565,8 +3566,8 @@ i915_max_freq_set(void *data, u64 val)
>   	if (IS_VALLEYVIEW(dev)) {
>   		val = vlv_freq_opcode(dev_priv, val);
>   
> -		hw_max = valleyview_rps_max_freq(dev_priv);
> -		hw_min = valleyview_rps_min_freq(dev_priv);
> +		hw_max = dev_priv->rps.max_freq;
> +		hw_min = dev_priv->rps.min_freq;
>   	} else {
>   		do_div(val, GT_FREQUENCY_MULTIPLIER);
>   
> @@ -3646,8 +3647,8 @@ i915_min_freq_set(void *data, u64 val)
>   	if (IS_VALLEYVIEW(dev)) {
>   		val = vlv_freq_opcode(dev_priv, val);
>   
> -		hw_max = valleyview_rps_max_freq(dev_priv);
> -		hw_min = valleyview_rps_min_freq(dev_priv);
> +		hw_max = dev_priv->rps.max_freq;
> +		hw_min = dev_priv->rps.min_freq;
>   	} else {
>   		do_div(val, GT_FREQUENCY_MULTIPLIER);
>   
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 8cea596..38859d1 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -2646,8 +2646,6 @@ extern bool ironlake_set_drps(struct drm_device *dev, u8 val);
>   extern void intel_init_pch_refclk(struct drm_device *dev);
>   extern void gen6_set_rps(struct drm_device *dev, u8 val);
>   extern void valleyview_set_rps(struct drm_device *dev, u8 val);
> -extern int valleyview_rps_max_freq(struct drm_i915_private *dev_priv);
> -extern int valleyview_rps_min_freq(struct drm_i915_private *dev_priv);
>   extern void intel_detect_pch(struct drm_device *dev);
>   extern int intel_trans_dp_port_sel(struct drm_crtc *crtc);
>   extern int intel_enable_rc6(const struct drm_device *dev);
> diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> index ef00756..10c9c02 100644
> --- a/drivers/gpu/drm/i915/intel_pm.c
> +++ b/drivers/gpu/drm/i915/intel_pm.c
> @@ -3729,7 +3729,7 @@ void gen6_update_ring_freq(struct drm_device *dev)
>   	mutex_unlock(&dev_priv->rps.hw_lock);
>   }
>   
> -int cherryview_rps_max_freq(struct drm_i915_private *dev_priv)
> +static int cherryview_rps_max_freq(struct drm_i915_private *dev_priv)
>   {
>   	u32 val, rp0;
>   
> @@ -3749,7 +3749,7 @@ static int cherryview_rps_rpe_freq(struct drm_i915_private *dev_priv)
>   	return rpe;
>   }
>   
> -int cherryview_rps_min_freq(struct drm_i915_private *dev_priv)
> +static int cherryview_rps_min_freq(struct drm_i915_private *dev_priv)
>   {
>   	u32 val, rpn;
>   
> @@ -3758,7 +3758,7 @@ int cherryview_rps_min_freq(struct drm_i915_private *dev_priv)
>   	return rpn;
>   }
>   
> -int valleyview_rps_max_freq(struct drm_i915_private *dev_priv)
> +static int valleyview_rps_max_freq(struct drm_i915_private *dev_priv)
>   {
>   	u32 val, rp0;
>   
> @@ -3783,7 +3783,7 @@ static int valleyview_rps_rpe_freq(struct drm_i915_private *dev_priv)
>   	return rpe;
>   }
>   
> -int valleyview_rps_min_freq(struct drm_i915_private *dev_priv)
> +static int valleyview_rps_min_freq(struct drm_i915_private *dev_priv)
>   {
>   	return vlv_punit_read(dev_priv, PUNIT_REG_GPU_LFM) & 0xff;
>   }

Looks good. Reviewed-by: Deepak S <deepak.s@linux.intel.com>

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2014-07-11 13:35 UTC|newest]

Thread overview: 109+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-27 23:03 [PATCH 00/40] CHV stuff mostly ville.syrjala
2014-06-27 23:03 ` [PATCH 01/40] drm/i915: Try to populate mem_freq for chv ville.syrjala
2014-07-12 13:27   ` Deepak S
2014-06-27 23:03 ` [PATCH 02/40] drm/i915: Use the cached min/min/rpe values in the vlv debugfs code ville.syrjala
2014-07-12 13:30   ` Deepak S [this message]
2014-07-11 14:04     ` Daniel Vetter
2014-06-27 23:03 ` [PATCH 03/40] drm/i915: Align chv rps min/max/rpe values ville.syrjala
2014-07-12 13:46   ` Deepak S
2014-07-28 15:17     ` Ville Syrjälä
2014-06-27 23:03 ` [PATCH 04/40] drm/i915: Populate mem_freq in init_gt_powerwave() ville.syrjala
2014-06-27 23:03 ` [PATCH 05/40] drm/i915: Don't disable PPGTT for CHV based in PCI rev ville.syrjala
2014-07-12 13:48   ` Deepak S
2014-07-11 13:59     ` Daniel Vetter
2014-06-27 23:03 ` [PATCH 06/40] drm/i915: Add cdclk change support for chv ville.syrjala
2014-07-29 16:51   ` Jesse Barnes
2014-07-29 17:59     ` Daniel Vetter
2014-07-29 18:07       ` Jesse Barnes
2014-07-29 18:39     ` Ville Syrjälä
2014-06-27 23:03 ` [PATCH 07/40] drm/i915: Disable cdclk changes for chv until Punit is ready ville.syrjala
2014-07-29 16:51   ` Jesse Barnes
2014-06-27 23:03 ` [PATCH 08/40] drm/i915: Leave DPLL ref clocks on ville.syrjala
2014-07-29 16:51   ` Jesse Barnes
2014-06-27 23:04 ` [PATCH 09/40] drm/i915: Split chv_update_pll() apart ville.syrjala
2014-07-29 16:53   ` Jesse Barnes
2014-06-27 23:04 ` [PATCH 10/40] drm/i915: Call encoder->post_disable() in intel_sanitize_encoder() ville.syrjala
2014-07-11 14:46   ` Barbalho, Rafael
2014-06-27 23:04 ` [PATCH 11/40] drm/i915: Call intel_{dp, hdmi}_prepare for chv ville.syrjala
2014-07-29 16:54   ` Jesse Barnes
2014-06-27 23:04 ` [PATCH 12/40] drm/i915: Clarify CHV swing margin/deemph bits ville.syrjala
2014-07-29 16:55   ` Jesse Barnes
2014-07-29 19:09     ` Daniel Vetter
2014-06-27 23:04 ` [PATCH 13/40] drm/i915: Make sure hardware uses the correct swing margin/deemph bits on chv ville.syrjala
2014-06-27 23:04 ` [PATCH 14/40] drm/i915: Override display PHY TX FIFO reset master " ville.syrjala
2014-07-29 16:57   ` Jesse Barnes
2014-08-01 13:10     ` Ville Syrjälä
2014-06-27 23:04 ` [PATCH 15/40] drm/i915: Clear TX FIFO reset master override bits " ville.syrjala
2014-08-01 13:23   ` [PATCH v2 " ville.syrjala
2014-06-27 23:04 ` [PATCH 16/40] drm/i915: Add chv_power_wells[] ville.syrjala
2014-07-11 14:09   ` Barbalho, Rafael
2014-07-30 11:18     ` Daniel Vetter
2014-06-27 23:04 ` [PATCH 17/40] drm/i915: Add chv cmnlane power wells ville.syrjala
2014-07-25 11:55   ` Imre Deak
2014-07-28 15:18     ` Ville Syrjälä
2014-06-27 23:04 ` [PATCH 18/40] drm/i915: Kill intel_reset_dpio() ville.syrjala
2014-07-25 11:56   ` Imre Deak
2014-06-27 23:04 ` [PATCH 19/40] drm/i915: Add disp2d power well for chv ville.syrjala
2014-07-25 13:23   ` Imre Deak
2014-06-27 23:04 ` [PATCH 20/40] drm/i915: Add per-pipe power wells " ville.syrjala
2014-07-25 13:24   ` Imre Deak
2014-06-27 23:04 ` [PATCH 21/40] drm/i915: Add chv port B and C TX wells ville.syrjala
2014-07-25 13:25   ` Imre Deak
2014-06-27 23:04 ` [PATCH 22/40] drm/i915: Add chv port D " ville.syrjala
2014-07-25 13:30   ` Imre Deak
2014-07-28  9:11     ` Daniel Vetter
2014-07-28 15:19     ` Ville Syrjälä
2014-07-29  9:54       ` Imre Deak
2014-07-29 10:27         ` Daniel Vetter
2014-06-27 23:04 ` [PATCH 23/40] drm/i915: Fix drain latency precision multipler for VLV ville.syrjala
2014-07-31 15:08   ` Paulo Zanoni
2014-07-31 15:16     ` Ville Syrjälä
2014-07-31 17:05       ` Paulo Zanoni
2014-07-31 17:13         ` Ville Syrjälä
2014-07-31 18:06           ` Paulo Zanoni
2014-06-27 23:04 ` [PATCH 24/40] drm/i915: Fix threshold for choosing 32 vs. 64 precisions for VLV DDL values ville.syrjala
2014-07-31 18:08   ` Paulo Zanoni
2014-08-01 12:33     ` Ville Syrjälä
2014-06-27 23:04 ` [PATCH 25/40] drm/i915: Fill out the FWx watermark register defines ville.syrjala
2014-07-31 20:16   ` Paulo Zanoni
2014-08-01 11:26     ` Ville Syrjälä
2014-08-01 12:28     ` [PATCH v2 " ville.syrjala
2014-06-27 23:04 ` [PATCH 26/40] drm/i915: Parametrize VLV_DDL registers ville.syrjala
2014-07-30 20:43   ` Paulo Zanoni
2014-07-31 12:05     ` Ville Syrjälä
2014-07-31 12:11     ` [PATCH v2 " ville.syrjala
2014-06-27 23:04 ` [PATCH 27/40] drm/i915: Split a few long debug prints ville.syrjala
2014-07-29 16:59   ` Jesse Barnes
2014-06-27 23:04 ` [PATCH 28/40] drm/i915: Add cherryview_update_wm() ville.syrjala
2014-07-31 20:57   ` Paulo Zanoni
2014-08-01 11:33     ` Ville Syrjälä
2014-08-01 12:36     ` [PATCH v2 " ville.syrjala
2014-08-01 14:29       ` Paulo Zanoni
2014-06-27 23:04 ` [PATCH 29/40] drm/i915: Refactor Broadwell PIPE_CONTROL emission into a helper ville.syrjala
2014-07-29 16:59   ` Jesse Barnes
2014-07-29 18:01     ` Daniel Vetter
2014-07-30 20:23       ` Daniel Vetter
2014-06-27 23:04 ` [PATCH 30/40] drm/i915: Add the WaCsStallBeforeStateCacheInvalidate:bdw workaround ville.syrjala
2014-07-11 13:30   ` Barbalho, Rafael
2014-06-27 23:04 ` [PATCH 31/40] drm/i916: Init chv workarounds at render ring init ville.syrjala
2014-07-30 12:35   ` Barbalho, Rafael
2014-07-30 12:48     ` Ville Syrjälä
2014-06-27 23:04 ` [PATCH 32/40] drm/i915: Hack to tie both common lanes together on chv ville.syrjala
2014-07-30 12:12   ` Barbalho, Rafael
2014-06-27 23:04 ` [PATCH 33/40] drm/i915: Polish the chv cmnlane resrt macros ville.syrjala
2014-07-30 12:13   ` Barbalho, Rafael
2014-06-27 23:04 ` [PATCH 34/40] drm/i915: Add DP training pattern 3 for CHV ville.syrjala
2014-07-29 17:01   ` Jesse Barnes
2014-07-29 18:04     ` Daniel Vetter
2014-07-29 18:34       ` Ville Syrjälä
2014-07-29 19:12         ` Daniel Vetter
2014-06-27 23:04 ` [PATCH 35/40] drm/i915: Fix vdd locking ville.syrjala
2014-06-27 23:04 ` [PATCH 36/40] drm/i915: Allow vdd_off when vdd is already off ville.syrjala
2014-06-27 23:04 ` [PATCH 37/40] drm/i915: Fix eDP link training when switching pipes ville.syrjala
2014-06-30 21:52   ` Jesse Barnes
2014-07-29 18:06     ` Daniel Vetter
2014-07-29 19:18       ` Ville Syrjälä
2014-07-29 19:23         ` Daniel Vetter
2014-06-27 23:04 ` [PATCH 38/40] drm/i915: Track which port is using which pipe's power sequencer ville.syrjala
2014-06-27 23:04 ` [PATCH 39/40] drm/i915: Kick the power sequencer before AUX transactions ville.syrjala
2014-06-27 23:04 ` [PATCH 40/40] drm/i915: Unstuck power sequencer when lighting up a DP port ville.syrjala

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=53C1385D.9060908@linux.intel.com \
    --to=deepak.s@linux.intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=ville.syrjala@linux.intel.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox