drm/syncobj: Extend EXPORT_SYNC_FILE for timeline syncobjs
authorRob Clark <robdclark@chromium.org>
Tue, 1 Apr 2025 15:57:58 +0000 (08:57 -0700)
committerChristian König <christian.koenig@amd.com>
Tue, 1 Apr 2025 16:30:25 +0000 (18:30 +0200)
commitc2d3a730069545f2cc2d644bfa8b1482e6388826
treef2eee1207e54b23f542a098e7e655f81f42fae28
parentde04bb0089a96cc00d13b12cbf66a088befe3057
drm/syncobj: Extend EXPORT_SYNC_FILE for timeline syncobjs

Add support for exporting a dma_fence fd for a specific point on a
timeline.  This is needed for vtest/vpipe[1][2] to implement timeline
syncobj support, as it needs a way to turn a point on a timeline back
into a dma_fence fd.  It also closes an odd omission from the syncobj
UAPI.

[1] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33433
[2] https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/805

v2: Add DRM_SYNCOBJ_HANDLE_TO_FD_FLAGS_TIMELINE
v3: Add unstaged uabi header hunk
v4: Also handle IMPORT_SYNC_FILE case
v5: Address comments from Dmitry
v6: checkpatch.pl nits

Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250401155758.48855-1-robdclark@gmail.com
Signed-off-by: Christian König <christian.koenig@amd.com>
drivers/gpu/drm/drm_syncobj.c
include/uapi/drm/drm.h