summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/include
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/include
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/include')
-rw-r--r--drivers/gpu/nvgpu/include/nvgpu/linux/os_fence_android.h2
-rw-r--r--drivers/gpu/nvgpu/include/nvgpu/os_fence.h6
2 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/include/nvgpu/linux/os_fence_android.h b/drivers/gpu/nvgpu/include/nvgpu/linux/os_fence_android.h
index 39d08339..201b5306 100644
--- a/drivers/gpu/nvgpu/include/nvgpu/linux/os_fence_android.h
+++ b/drivers/gpu/nvgpu/include/nvgpu/linux/os_fence_android.h
@@ -39,6 +39,8 @@ void nvgpu_os_fence_init(struct nvgpu_os_fence *fence_out,
39 struct gk20a *g, const struct nvgpu_os_fence_ops *fops, 39 struct gk20a *g, const struct nvgpu_os_fence_ops *fops,
40 struct sync_fence *fence); 40 struct sync_fence *fence);
41 41
42void nvgpu_os_fence_android_install_fd(struct nvgpu_os_fence *s, int fd);
43
42int nvgpu_os_fence_syncpt_fdget( 44int nvgpu_os_fence_syncpt_fdget(
43 struct nvgpu_os_fence *fence_out, 45 struct nvgpu_os_fence *fence_out,
44 struct channel_gk20a *c, int fd); 46 struct channel_gk20a *c, int fd);
diff --git a/drivers/gpu/nvgpu/include/nvgpu/os_fence.h b/drivers/gpu/nvgpu/include/nvgpu/os_fence.h
index a22140da..4713ed3e 100644
--- a/drivers/gpu/nvgpu/include/nvgpu/os_fence.h
+++ b/drivers/gpu/nvgpu/include/nvgpu/os_fence.h
@@ -60,6 +60,12 @@ struct nvgpu_os_fence_ops {
60 * for the underlying sync_fence. 60 * for the underlying sync_fence.
61 */ 61 */
62 void (*drop_ref)(struct nvgpu_os_fence *s); 62 void (*drop_ref)(struct nvgpu_os_fence *s);
63
64 /*
65 * Used to install the fd in the corresponding OS. The underlying
66 * implementation varies from OS to OS.
67 */
68 void (*install_fence)(struct nvgpu_os_fence *s, int fd);
63}; 69};
64 70
65/* 71/*