From c6013245ce9ce287bb86d327f9b6420a320a08e6 Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Thu, 20 Jul 2023 12:45:57 +0200 Subject: [PATCH] xf86drm: add drmSyncobjEventfd This is a wrapper for DRM_IOCTL_SYNCOBJ_EVENTFD. Signed-off-by: Simon Ser --- core-symbols.txt | 1 + xf86drm.c | 14 ++++++++++++++ xf86drm.h | 2 ++ 3 files changed, 17 insertions(+) diff --git a/core-symbols.txt b/core-symbols.txt index 9f8a323b..0d3464e9 100644 --- a/core-symbols.txt +++ b/core-symbols.txt @@ -187,6 +187,7 @@ drmSLNext drmSwitchToContext drmSyncobjCreate drmSyncobjDestroy +drmSyncobjEventfd drmSyncobjExportSyncFile drmSyncobjFDToHandle drmSyncobjHandleToFD diff --git a/xf86drm.c b/xf86drm.c index 2afb99e0..52b83ccc 100644 --- a/xf86drm.c +++ b/xf86drm.c @@ -5102,6 +5102,20 @@ drm_public int drmSyncobjTransfer(int fd, return ret; } +drm_public int drmSyncobjEventfd(int fd, uint32_t handle, uint64_t point, int ev_fd, + uint32_t flags) +{ + struct drm_syncobj_eventfd args; + + memclear(args); + args.handle = handle; + args.point = point; + args.fd = ev_fd; + args.flags = flags; + + return drmIoctl(fd, DRM_IOCTL_SYNCOBJ_EVENTFD, &args); +} + static char * drmGetFormatModifierFromSimpleTokens(uint64_t modifier) { diff --git a/xf86drm.h b/xf86drm.h index de756e88..1c38cb18 100644 --- a/xf86drm.h +++ b/xf86drm.h @@ -947,6 +947,8 @@ extern int drmSyncobjTransfer(int fd, uint32_t dst_handle, uint64_t dst_point, uint32_t src_handle, uint64_t src_point, uint32_t flags); +extern int drmSyncobjEventfd(int fd, uint32_t handle, uint64_t point, int ev_fd, + uint32_t flags); extern char * drmGetFormatModifierVendor(uint64_t modifier);