summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/channel_gk20a.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/channel_gk20a.h')
-rw-r--r--drivers/gpu/nvgpu/gk20a/channel_gk20a.h13
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/channel_gk20a.h b/drivers/gpu/nvgpu/gk20a/channel_gk20a.h
index 161d2b83..2ea3eccb 100644
--- a/drivers/gpu/nvgpu/gk20a/channel_gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/channel_gk20a.h
@@ -29,6 +29,7 @@
29struct gk20a; 29struct gk20a;
30struct gr_gk20a; 30struct gr_gk20a;
31struct dbg_session_gk20a; 31struct dbg_session_gk20a;
32struct gk20a_fence;
32 33
33#include "channel_sync_gk20a.h" 34#include "channel_sync_gk20a.h"
34 35
@@ -68,8 +69,8 @@ struct channel_ctx_gk20a {
68struct channel_gk20a_job { 69struct channel_gk20a_job {
69 struct mapped_buffer_node **mapped_buffers; 70 struct mapped_buffer_node **mapped_buffers;
70 int num_mapped_buffers; 71 int num_mapped_buffers;
71 struct gk20a_channel_fence pre_fence; 72 struct gk20a_fence *pre_fence;
72 struct gk20a_channel_fence post_fence; 73 struct gk20a_fence *post_fence;
73 struct list_head list; 74 struct list_head list;
74}; 75};
75 76
@@ -117,8 +118,9 @@ struct channel_gk20a {
117 118
118 bool cmds_pending; 119 bool cmds_pending;
119 struct { 120 struct {
120 struct gk20a_channel_fence pre_fence; 121 /* These fences should be accessed with submit_lock held. */
121 struct gk20a_channel_fence post_fence; 122 struct gk20a_fence *pre_fence;
123 struct gk20a_fence *post_fence;
122 } last_submit; 124 } last_submit;
123 125
124 void (*remove_support)(struct channel_gk20a *); 126 void (*remove_support)(struct channel_gk20a *);
@@ -184,8 +186,9 @@ void channel_gk20a_unbind(struct channel_gk20a *ch_gk20a);
184int gk20a_submit_channel_gpfifo(struct channel_gk20a *c, 186int gk20a_submit_channel_gpfifo(struct channel_gk20a *c,
185 struct nvhost_gpfifo *gpfifo, 187 struct nvhost_gpfifo *gpfifo,
186 u32 num_entries, 188 u32 num_entries,
189 u32 flags,
187 struct nvhost_fence *fence, 190 struct nvhost_fence *fence,
188 u32 flags); 191 struct gk20a_fence **fence_out);
189 192
190int gk20a_alloc_channel_gpfifo(struct channel_gk20a *c, 193int gk20a_alloc_channel_gpfifo(struct channel_gk20a *c,
191 struct nvhost_alloc_gpfifo_args *args); 194 struct nvhost_alloc_gpfifo_args *args);