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/include | |
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/include')
-rw-r--r-- | drivers/gpu/nvgpu/include/nvgpu/linux/os_fence_android.h | 2 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/include/nvgpu/os_fence.h | 6 |
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 | ||
42 | void nvgpu_os_fence_android_install_fd(struct nvgpu_os_fence *s, int fd); | ||
43 | |||
42 | int nvgpu_os_fence_syncpt_fdget( | 44 | int 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 | /* |