diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/fence_gk20a.h')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/fence_gk20a.h | 15 |
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 | ||
32 | struct gk20a_fence { | 32 | struct 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 */ |
50 | struct gk20a_fence *gk20a_fence_from_semaphore( | 51 | int 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 | ||
57 | struct gk20a_fence *gk20a_fence_from_syncpt( | 59 | int 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 | ||
62 | struct gk20a_fence *gk20a_alloc_fence(const struct gk20a_fence_ops *ops, | 65 | struct gk20a_fence *gk20a_alloc_fence(struct channel_gk20a *c); |
63 | struct sync_fence *sync_fence, | 66 | |
64 | bool wfi); | 67 | void 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 */ |
67 | void gk20a_fence_put(struct gk20a_fence *f); | 72 | void gk20a_fence_put(struct gk20a_fence *f); |