diff options
Diffstat (limited to 'etnaviv/etnaviv_priv.h')
-rw-r--r-- | etnaviv/etnaviv_priv.h | 47 |
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 | |||
52 | struct 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 | |||
69 | struct etna_bo_bucket { | 50 | struct 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 | ||
135 | struct etna_gpu { | 116 | struct 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 | ||
141 | struct etna_pipe { | 123 | struct 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 | ||
158 | struct etna_perfmon { | ||
159 | struct list_head domains; | ||
160 | struct etna_pipe *pipe; | ||
161 | }; | ||
162 | |||
163 | struct etna_perfmon_domain | ||
164 | { | ||
165 | struct list_head head; | ||
166 | struct list_head signals; | ||
167 | uint8_t id; | ||
168 | char name[64]; | ||
169 | }; | ||
170 | |||
171 | struct 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 | ||