Skip to content

Commit 95eef14

Browse files
llandwerlin-inteljnikula
authored andcommitted
drm/i915/perf: fix ICL perf register offsets
We got the wrong offsets (could they have changed?). New values were computed off an error state by looking up the register offset in the context image as written by the HW. Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Fixes: 1de401c ("drm/i915/perf: enable perf support on ICL") Cc: <stable@vger.kernel.org> # v4.18+ Acked-by: Kenneth Graunke <kenneth@whitecape.org> Link: https://patchwork.freedesktop.org/patch/msgid/20190610081914.25428-1-lionel.g.landwerlin@intel.com (cherry picked from commit 8dcfdfb) Signed-off-by: Jani Nikula <jani.nikula@intel.com>
1 parent 248f883 commit 95eef14

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

drivers/gpu/drm/i915/i915_perf.c

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3477,9 +3477,13 @@ void i915_perf_init(struct drm_i915_private *dev_priv)
34773477
dev_priv->perf.oa.ops.enable_metric_set = gen8_enable_metric_set;
34783478
dev_priv->perf.oa.ops.disable_metric_set = gen10_disable_metric_set;
34793479

3480-
dev_priv->perf.oa.ctx_oactxctrl_offset = 0x128;
3481-
dev_priv->perf.oa.ctx_flexeu0_offset = 0x3de;
3482-
3480+
if (IS_GEN(dev_priv, 10)) {
3481+
dev_priv->perf.oa.ctx_oactxctrl_offset = 0x128;
3482+
dev_priv->perf.oa.ctx_flexeu0_offset = 0x3de;
3483+
} else {
3484+
dev_priv->perf.oa.ctx_oactxctrl_offset = 0x124;
3485+
dev_priv->perf.oa.ctx_flexeu0_offset = 0x78e;
3486+
}
34833487
dev_priv->perf.oa.gen8_valid_ctx_bit = (1<<16);
34843488
}
34853489
}

0 commit comments

Comments
 (0)