diff options
Diffstat (limited to 'etnaviv/etnaviv_drmif.h')
-rw-r--r-- | etnaviv/etnaviv_drmif.h | 25 |
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; | |||
35 | struct etna_gpu; | 35 | struct etna_gpu; |
36 | struct etna_device; | 36 | struct etna_device; |
37 | struct etna_cmd_stream; | 37 | struct etna_cmd_stream; |
38 | struct etna_perfmon; | ||
39 | struct etna_perfmon_domain; | ||
40 | struct etna_perfmon_signal; | ||
38 | 41 | ||
39 | enum etna_pipe_id { | 42 | enum 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 | |||
142 | void etna_cmd_stream_del(struct etna_cmd_stream *stream); | 145 | void etna_cmd_stream_del(struct etna_cmd_stream *stream); |
143 | uint32_t etna_cmd_stream_timestamp(struct etna_cmd_stream *stream); | 146 | uint32_t etna_cmd_stream_timestamp(struct etna_cmd_stream *stream); |
144 | void etna_cmd_stream_flush(struct etna_cmd_stream *stream); | 147 | void etna_cmd_stream_flush(struct etna_cmd_stream *stream); |
148 | void etna_cmd_stream_flush2(struct etna_cmd_stream *stream, int in_fence_fd, | ||
149 | int *out_fence_fd); | ||
145 | void etna_cmd_stream_finish(struct etna_cmd_stream *stream); | 150 | void etna_cmd_stream_finish(struct etna_cmd_stream *stream); |
146 | 151 | ||
147 | static inline uint32_t etna_cmd_stream_avail(struct etna_cmd_stream *stream) | 152 | static inline uint32_t etna_cmd_stream_avail(struct etna_cmd_stream *stream) |
@@ -188,4 +193,24 @@ struct etna_reloc { | |||
188 | 193 | ||
189 | void etna_cmd_stream_reloc(struct etna_cmd_stream *stream, const struct etna_reloc *r); | 194 | void etna_cmd_stream_reloc(struct etna_cmd_stream *stream, const struct etna_reloc *r); |
190 | 195 | ||
196 | /* performance monitoring functions: | ||
197 | */ | ||
198 | |||
199 | struct etna_perfmon *etna_perfmon_create(struct etna_pipe *pipe); | ||
200 | void etna_perfmon_del(struct etna_perfmon *perfmon); | ||
201 | struct etna_perfmon_domain *etna_perfmon_get_dom_by_name(struct etna_perfmon *pm, const char *name); | ||
202 | struct etna_perfmon_signal *etna_perfmon_get_sig_by_name(struct etna_perfmon_domain *dom, const char *name); | ||
203 | |||
204 | struct 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 | |||
214 | void 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_ */ |