drm/i915: Add 'render basic' Haswell OA unit config

Adds a static OA unit, MUX + B Counter configuration for basic render
metrics on Haswell. This is auto generated from an XML
description of metric sets, currently maintained in gputop, ref:

  https://github.com/rib/gputop
  > gputop-data/oa-*.xml
  > scripts/i915-perf-kernelgen.py

  $ make -C gputop-data -f Makefile.xml SYSFS=0 WHITELIST=RenderBasic

Signed-off-by: Robert Bragg <robert@sixbynine.org>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Reviewed-by: Sourab Gupta <sourab.gupta@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/20161107194957.3385-6-robert@sixbynine.org
This commit is contained in:
Robert Bragg
2016-11-07 19:49:51 +00:00
committed by Daniel Vetter
parent 10ff401df0
commit 8a3003dd93
4 changed files with 194 additions and 1 deletions

View File

@@ -1797,6 +1797,11 @@ struct intel_wm_config {
bool sprites_scaled;
};
struct i915_oa_reg {
i915_reg_t addr;
u32 value;
};
struct i915_perf_stream;
struct i915_perf_stream_ops {
@@ -2174,6 +2179,15 @@ struct drm_i915_private {
bool initialized;
struct mutex lock;
struct list_head streams;
struct {
u32 metrics_set;
const struct i915_oa_reg *mux_regs;
int mux_regs_len;
const struct i915_oa_reg *b_counter_regs;
int b_counter_regs_len;
} oa;
} perf;
/* Abstract the submission mechanism (legacy ringbuffer or execlists) away */