forked from Minki/linux
drm/i915/perf: simplify OA unit enabling on gen7
In commit d79651522e
("drm/i915: Enable i915 perf stream for
Haswell OA unit") the enable/disable vfunc hadn't appear yet and the
same function would deal with enabling/disabling the OA unit.
This was split later on for gen8 but the gen7 retained some code that
isn't actually useful anymore.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180326090831.22686-4-lionel.g.landwerlin@intel.com
This commit is contained in:
parent
b6dd47b9c8
commit
1105130334
@ -1886,6 +1886,13 @@ static void gen10_disable_metric_set(struct drm_i915_private *dev_priv)
|
||||
|
||||
static void gen7_oa_enable(struct drm_i915_private *dev_priv)
|
||||
{
|
||||
struct i915_gem_context *ctx =
|
||||
dev_priv->perf.oa.exclusive_stream->ctx;
|
||||
u32 ctx_id = dev_priv->perf.oa.specific_ctx_id;
|
||||
bool periodic = dev_priv->perf.oa.periodic;
|
||||
u32 period_exponent = dev_priv->perf.oa.period_exponent;
|
||||
u32 report_format = dev_priv->perf.oa.oa_buffer.format;
|
||||
|
||||
/*
|
||||
* Reset buf pointers so we don't forward reports from before now.
|
||||
*
|
||||
@ -1897,25 +1904,14 @@ static void gen7_oa_enable(struct drm_i915_private *dev_priv)
|
||||
*/
|
||||
gen7_init_oa_buffer(dev_priv);
|
||||
|
||||
if (dev_priv->perf.oa.exclusive_stream->enabled) {
|
||||
struct i915_gem_context *ctx =
|
||||
dev_priv->perf.oa.exclusive_stream->ctx;
|
||||
u32 ctx_id = dev_priv->perf.oa.specific_ctx_id;
|
||||
|
||||
bool periodic = dev_priv->perf.oa.periodic;
|
||||
u32 period_exponent = dev_priv->perf.oa.period_exponent;
|
||||
u32 report_format = dev_priv->perf.oa.oa_buffer.format;
|
||||
|
||||
I915_WRITE(GEN7_OACONTROL,
|
||||
(ctx_id & GEN7_OACONTROL_CTX_MASK) |
|
||||
(period_exponent <<
|
||||
GEN7_OACONTROL_TIMER_PERIOD_SHIFT) |
|
||||
(periodic ? GEN7_OACONTROL_TIMER_ENABLE : 0) |
|
||||
(report_format << GEN7_OACONTROL_FORMAT_SHIFT) |
|
||||
(ctx ? GEN7_OACONTROL_PER_CTX_ENABLE : 0) |
|
||||
GEN7_OACONTROL_ENABLE);
|
||||
} else
|
||||
I915_WRITE(GEN7_OACONTROL, 0);
|
||||
I915_WRITE(GEN7_OACONTROL,
|
||||
(ctx_id & GEN7_OACONTROL_CTX_MASK) |
|
||||
(period_exponent <<
|
||||
GEN7_OACONTROL_TIMER_PERIOD_SHIFT) |
|
||||
(periodic ? GEN7_OACONTROL_TIMER_ENABLE : 0) |
|
||||
(report_format << GEN7_OACONTROL_FORMAT_SHIFT) |
|
||||
(ctx ? GEN7_OACONTROL_PER_CTX_ENABLE : 0) |
|
||||
GEN7_OACONTROL_ENABLE);
|
||||
}
|
||||
|
||||
static void gen8_oa_enable(struct drm_i915_private *dev_priv)
|
||||
|
Loading…
Reference in New Issue
Block a user