drm/i915/perf: simplify OA unit enabling on gen7
authorLionel Landwerlin <lionel.g.landwerlin@intel.com>
Mon, 26 Mar 2018 09:08:23 +0000 (10:08 +0100)
committerLionel Landwerlin <lionel.g.landwerlin@intel.com>
Thu, 29 Mar 2018 12:33:25 +0000 (13:33 +0100)
In commit d79651522e89c ("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
drivers/gpu/drm/i915/i915_perf.c

index 21a985bd4413e40ae0de6d28cd915822593889ae..f1af58a1cc5a1914cc3403933ca09283ab1e2e7f 100644 (file)
@@ -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)