drm/amdgpu: Add wait IOCTL timeline syncobj support
Add user fence wait IOCTL timeline syncobj support.
v2:(Christian)
- handle dma_fence_wait() return value.
- shorten the variable name syncobj_timeline_points a bit.
- move num_points up to avoid padding issues.
v3:(Christian)
- Handle timeline drm_syncobj_find_fence() call error
handling
- Use dma_fence_unwrap_for_each() in timeline fence as
there could be more than one fence.
v4:(Christian)
- Drop the first num_fences since fence is always included in
the dma_fence_unwrap_for_each() iteration, when fence != f
then fence is most likely just a container.
v5: Added Alex RB to merge the kernel UAPI changes since he has
already approved the amdgpu_drm.h changes.
Signed-off-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
committed by
Alex Deucher
parent
a292fdecd7
commit
15e30a6e47
@@ -530,12 +530,26 @@ struct drm_amdgpu_userq_wait {
|
||||
* matching fence wait info pair in @userq_fence_info.
|
||||
*/
|
||||
__u32 bo_wait_flags;
|
||||
__u32 pad;
|
||||
/**
|
||||
* @num_points: A count that represents the number of timeline syncobj handles in
|
||||
* syncobj_handles_array.
|
||||
*/
|
||||
__u32 num_points;
|
||||
/**
|
||||
* @syncobj_handles_array: An array of syncobj handles defined to get the
|
||||
* fence wait information of every syncobj handles in the array.
|
||||
*/
|
||||
__u64 syncobj_handles_array;
|
||||
/**
|
||||
* @syncobj_timeline_handles: An array of timeline syncobj handles defined to get the
|
||||
* fence wait information of every timeline syncobj handles in the array.
|
||||
*/
|
||||
__u64 syncobj_timeline_handles;
|
||||
/**
|
||||
* @syncobj_timeline_points: An array of timeline syncobj points defined to get the
|
||||
* fence wait points of every timeline syncobj handles in the syncobj_handles_array.
|
||||
*/
|
||||
__u64 syncobj_timeline_points;
|
||||
/**
|
||||
* @bo_handles_array: An array of GEM BO handles defined to fetch the fence
|
||||
* wait information of every BO handles in the array.
|
||||
|
||||
Reference in New Issue
Block a user