]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
drm/i915: Add RP0/RP1/RPn render P state thresholds in VLV sysfs
authorDeepak S <deepak.s@linux.intel.com>
Thu, 10 Jul 2014 07:46:22 +0000 (13:16 +0530)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 11 Jul 2014 16:13:38 +0000 (18:13 +0200)
This is useful for userspace utilities to verify and micromanaging the
increase/decrease frequncy.

Signed-off-by: Deepak S <deepak.s@linux.intel.com>
Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_sysfs.c

index 86ce39aad0ffd25e5502bf616f1349b387922f3e..b15c8cee103b3a50279af1e32d0a638f5efb2e75 100644 (file)
@@ -461,11 +461,20 @@ static ssize_t gt_rp_mhz_show(struct device *kdev, struct device_attribute *attr
        mutex_unlock(&dev->struct_mutex);
 
        if (attr == &dev_attr_gt_RP0_freq_mhz) {
-               val = ((rp_state_cap & 0x0000ff) >> 0) * GT_FREQUENCY_MULTIPLIER;
+               if (IS_VALLEYVIEW(dev))
+                       val = vlv_gpu_freq(dev_priv, dev_priv->rps.rp0_freq);
+               else
+                       val = ((rp_state_cap & 0x0000ff) >> 0) * GT_FREQUENCY_MULTIPLIER;
        } else if (attr == &dev_attr_gt_RP1_freq_mhz) {
-               val = ((rp_state_cap & 0x00ff00) >> 8) * GT_FREQUENCY_MULTIPLIER;
+               if (IS_VALLEYVIEW(dev))
+                       val = vlv_gpu_freq(dev_priv, dev_priv->rps.rp1_freq);
+               else
+                       val = ((rp_state_cap & 0x00ff00) >> 8) * GT_FREQUENCY_MULTIPLIER;
        } else if (attr == &dev_attr_gt_RPn_freq_mhz) {
-               val = ((rp_state_cap & 0xff0000) >> 16) * GT_FREQUENCY_MULTIPLIER;
+               if (IS_VALLEYVIEW(dev))
+                       val = vlv_gpu_freq(dev_priv, dev_priv->rps.min_freq);
+               else
+                       val = ((rp_state_cap & 0xff0000) >> 16) * GT_FREQUENCY_MULTIPLIER;
        } else {
                BUG();
        }
@@ -486,6 +495,9 @@ static const struct attribute *vlv_attrs[] = {
        &dev_attr_gt_cur_freq_mhz.attr,
        &dev_attr_gt_max_freq_mhz.attr,
        &dev_attr_gt_min_freq_mhz.attr,
+       &dev_attr_gt_RP0_freq_mhz.attr,
+       &dev_attr_gt_RP1_freq_mhz.attr,
+       &dev_attr_gt_RPn_freq_mhz.attr,
        &dev_attr_vlv_rpe_freq_mhz.attr,
        NULL,
 };