summaryrefslogtreecommitdiffstats
path: root/src/intel/perf/gen_perf.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/intel/perf/gen_perf.h')
-rw-r--r--src/intel/perf/gen_perf.h20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/intel/perf/gen_perf.h b/src/intel/perf/gen_perf.h
index f43286f73a6..46d37e07c25 100644
--- a/src/intel/perf/gen_perf.h
+++ b/src/intel/perf/gen_perf.h
@@ -140,7 +140,7 @@ struct gen_perf_query_register_prog {
};
/* Register programming for a given query */
-struct gen_perf_configuration {
+struct gen_perf_registers {
struct gen_perf_query_register_prog *flex_regs;
uint32_t n_flex_regs;
@@ -175,10 +175,12 @@ struct gen_perf_query_info {
int b_offset;
int c_offset;
- struct gen_perf_configuration config;
+ struct gen_perf_registers config;
};
struct gen_perf_config {
+ bool i915_query_supported;
+
struct gen_perf_query_info *queries;
int n_queries;
@@ -244,6 +246,20 @@ bool gen_perf_load_metric_id(struct gen_perf_config *perf_cfg,
const char *guid,
uint64_t *metric_id);
+/** Load a configuation's content from i915 using a guid.
+ */
+struct gen_perf_registers *gen_perf_load_configuration(struct gen_perf_config *perf_cfg,
+ int fd, const char *guid);
+
+/** Store a configuration into i915 using guid and return a new metric id.
+ *
+ * If guid is NULL, then a generated one will be provided by hashing the
+ * content of the configuration.
+ */
+uint64_t gen_perf_store_configuration(struct gen_perf_config *perf_cfg, int fd,
+ const struct gen_perf_registers *config,
+ const char *guid);
+
/** Read the slice/unslice frequency from 2 OA reports and store then into
* result.
*/