diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/channel_gk20a.h')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/channel_gk20a.h | 13 |
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 @@ | |||
29 | struct gk20a; | 29 | struct gk20a; |
30 | struct gr_gk20a; | 30 | struct gr_gk20a; |
31 | struct dbg_session_gk20a; | 31 | struct dbg_session_gk20a; |
32 | struct 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 { | |||
68 | struct channel_gk20a_job { | 69 | struct 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); | |||
184 | int gk20a_submit_channel_gpfifo(struct channel_gk20a *c, | 186 | int 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 | ||
190 | int gk20a_alloc_channel_gpfifo(struct channel_gk20a *c, | 193 | int gk20a_alloc_channel_gpfifo(struct channel_gk20a *c, |
191 | struct nvhost_alloc_gpfifo_args *args); | 194 | struct nvhost_alloc_gpfifo_args *args); |