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/common/linux | |
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/common/linux')
-rw-r--r-- | drivers/gpu/nvgpu/common/linux/os_fence_android.c | 8 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/common/linux/os_fence_android_sema.c | 1 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/common/linux/os_fence_android_syncpt.c | 1 |
3 files changed, 10 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/os_fence_android.c b/drivers/gpu/nvgpu/common/linux/os_fence_android.c index d8f70639..9be8c6c0 100644 --- a/drivers/gpu/nvgpu/common/linux/os_fence_android.c +++ b/drivers/gpu/nvgpu/common/linux/os_fence_android.c | |||
@@ -52,6 +52,14 @@ void nvgpu_os_fence_android_drop_ref(struct nvgpu_os_fence *s) | |||
52 | nvgpu_os_fence_clear(s); | 52 | nvgpu_os_fence_clear(s); |
53 | } | 53 | } |
54 | 54 | ||
55 | void nvgpu_os_fence_android_install_fd(struct nvgpu_os_fence *s, int fd) | ||
56 | { | ||
57 | struct sync_fence *fence = nvgpu_get_sync_fence(s); | ||
58 | |||
59 | sync_fence_get(fence); | ||
60 | sync_fence_install(fence, fd); | ||
61 | } | ||
62 | |||
55 | int nvgpu_os_fence_fdget(struct nvgpu_os_fence *fence_out, | 63 | int nvgpu_os_fence_fdget(struct nvgpu_os_fence *fence_out, |
56 | struct channel_gk20a *c, int fd) | 64 | struct channel_gk20a *c, int fd) |
57 | { | 65 | { |
diff --git a/drivers/gpu/nvgpu/common/linux/os_fence_android_sema.c b/drivers/gpu/nvgpu/common/linux/os_fence_android_sema.c index b61bd893..d4aeb6ed 100644 --- a/drivers/gpu/nvgpu/common/linux/os_fence_android_sema.c +++ b/drivers/gpu/nvgpu/common/linux/os_fence_android_sema.c | |||
@@ -69,6 +69,7 @@ int nvgpu_os_fence_sema_wait_gen_cmd(struct nvgpu_os_fence *s, | |||
69 | static const struct nvgpu_os_fence_ops sema_ops = { | 69 | static const struct nvgpu_os_fence_ops sema_ops = { |
70 | .program_waits = nvgpu_os_fence_sema_wait_gen_cmd, | 70 | .program_waits = nvgpu_os_fence_sema_wait_gen_cmd, |
71 | .drop_ref = nvgpu_os_fence_android_drop_ref, | 71 | .drop_ref = nvgpu_os_fence_android_drop_ref, |
72 | .install_fence = nvgpu_os_fence_android_install_fd, | ||
72 | }; | 73 | }; |
73 | 74 | ||
74 | int nvgpu_os_fence_sema_create( | 75 | int nvgpu_os_fence_sema_create( |
diff --git a/drivers/gpu/nvgpu/common/linux/os_fence_android_syncpt.c b/drivers/gpu/nvgpu/common/linux/os_fence_android_syncpt.c index 76def831..b3712011 100644 --- a/drivers/gpu/nvgpu/common/linux/os_fence_android_syncpt.c +++ b/drivers/gpu/nvgpu/common/linux/os_fence_android_syncpt.c | |||
@@ -88,6 +88,7 @@ int nvgpu_os_fence_syncpt_wait_gen_cmd(struct nvgpu_os_fence *s, | |||
88 | static const struct nvgpu_os_fence_ops syncpt_ops = { | 88 | static const struct nvgpu_os_fence_ops syncpt_ops = { |
89 | .program_waits = nvgpu_os_fence_syncpt_wait_gen_cmd, | 89 | .program_waits = nvgpu_os_fence_syncpt_wait_gen_cmd, |
90 | .drop_ref = nvgpu_os_fence_android_drop_ref, | 90 | .drop_ref = nvgpu_os_fence_android_drop_ref, |
91 | .install_fence = nvgpu_os_fence_android_install_fd, | ||
91 | }; | 92 | }; |
92 | 93 | ||
93 | int nvgpu_os_fence_syncpt_create( | 94 | int nvgpu_os_fence_syncpt_create( |