mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-24 10:34:43 +03:00
The stored fence in struct gk20a_buffer_state is a post fence of a previous cde preparation job, if any. This stored fence is passed to userspace via NVGPU_GPU_IOCTL_PREPARE_COMPRESSIBLE_READ in case a preparation job was necessary to fulfill the request. As nothing else is needed from the fence, make it just a struct nvgpu_user_fence. Add nvgpu_user_fence_clone() for copying this user fence because it's stored internally and returned to userspace. The refcounted os fence needs special care. Now that the API is not so trivial anymore, add some documentation. Jira NVGPU-5248 Jira NVGPU-5493 Change-Id: I8bc4d52eaab7c7cbc5573b331e72e1d853f9f057 Signed-off-by: Konsta Hölttä <kholtta@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2359065 Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> Reviewed-by: svc-mobile-misra <svc-mobile-misra@nvidia.com> Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com> Reviewed-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-by: Alex Waterman <alexw@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit