aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'etnaviv/etnaviv_priv.h')
-rw-r--r--etnaviv/etnaviv_priv.h47
1 files changed, 27 insertions, 20 deletions
diff --git a/etnaviv/etnaviv_priv.h b/etnaviv/etnaviv_priv.h
index feaa5ad9..e45d364c 100644
--- a/etnaviv/etnaviv_priv.h
+++ b/etnaviv/etnaviv_priv.h
@@ -47,25 +47,6 @@
47#include "etnaviv_drmif.h" 47#include "etnaviv_drmif.h"
48#include "etnaviv_drm.h" 48#include "etnaviv_drm.h"
49 49
50#define VIV_FEATURES_WORD_COUNT 7
51
52struct etna_specs {
53 uint32_t model;
54 uint32_t revision;
55 uint32_t features[VIV_FEATURES_WORD_COUNT];
56 uint32_t stream_count;
57 uint32_t register_max;
58 uint32_t thread_count;
59 uint32_t shader_core_count;
60 uint32_t vertex_cache_size;
61 uint32_t vertex_output_buffer_size;
62 uint32_t pixel_pipes;
63 uint32_t instruction_count;
64 uint32_t num_constants;
65 uint32_t num_varyings;
66 uint32_t buffer_size;
67};
68
69struct etna_bo_bucket { 50struct etna_bo_bucket {
70 uint32_t size; 51 uint32_t size;
71 struct list_head list; 52 struct list_head list;
@@ -134,8 +115,9 @@ struct etna_bo {
134 115
135struct etna_gpu { 116struct etna_gpu {
136 struct etna_device *dev; 117 struct etna_device *dev;
137 struct etna_specs specs;
138 uint32_t core; 118 uint32_t core;
119 uint32_t model;
120 uint32_t revision;
139}; 121};
140 122
141struct etna_pipe { 123struct etna_pipe {
@@ -158,6 +140,10 @@ struct etna_cmd_stream_priv {
158 /* reloc's table: */ 140 /* reloc's table: */
159 struct drm_etnaviv_gem_submit_reloc *relocs; 141 struct drm_etnaviv_gem_submit_reloc *relocs;
160 uint32_t nr_relocs, max_relocs; 142 uint32_t nr_relocs, max_relocs;
143
144 /* perf's table: */
145 struct drm_etnaviv_gem_submit_pmr *pmrs;
146 uint32_t nr_pmrs, max_pmrs;
161 } submit; 147 } submit;
162 148
163 /* should have matching entries in submit.bos: */ 149 /* should have matching entries in submit.bos: */
@@ -169,6 +155,27 @@ struct etna_cmd_stream_priv {
169 void *reset_notify_priv; 155 void *reset_notify_priv;
170}; 156};
171 157
158struct etna_perfmon {
159 struct list_head domains;
160 struct etna_pipe *pipe;
161};
162
163struct etna_perfmon_domain
164{
165 struct list_head head;
166 struct list_head signals;
167 uint8_t id;
168 char name[64];
169};
170
171struct etna_perfmon_signal
172{
173 struct list_head head;
174 struct etna_perfmon_domain *domain;
175 uint8_t signal;
176 char name[64];
177};
178
172#define ALIGN(v,a) (((v) + (a) - 1) & ~((a) - 1)) 179#define ALIGN(v,a) (((v) + (a) - 1) & ~((a) - 1))
173#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0])) 180#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
174 181