summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/fence_gk20a.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/fence_gk20a.h')
-rw-r--r--drivers/gpu/nvgpu/gk20a/fence_gk20a.h15
1 files changed, 10 insertions, 5 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/fence_gk20a.h b/drivers/gpu/nvgpu/gk20a/fence_gk20a.h
index 35488ea3..3fe2d8b2 100644
--- a/drivers/gpu/nvgpu/gk20a/fence_gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/fence_gk20a.h
@@ -31,6 +31,7 @@ struct gk20a_fence_ops;
31 31
32struct gk20a_fence { 32struct gk20a_fence {
33 /* Valid for all fence types: */ 33 /* Valid for all fence types: */
34 bool valid;
34 struct kref ref; 35 struct kref ref;
35 bool wfi; 36 bool wfi;
36 struct sync_fence *sync_fence; 37 struct sync_fence *sync_fence;
@@ -47,21 +48,25 @@ struct gk20a_fence {
47}; 48};
48 49
49/* Fences can be created from semaphores or syncpoint (id, value) pairs */ 50/* Fences can be created from semaphores or syncpoint (id, value) pairs */
50struct gk20a_fence *gk20a_fence_from_semaphore( 51int gk20a_fence_from_semaphore(
52 struct gk20a_fence *fence_out,
51 struct sync_timeline *timeline, 53 struct sync_timeline *timeline,
52 struct gk20a_semaphore *semaphore, 54 struct gk20a_semaphore *semaphore,
53 wait_queue_head_t *semaphore_wq, 55 wait_queue_head_t *semaphore_wq,
54 struct sync_fence *dependency, 56 struct sync_fence *dependency,
55 bool wfi, bool need_sync_fence); 57 bool wfi, bool need_sync_fence);
56 58
57struct gk20a_fence *gk20a_fence_from_syncpt( 59int gk20a_fence_from_syncpt(
60 struct gk20a_fence *fence_out,
58 struct platform_device *host1x_pdev, 61 struct platform_device *host1x_pdev,
59 u32 id, u32 value, bool wfi, 62 u32 id, u32 value, bool wfi,
60 bool need_sync_fence); 63 bool need_sync_fence);
61 64
62struct gk20a_fence *gk20a_alloc_fence(const struct gk20a_fence_ops *ops, 65struct gk20a_fence *gk20a_alloc_fence(struct channel_gk20a *c);
63 struct sync_fence *sync_fence, 66
64 bool wfi); 67void gk20a_init_fence(struct gk20a_fence *f,
68 const struct gk20a_fence_ops *ops,
69 struct sync_fence *sync_fence, bool wfi);
65 70
66/* Fence operations */ 71/* Fence operations */
67void gk20a_fence_put(struct gk20a_fence *f); 72void gk20a_fence_put(struct gk20a_fence *f);