summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/fence_gk20a.h
diff options
context:
space:
mode:
authorDebarshi Dutta <ddutta@nvidia.com>2018-04-24 01:08:30 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2018-05-10 11:40:36 -0400
commit4f40637c580c5f25f34f45c2c16b5332104897bc (patch)
tree997eb7390801e3159611d59e0b2f149e43d14470 /drivers/gpu/nvgpu/gk20a/fence_gk20a.h
parent70e69e2686527990865b221a60e0ec1e9a53d316 (diff)
gpu: nvgpu: remove sync_fence dependencies from fence_gk20a
Replaced all instances of sync_fence in gk20a_fence* code with nvgpu_os_fence. Added the API install_fence for the nvgpu_os_fence abstraction. sync_fence mechanism and its dependencies are completely removed from the fence_gk20a methods. Due to the recent os_fence changes and the changes to fence_gk20a, we can finally get rid of all the CONFIG_SYNCS present in the submit path. JIRA NVGPU-66 Change-Id: I3551dab04b93b1e94db83fc102a41872be89e9ed Signed-off-by: Debarshi Dutta <ddutta@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1701245 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/fence_gk20a.h')
-rw-r--r--drivers/gpu/nvgpu/gk20a/fence_gk20a.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/fence_gk20a.h b/drivers/gpu/nvgpu/gk20a/fence_gk20a.h
index 6a28e657..271b2a18 100644
--- a/drivers/gpu/nvgpu/gk20a/fence_gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/fence_gk20a.h
@@ -28,13 +28,13 @@
28 28
29#include <nvgpu/types.h> 29#include <nvgpu/types.h>
30#include <nvgpu/kref.h> 30#include <nvgpu/kref.h>
31#include <nvgpu/os_fence.h>
31 32
32struct platform_device; 33struct platform_device;
33struct sync_timeline;
34struct sync_fence;
35struct nvgpu_semaphore; 34struct nvgpu_semaphore;
36struct channel_gk20a; 35struct channel_gk20a;
37struct gk20a; 36struct gk20a;
37struct nvgpu_os_fence;
38 38
39struct gk20a_fence_ops; 39struct gk20a_fence_ops;
40 40
@@ -46,7 +46,7 @@ struct gk20a_fence {
46 struct nvgpu_ref ref; 46 struct nvgpu_ref ref;
47 const struct gk20a_fence_ops *ops; 47 const struct gk20a_fence_ops *ops;
48 48
49 struct sync_fence *os_fence; 49 struct nvgpu_os_fence os_fence;
50 50
51 /* Valid for fences created from semaphores: */ 51 /* Valid for fences created from semaphores: */
52 struct nvgpu_semaphore *semaphore; 52 struct nvgpu_semaphore *semaphore;
@@ -66,13 +66,13 @@ int gk20a_fence_from_semaphore(
66 struct gk20a_fence *fence_out, 66 struct gk20a_fence *fence_out,
67 struct nvgpu_semaphore *semaphore, 67 struct nvgpu_semaphore *semaphore,
68 struct nvgpu_cond *semaphore_wq, 68 struct nvgpu_cond *semaphore_wq,
69 struct sync_fence *os_fence); 69 struct nvgpu_os_fence os_fence);
70 70
71int gk20a_fence_from_syncpt( 71int gk20a_fence_from_syncpt(
72 struct gk20a_fence *fence_out, 72 struct gk20a_fence *fence_out,
73 struct nvgpu_nvhost_dev *nvhost_dev, 73 struct nvgpu_nvhost_dev *nvhost_dev,
74 u32 id, u32 value, 74 u32 id, u32 value,
75 struct sync_fence *os_fence); 75 struct nvgpu_os_fence os_fence);
76 76
77int gk20a_alloc_fence_pool( 77int gk20a_alloc_fence_pool(
78 struct channel_gk20a *c, 78 struct channel_gk20a *c,
@@ -86,7 +86,7 @@ struct gk20a_fence *gk20a_alloc_fence(
86 86
87void gk20a_init_fence(struct gk20a_fence *f, 87void gk20a_init_fence(struct gk20a_fence *f,
88 const struct gk20a_fence_ops *ops, 88 const struct gk20a_fence_ops *ops,
89 struct sync_fence *os_fence); 89 struct nvgpu_os_fence os_fence);
90 90
91/* Fence operations */ 91/* Fence operations */
92void gk20a_fence_put(struct gk20a_fence *f); 92void gk20a_fence_put(struct gk20a_fence *f);