[Intel-gfx] [PATCH] drm/i915: Read power well status before other registers for drpc info

Daniel Vetter daniel at ffwll.ch
Thu Nov 20 10:26:58 CET 2014


On Fri, Nov 21, 2014 at 08:56:02AM +0530, Deepak S wrote:
> 
> On Wednesday 19 November 2014 11:37 PM, ville.syrjala at linux.intel.com wrote:
> >From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> >
> >Trying to read the status of the power wells right after taking forcewake
> >for the other register reads makes little sense. Most of the time the
> >power wells will still be up due to the recent forcewake. Instead do the
> >power well status read first, and only then read the register needing
> >forcewake. This way the reported power well status can actually reflect
> >what's going on in the system.
> >
> >Cc: Deepak S <deepak.s at intel.com>
> >Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> >---
> >  drivers/gpu/drm/i915/i915_debugfs.c | 9 ++++-----
> >  1 file changed, 4 insertions(+), 5 deletions(-)
> >
> >diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> >index 319da61..2d4f870 100644
> >--- a/drivers/gpu/drm/i915/i915_debugfs.c
> >+++ b/drivers/gpu/drm/i915/i915_debugfs.c
> >@@ -1240,11 +1240,12 @@ static int vlv_drpc_info(struct seq_file *m)
> >  	struct drm_info_node *node = m->private;
> >  	struct drm_device *dev = node->minor->dev;
> >  	struct drm_i915_private *dev_priv = dev->dev_private;
> >-	u32 rpmodectl1, rcctl1;
> >+	u32 rpmodectl1, rcctl1, pw_status;
> >  	unsigned fw_rendercount = 0, fw_mediacount = 0;
> >  	intel_runtime_pm_get(dev_priv);
> >+	pw_status = I915_READ(VLV_GTLC_PW_STATUS);
> >  	rpmodectl1 = I915_READ(GEN6_RP_CONTROL);
> >  	rcctl1 = I915_READ(GEN6_RC_CONTROL);
> >@@ -1263,11 +1264,9 @@ static int vlv_drpc_info(struct seq_file *m)
> >  		   yesno(rcctl1 & (GEN7_RC_CTL_TO_MODE |
> >  					GEN6_RC_CTL_EI_MODE(1))));
> >  	seq_printf(m, "Render Power Well: %s\n",
> >-			(I915_READ(VLV_GTLC_PW_STATUS) &
> >-				VLV_GTLC_PW_RENDER_STATUS_MASK) ? "Up" : "Down");
> >+		   (pw_status & VLV_GTLC_PW_RENDER_STATUS_MASK) ? "Up" : "Down");
> >  	seq_printf(m, "Media Power Well: %s\n",
> >-			(I915_READ(VLV_GTLC_PW_STATUS) &
> >-				VLV_GTLC_PW_MEDIA_STATUS_MASK) ? "Up" : "Down");
> >+		   (pw_status & VLV_GTLC_PW_MEDIA_STATUS_MASK) ? "Up" : "Down");
> >  	seq_printf(m, "Render RC6 residency since boot: %u\n",
> >  		   I915_READ(VLV_GT_RENDER_RC6));
> 
> Reviewed-by: Deepak S<deepak.s at linux.intel.com>

Queued for -next, thanks for the patch.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch



More information about the Intel-gfx mailing list