drm/etnaviv: add internal representation of perfmon_request
authorChristian Gmeiner <christian.gmeiner@gmail.com>
Sun, 24 Sep 2017 13:15:23 +0000 (15:15 +0200)
committerLucas Stach <l.stach@pengutronix.de>
Tue, 10 Oct 2017 09:45:42 +0000 (11:45 +0200)
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
drivers/gpu/drm/etnaviv/etnaviv_cmdbuf.h
drivers/gpu/drm/etnaviv/etnaviv_perfmon.h

index 80d78076c679c041fd03c0ed5fad2518c1ed7d67..1b549f0d59a0a35baf426cc3e14e050b9e2a0b69 100644 (file)
@@ -21,6 +21,7 @@
 
 struct etnaviv_gpu;
 struct etnaviv_cmdbuf_suballoc;
+struct etnaviv_perfmon_request;
 
 struct etnaviv_cmdbuf {
        /* suballocator this cmdbuf is allocated from */
@@ -38,6 +39,9 @@ struct etnaviv_cmdbuf {
        u32 exec_state;
        /* per GPU in-flight list */
        struct list_head node;
+       /* perfmon requests */
+       unsigned int nr_pmrs;
+       struct etnaviv_perfmon_request *pmrs;
        /* BOs attached to this command buffer */
        unsigned int nr_bos;
        struct etnaviv_vram_mapping *bo_map[0];
index 4589cadc3a4fa7a93bdff22015a281ca27424c2b..4b2b518cfd1643f22959c0dca9e9a77cc5e65b83 100644 (file)
@@ -22,6 +22,18 @@ struct etnaviv_gpu;
 struct drm_etnaviv_pm_domain;
 struct drm_etnaviv_pm_signal;
 
+struct etnaviv_perfmon_request
+{
+       u32 flags;
+       u8 domain;
+       u8 signal;
+       u32 sequence;
+
+       /* bo to store a value */
+       u32 *bo_vma;
+       u32 offset;
+};
+
 int etnaviv_pm_query_dom(struct etnaviv_gpu *gpu,
        struct drm_etnaviv_pm_domain *domain);