diff options
author | Debarshi Dutta <ddutta@nvidia.com> | 2018-04-24 01:08:30 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2018-05-10 11:40:36 -0400 |
commit | 4f40637c580c5f25f34f45c2c16b5332104897bc (patch) | |
tree | 997eb7390801e3159611d59e0b2f149e43d14470 /drivers/gpu/nvgpu/gk20a/fence_gk20a.h | |
parent | 70e69e2686527990865b221a60e0ec1e9a53d316 (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.h | 12 |
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 | ||
32 | struct platform_device; | 33 | struct platform_device; |
33 | struct sync_timeline; | ||
34 | struct sync_fence; | ||
35 | struct nvgpu_semaphore; | 34 | struct nvgpu_semaphore; |
36 | struct channel_gk20a; | 35 | struct channel_gk20a; |
37 | struct gk20a; | 36 | struct gk20a; |
37 | struct nvgpu_os_fence; | ||
38 | 38 | ||
39 | struct gk20a_fence_ops; | 39 | struct 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 | ||
71 | int gk20a_fence_from_syncpt( | 71 | int 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 | ||
77 | int gk20a_alloc_fence_pool( | 77 | int 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 | ||
87 | void gk20a_init_fence(struct gk20a_fence *f, | 87 | void 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 */ |
92 | void gk20a_fence_put(struct gk20a_fence *f); | 92 | void gk20a_fence_put(struct gk20a_fence *f); |