drm/i915: Add rc6vids to debugfs
authorBen Widawsky <ben@bwidawsk.net>
Wed, 26 Sep 2012 17:34:02 +0000 (10:34 -0700)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 16 Oct 2012 07:23:52 +0000 (09:23 +0200)
CC: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_debugfs.c

index 66475855c0ecda126733e525d1b98c6a01d1650c..3c5710f95a1d168b51122b6864a030fa93338287 100644 (file)
@@ -1069,7 +1069,7 @@ static int gen6_drpc_info(struct seq_file *m)
        struct drm_info_node *node = (struct drm_info_node *) m->private;
        struct drm_device *dev = node->minor->dev;
        struct drm_i915_private *dev_priv = dev->dev_private;
-       u32 rpmodectl1, gt_core_status, rcctl1;
+       u32 rpmodectl1, gt_core_status, rcctl1, rc6vids = 0;
        unsigned forcewake_count;
        int count=0, ret;
 
@@ -1097,6 +1097,7 @@ static int gen6_drpc_info(struct seq_file *m)
 
        rpmodectl1 = I915_READ(GEN6_RP_CONTROL);
        rcctl1 = I915_READ(GEN6_RC_CONTROL);
+       sandybridge_pcode_read(dev_priv, GEN6_PCODE_READ_RC6VIDS, &rc6vids);
        mutex_unlock(&dev->struct_mutex);
 
        seq_printf(m, "Video Turbo Mode: %s\n",
@@ -1149,6 +1150,12 @@ static int gen6_drpc_info(struct seq_file *m)
        seq_printf(m, "RC6++ residency since boot: %u\n",
                   I915_READ(GEN6_GT_GFX_RC6pp));
 
+       seq_printf(m, "RC6   voltage: %dmV\n",
+                  GEN6_DECODE_RC6_VID(((rc6vids >> 0) & 0xff)));
+       seq_printf(m, "RC6+  voltage: %dmV\n",
+                  GEN6_DECODE_RC6_VID(((rc6vids >> 8) & 0xff)));
+       seq_printf(m, "RC6++ voltage: %dmV\n",
+                  GEN6_DECODE_RC6_VID(((rc6vids >> 16) & 0xff)));
        return 0;
 }