summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChristian Gmeiner <[email protected]>2018-03-25 22:29:57 +0200
committerChristian Gmeiner <[email protected]>2018-04-08 22:20:32 +0200
commitd0bed0b4944dc2beb6371272c10fc1789ef5fa49 (patch)
treeda497ddf01cc2f1f81144c236f9091aa749d6c5b /src
parent72d2043be06c4b0135177482ae95aa321286cc17 (diff)
etnaviv: support HI performance counters
Signed-off-by: Christian Gmeiner <[email protected]> Tested-by: Chris Healy <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/gallium/drivers/etnaviv/etnaviv_query_pm.c35
-rw-r--r--src/gallium/drivers/etnaviv/etnaviv_query_pm.h6
2 files changed, 41 insertions, 0 deletions
diff --git a/src/gallium/drivers/etnaviv/etnaviv_query_pm.c b/src/gallium/drivers/etnaviv/etnaviv_query_pm.c
index 2b09e5dac14..2feca9d1dd9 100644
--- a/src/gallium/drivers/etnaviv/etnaviv_query_pm.c
+++ b/src/gallium/drivers/etnaviv/etnaviv_query_pm.c
@@ -46,6 +46,41 @@ struct etna_perfmon_config
};
static const struct etna_perfmon_config query_config[] = {
+ {
+ .name = "hi-total-cyles",
+ .type = ETNA_QUERY_HI_TOTAL_CYCLES,
+ .source = (const struct etna_perfmon_source[]) {
+ { "HI", "TOTAL_CYCLES" }
+ }
+ },
+ {
+ .name = "hi-idle-cyles",
+ .type = ETNA_QUERY_HI_IDLE_CYCLES,
+ .source = (const struct etna_perfmon_source[]) {
+ { "HI", "IDLE_CYCLES" }
+ }
+ },
+ {
+ .name = "hi-axi-cycles-read-request-stalled",
+ .type = ETNA_QUERY_HI_AXI_CYCLES_READ_REQUEST_STALLED,
+ .source = (const struct etna_perfmon_source[]) {
+ { "HI", "AXI_CYCLES_READ_REQUEST_STALLED" }
+ }
+ },
+ {
+ .name = "hi-axi-cycles-write-request-stalled",
+ .type = ETNA_QUERY_HI_AXI_CYCLES_WRITE_REQUEST_STALLED,
+ .source = (const struct etna_perfmon_source[]) {
+ { "HI", "AXI_CYCLES_WRITE_REQUEST_STALLED" }
+ }
+ },
+ {
+ .name = "hi-axi-cycles-write-data-stalled",
+ .type = ETNA_QUERY_HI_AXI_CYCLES_WRITE_DATA_STALLED,
+ .source = (const struct etna_perfmon_source[]) {
+ { "HI", "AXI_CYCLES_WRITE_DATA_STALLED" }
+ }
+ }
};
static const struct etna_perfmon_config *
diff --git a/src/gallium/drivers/etnaviv/etnaviv_query_pm.h b/src/gallium/drivers/etnaviv/etnaviv_query_pm.h
index 3d8cf1419bd..ce823cf3bfc 100644
--- a/src/gallium/drivers/etnaviv/etnaviv_query_pm.h
+++ b/src/gallium/drivers/etnaviv/etnaviv_query_pm.h
@@ -33,6 +33,12 @@
struct etna_screen;
+#define ETNA_QUERY_HI_TOTAL_CYCLES (ETNA_PM_QUERY_BASE + 0)
+#define ETNA_QUERY_HI_IDLE_CYCLES (ETNA_PM_QUERY_BASE + 1)
+#define ETNA_QUERY_HI_AXI_CYCLES_READ_REQUEST_STALLED (ETNA_PM_QUERY_BASE + 2)
+#define ETNA_QUERY_HI_AXI_CYCLES_WRITE_REQUEST_STALLED (ETNA_PM_QUERY_BASE + 3)
+#define ETNA_QUERY_HI_AXI_CYCLES_WRITE_DATA_STALLED (ETNA_PM_QUERY_BASE + 4)
+
struct etna_pm_query {
struct etna_query base;
struct etna_perfmon_signal *signal;