etnaviv: support MC performance counters
authorChristian Gmeiner <christian.gmeiner@gmail.com>
Sun, 25 Mar 2018 20:30:04 +0000 (22:30 +0200)
committerChristian Gmeiner <christian.gmeiner@gmail.com>
Sun, 8 Apr 2018 20:21:40 +0000 (22:21 +0200)
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Tested-by: Chris Healy <cphealy@gmail.com>
src/gallium/drivers/etnaviv/etnaviv_query_pm.c
src/gallium/drivers/etnaviv/etnaviv_query_pm.h

index 88485b5640fd74ffb751fade1aee79c75328d0fb..6d3c9e2d00c21e6e43077ec49429f1b85974a3fd 100644 (file)
@@ -339,6 +339,27 @@ static const struct etna_perfmon_config query_config[] = {
       .source = (const struct etna_perfmon_source[]) {
          { "TX", "CACHE_MISS_TEXEL_COUNT" }
       }
+   },
+   {
+      .name = "mc-total-read-req-8b-from-pipeline",
+      .type = ETNA_QUERY_MC_TOTAL_READ_REQ_8B_FROM_PIPELINE,
+      .source = (const struct etna_perfmon_source[]) {
+         { "MC", "TOTAL_READ_REQ_8B_FROM_PIPELINE" }
+      }
+   },
+   {
+      .name = "mc-total-read-req-8b-from-ip",
+      .type = ETNA_QUERY_MC_TOTAL_READ_REQ_8B_FROM_IP,
+      .source = (const struct etna_perfmon_source[]) {
+         { "MC", "TOTAL_READ_REQ_8B_FROM_IP" }
+      }
+   },
+   {
+      .name = "mc-total-write-req-8b-from-pipeline",
+      .type = ETNA_QUERY_MC_TOTAL_WRITE_REQ_8B_FROM_PIPELINE,
+      .source = (const struct etna_perfmon_source[]) {
+         { "MC", "TOTAL_WRITE_REQ_8B_FROM_PIPELINE" }
+      }
    }
 };
 
index 9cfd06e0eca8dbe4095ced89bc9a036aadeeeb37..f6d27ee40651db5ecfeeabdc01939fcab2162380 100644 (file)
@@ -83,6 +83,10 @@ struct etna_screen;
 #define ETNA_QUERY_TX_CACHE_HIT_TEXEL_COUNT              (ETNA_PM_QUERY_BASE + 41)
 #define ETNA_QUERY_TX_CACHE_MISS_TEXEL_COUNT             (ETNA_PM_QUERY_BASE + 42)
 
+#define ETNA_QUERY_MC_TOTAL_READ_REQ_8B_FROM_PIPELINE    (ETNA_PM_QUERY_BASE + 43)
+#define ETNA_QUERY_MC_TOTAL_READ_REQ_8B_FROM_IP          (ETNA_PM_QUERY_BASE + 44)
+#define ETNA_QUERY_MC_TOTAL_WRITE_REQ_8B_FROM_PIPELINE   (ETNA_PM_QUERY_BASE + 45)
+
 struct etna_pm_query {
    struct etna_query base;
    struct etna_perfmon_signal *signal;