mirror of https://gitee.com/openkylin/linux.git
drm/i915: #define gpu freq multipler
Magic numbers are bad mmmkay. In this case in particular the value is especially weird because the docs say multiple things. We'll need this value for sysfs, so extracting it is useful for that as well. Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Ben Widawsky <ben@bwidawsk.net> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
dbdfd8e90c
commit
c8735b0c3e
|
@ -914,7 +914,7 @@ static int i915_cur_delayinfo(struct seq_file *m, void *unused)
|
||||||
seq_printf(m, "Render p-state limit: %d\n",
|
seq_printf(m, "Render p-state limit: %d\n",
|
||||||
rp_state_limits & 0xff);
|
rp_state_limits & 0xff);
|
||||||
seq_printf(m, "CAGF: %dMHz\n", ((rpstat & GEN6_CAGF_MASK) >>
|
seq_printf(m, "CAGF: %dMHz\n", ((rpstat & GEN6_CAGF_MASK) >>
|
||||||
GEN6_CAGF_SHIFT) * 50);
|
GEN6_CAGF_SHIFT) * GT_FREQUENCY_MULTIPLIER);
|
||||||
seq_printf(m, "RP CUR UP EI: %dus\n", rpupei &
|
seq_printf(m, "RP CUR UP EI: %dus\n", rpupei &
|
||||||
GEN6_CURICONT_MASK);
|
GEN6_CURICONT_MASK);
|
||||||
seq_printf(m, "RP CUR UP: %dus\n", rpcurup &
|
seq_printf(m, "RP CUR UP: %dus\n", rpcurup &
|
||||||
|
@ -930,15 +930,15 @@ static int i915_cur_delayinfo(struct seq_file *m, void *unused)
|
||||||
|
|
||||||
max_freq = (rp_state_cap & 0xff0000) >> 16;
|
max_freq = (rp_state_cap & 0xff0000) >> 16;
|
||||||
seq_printf(m, "Lowest (RPN) frequency: %dMHz\n",
|
seq_printf(m, "Lowest (RPN) frequency: %dMHz\n",
|
||||||
max_freq * 50);
|
max_freq * GT_FREQUENCY_MULTIPLIER);
|
||||||
|
|
||||||
max_freq = (rp_state_cap & 0xff00) >> 8;
|
max_freq = (rp_state_cap & 0xff00) >> 8;
|
||||||
seq_printf(m, "Nominal (RP1) frequency: %dMHz\n",
|
seq_printf(m, "Nominal (RP1) frequency: %dMHz\n",
|
||||||
max_freq * 50);
|
max_freq * GT_FREQUENCY_MULTIPLIER);
|
||||||
|
|
||||||
max_freq = rp_state_cap & 0xff;
|
max_freq = rp_state_cap & 0xff;
|
||||||
seq_printf(m, "Max non-overclocked (RP0) frequency: %dMHz\n",
|
seq_printf(m, "Max non-overclocked (RP0) frequency: %dMHz\n",
|
||||||
max_freq * 50);
|
max_freq * GT_FREQUENCY_MULTIPLIER);
|
||||||
} else {
|
} else {
|
||||||
seq_printf(m, "no P-state info available\n");
|
seq_printf(m, "no P-state info available\n");
|
||||||
}
|
}
|
||||||
|
@ -1292,7 +1292,7 @@ static int i915_ring_freq_table(struct seq_file *m, void *unused)
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
ia_freq = I915_READ(GEN6_PCODE_DATA);
|
ia_freq = I915_READ(GEN6_PCODE_DATA);
|
||||||
seq_printf(m, "%d\t\t%d\n", gpu_freq * 50, ia_freq * 100);
|
seq_printf(m, "%d\t\t%d\n", gpu_freq * GT_FREQUENCY_MULTIPLIER, ia_freq * 100);
|
||||||
}
|
}
|
||||||
|
|
||||||
mutex_unlock(&dev->struct_mutex);
|
mutex_unlock(&dev->struct_mutex);
|
||||||
|
@ -1717,7 +1717,7 @@ i915_max_freq_read(struct file *filp,
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
len = snprintf(buf, sizeof(buf),
|
len = snprintf(buf, sizeof(buf),
|
||||||
"max freq: %d\n", dev_priv->rps.max_delay * 50);
|
"max freq: %d\n", dev_priv->rps.max_delay * GT_FREQUENCY_MULTIPLIER);
|
||||||
mutex_unlock(&dev->struct_mutex);
|
mutex_unlock(&dev->struct_mutex);
|
||||||
|
|
||||||
if (len > sizeof(buf))
|
if (len > sizeof(buf))
|
||||||
|
@ -1760,9 +1760,9 @@ i915_max_freq_write(struct file *filp,
|
||||||
/*
|
/*
|
||||||
* Turbo will still be enabled, but won't go above the set value.
|
* Turbo will still be enabled, but won't go above the set value.
|
||||||
*/
|
*/
|
||||||
dev_priv->rps.max_delay = val / 50;
|
dev_priv->rps.max_delay = val / GT_FREQUENCY_MULTIPLIER;
|
||||||
|
|
||||||
gen6_set_rps(dev, val / 50);
|
gen6_set_rps(dev, val / GT_FREQUENCY_MULTIPLIER);
|
||||||
mutex_unlock(&dev->struct_mutex);
|
mutex_unlock(&dev->struct_mutex);
|
||||||
|
|
||||||
return cnt;
|
return cnt;
|
||||||
|
@ -1793,7 +1793,7 @@ i915_min_freq_read(struct file *filp, char __user *ubuf, size_t max,
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
len = snprintf(buf, sizeof(buf),
|
len = snprintf(buf, sizeof(buf),
|
||||||
"min freq: %d\n", dev_priv->rps.min_delay * 50);
|
"min freq: %d\n", dev_priv->rps.min_delay * GT_FREQUENCY_MULTIPLIER);
|
||||||
mutex_unlock(&dev->struct_mutex);
|
mutex_unlock(&dev->struct_mutex);
|
||||||
|
|
||||||
if (len > sizeof(buf))
|
if (len > sizeof(buf))
|
||||||
|
@ -1834,9 +1834,9 @@ i915_min_freq_write(struct file *filp, const char __user *ubuf, size_t cnt,
|
||||||
/*
|
/*
|
||||||
* Turbo will still be enabled, but won't go below the set value.
|
* Turbo will still be enabled, but won't go below the set value.
|
||||||
*/
|
*/
|
||||||
dev_priv->rps.min_delay = val / 50;
|
dev_priv->rps.min_delay = val / GT_FREQUENCY_MULTIPLIER;
|
||||||
|
|
||||||
gen6_set_rps(dev, val / 50);
|
gen6_set_rps(dev, val / GT_FREQUENCY_MULTIPLIER);
|
||||||
mutex_unlock(&dev->struct_mutex);
|
mutex_unlock(&dev->struct_mutex);
|
||||||
|
|
||||||
return cnt;
|
return cnt;
|
||||||
|
|
|
@ -1179,6 +1179,8 @@ struct drm_i915_file_private {
|
||||||
|
|
||||||
#define HAS_L3_GPU_CACHE(dev) (IS_IVYBRIDGE(dev) || IS_HASWELL(dev))
|
#define HAS_L3_GPU_CACHE(dev) (IS_IVYBRIDGE(dev) || IS_HASWELL(dev))
|
||||||
|
|
||||||
|
#define GT_FREQUENCY_MULTIPLIER 50
|
||||||
|
|
||||||
#include "i915_trace.h"
|
#include "i915_trace.h"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue