mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-25 02:52:51 +03:00
The os fences can currently be constructed from a file descriptor, from a raw syncpt id/value pair, or a struct nvgpu_semaphore. Each os fence object has exactly one owner for simplicity as the owner is a wrapper for a refcounted object. This does not allow copying the fences, so extend struct nvgpu_os_fence_ops with a member to increment the refcount of the underlying fence. This can be used to "duplicate" the object. The copy needs an eventual call to ops->drop_ref() to release the refcount. This will be useful to decouple the features of struct nvgpu_fence_type needed in the kernel and those needed for userspace. Jira NVGPU-5248 Change-Id: Ie7b943f0851f62842e941a7283b389bac84ae9ae Signed-off-by: Konsta Hölttä <kholtta@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2359063 Reviewed-by: automaticguardword <automaticguardword@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