diff options
author | Deepak Nibade <dnibade@nvidia.com> | 2018-02-13 07:02:38 -0500 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2018-02-26 06:48:11 -0500 |
commit | 8d5536271f989e01018a543016340a3d76a2fae2 (patch) | |
tree | c4981034e75b1933862b35518157c0897027e2b7 /drivers/gpu/nvgpu/common/linux/ioctl_ctrl.c | |
parent | 180604fec0bde1710923e78a3877d49892cbf883 (diff) |
gpu: nvgpu: add user API to get a syncpoint
Add new user API NVGPU_IOCTL_CHANNEL_GET_USER_SYNCPOINT which will expose
per-channel allocated syncpoint to user space
API will also return current value of the syncpoint
On supported platforms, this API will also return a RW semaphore address
(corresponding to syncpoint shim) to user space
Add new characteristics flag NVGPU_GPU_FLAGS_SUPPORT_USER_SYNCPOINT to indicate
support for this new API
Add new flag NVGPU_SUPPORT_USER_SYNCPOINT for use of core driver
Set this flag for GV11B and GP10B for now
Add a new API (*syncpt_address) in struct gk20a_channel_sync to get GPU_VA
address of a syncpoint
Add new API nvgpu_nvhost_syncpt_read_maxval() which will read and return MAX
value of syncpoint
Bug 200326065
Jira NVGPU-179
Change-Id: I9da6f17b85996f4fc6731c0bf94fca6f3181c3e0
Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1658009
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Konsta Holtta <kholtta@nvidia.com>
Reviewed-by: Vijayakumar Subbu <vsubbu@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/common/linux/ioctl_ctrl.c')
-rw-r--r-- | drivers/gpu/nvgpu/common/linux/ioctl_ctrl.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/ioctl_ctrl.c b/drivers/gpu/nvgpu/common/linux/ioctl_ctrl.c index 71a9bee6..257c04b2 100644 --- a/drivers/gpu/nvgpu/common/linux/ioctl_ctrl.c +++ b/drivers/gpu/nvgpu/common/linux/ioctl_ctrl.c | |||
@@ -158,6 +158,8 @@ static struct nvgpu_flags_mapping flags_mapping[] = { | |||
158 | NVGPU_SUPPORT_DETERMINISTIC_OPTS}, | 158 | NVGPU_SUPPORT_DETERMINISTIC_OPTS}, |
159 | {NVGPU_GPU_FLAGS_SUPPORT_SYNCPOINT_ADDRESS, | 159 | {NVGPU_GPU_FLAGS_SUPPORT_SYNCPOINT_ADDRESS, |
160 | NVGPU_SUPPORT_SYNCPOINT_ADDRESS}, | 160 | NVGPU_SUPPORT_SYNCPOINT_ADDRESS}, |
161 | {NVGPU_GPU_FLAGS_SUPPORT_USER_SYNCPOINT, | ||
162 | NVGPU_SUPPORT_USER_SYNCPOINT}, | ||
161 | {NVGPU_GPU_FLAGS_SUPPORT_IO_COHERENCE, | 163 | {NVGPU_GPU_FLAGS_SUPPORT_IO_COHERENCE, |
162 | NVGPU_SUPPORT_IO_COHERENCE}, | 164 | NVGPU_SUPPORT_IO_COHERENCE}, |
163 | {NVGPU_GPU_FLAGS_SUPPORT_RESCHEDULE_RUNLIST, | 165 | {NVGPU_GPU_FLAGS_SUPPORT_RESCHEDULE_RUNLIST, |