aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'etnaviv/etnaviv_drmif.h')
-rw-r--r--etnaviv/etnaviv_drmif.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/etnaviv/etnaviv_drmif.h b/etnaviv/etnaviv_drmif.h
index 8119baad..5a6bef8d 100644
--- a/etnaviv/etnaviv_drmif.h
+++ b/etnaviv/etnaviv_drmif.h
@@ -35,6 +35,9 @@ struct etna_pipe;
35struct etna_gpu; 35struct etna_gpu;
36struct etna_device; 36struct etna_device;
37struct etna_cmd_stream; 37struct etna_cmd_stream;
38struct etna_perfmon;
39struct etna_perfmon_domain;
40struct etna_perfmon_signal;
38 41
39enum etna_pipe_id { 42enum etna_pipe_id {
40 ETNA_PIPE_3D = 0, 43 ETNA_PIPE_3D = 0,
@@ -142,6 +145,8 @@ struct etna_cmd_stream *etna_cmd_stream_new(struct etna_pipe *pipe, uint32_t siz
142void etna_cmd_stream_del(struct etna_cmd_stream *stream); 145void etna_cmd_stream_del(struct etna_cmd_stream *stream);
143uint32_t etna_cmd_stream_timestamp(struct etna_cmd_stream *stream); 146uint32_t etna_cmd_stream_timestamp(struct etna_cmd_stream *stream);
144void etna_cmd_stream_flush(struct etna_cmd_stream *stream); 147void etna_cmd_stream_flush(struct etna_cmd_stream *stream);
148void etna_cmd_stream_flush2(struct etna_cmd_stream *stream, int in_fence_fd,
149 int *out_fence_fd);
145void etna_cmd_stream_finish(struct etna_cmd_stream *stream); 150void etna_cmd_stream_finish(struct etna_cmd_stream *stream);
146 151
147static inline uint32_t etna_cmd_stream_avail(struct etna_cmd_stream *stream) 152static inline uint32_t etna_cmd_stream_avail(struct etna_cmd_stream *stream)
@@ -188,4 +193,24 @@ struct etna_reloc {
188 193
189void etna_cmd_stream_reloc(struct etna_cmd_stream *stream, const struct etna_reloc *r); 194void etna_cmd_stream_reloc(struct etna_cmd_stream *stream, const struct etna_reloc *r);
190 195
196/* performance monitoring functions:
197 */
198
199struct etna_perfmon *etna_perfmon_create(struct etna_pipe *pipe);
200void etna_perfmon_del(struct etna_perfmon *perfmon);
201struct etna_perfmon_domain *etna_perfmon_get_dom_by_name(struct etna_perfmon *pm, const char *name);
202struct etna_perfmon_signal *etna_perfmon_get_sig_by_name(struct etna_perfmon_domain *dom, const char *name);
203
204struct etna_perf {
205#define ETNA_PM_PROCESS_PRE 0x0001
206#define ETNA_PM_PROCESS_POST 0x0002
207 uint32_t flags;
208 uint32_t sequence;
209 struct etna_perfmon_signal *signal;
210 struct etna_bo *bo;
211 uint32_t offset;
212};
213
214void etna_cmd_stream_perf(struct etna_cmd_stream *stream, const struct etna_perf *p);
215
191#endif /* ETNAVIV_DRMIF_H_ */ 216#endif /* ETNAVIV_DRMIF_H_ */