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;
 
 
        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",
        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;
 }