summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/fifo_gk20a.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/fifo_gk20a.h')
-rw-r--r--drivers/gpu/nvgpu/gk20a/fifo_gk20a.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/fifo_gk20a.h b/drivers/gpu/nvgpu/gk20a/fifo_gk20a.h
index 9793f37b..eab57ba3 100644
--- a/drivers/gpu/nvgpu/gk20a/fifo_gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/fifo_gk20a.h
@@ -47,6 +47,11 @@
47#define FIFO_PROFILING_ENTRIES 16384 47#define FIFO_PROFILING_ENTRIES 16384
48#endif 48#endif
49 49
50#define RUNLIST_DISABLED 0
51#define RUNLIST_ENABLED 1
52
53#define RUNLIST_INFO_MUTEX_LOCKED 1
54
50/* generally corresponds to the "pbdma" engine */ 55/* generally corresponds to the "pbdma" engine */
51 56
52struct fifo_runlist_info_gk20a { 57struct fifo_runlist_info_gk20a {
@@ -290,11 +295,13 @@ const char *gk20a_fifo_interleave_level_name(u32 interleave_level);
290int gk20a_fifo_engine_enum_from_type(struct gk20a *g, u32 engine_type, 295int gk20a_fifo_engine_enum_from_type(struct gk20a *g, u32 engine_type,
291 u32 *inst_id); 296 u32 *inst_id);
292 297
293u32 gk20a_fifo_get_engine_ids(struct gk20a *g, u32 engine_id[], u32 engine_id_sz, u32 engine_enum); 298u32 gk20a_fifo_get_engine_ids(struct gk20a *g, u32 engine_id[],
299 u32 engine_id_sz, u32 engine_enum);
294 300
295void gk20a_fifo_delete_runlist(struct fifo_gk20a *f); 301void gk20a_fifo_delete_runlist(struct fifo_gk20a *f);
296 302
297struct fifo_engine_info_gk20a *gk20a_fifo_get_engine_info(struct gk20a *g, u32 engine_id); 303struct fifo_engine_info_gk20a *gk20a_fifo_get_engine_info(struct gk20a *g,
304 u32 engine_id);
298 305
299bool gk20a_fifo_is_valid_engine_id(struct gk20a *g, u32 engine_id); 306bool gk20a_fifo_is_valid_engine_id(struct gk20a *g, u32 engine_id);
300 307
@@ -317,6 +324,8 @@ int gk20a_fifo_init_engine_info(struct fifo_gk20a *f);
317 324
318void gk20a_get_tsg_runlist_entry(struct tsg_gk20a *tsg, u32 *runlist); 325void gk20a_get_tsg_runlist_entry(struct tsg_gk20a *tsg, u32 *runlist);
319void gk20a_get_ch_runlist_entry(struct channel_gk20a *ch, u32 *runlist); 326void gk20a_get_ch_runlist_entry(struct channel_gk20a *ch, u32 *runlist);
327void gk20a_fifo_set_runlist_state(struct gk20a *g, u32 runlists_mask,
328 u32 runlist_state, int runlist_mutex_state);
320 329
321u32 gk20a_userd_gp_get(struct gk20a *g, struct channel_gk20a *c); 330u32 gk20a_userd_gp_get(struct gk20a *g, struct channel_gk20a *c);
322void gk20a_userd_gp_put(struct gk20a *g, struct channel_gk20a *c); 331void gk20a_userd_gp_put(struct gk20a *g, struct channel_gk20a *c);