xf86drm: add drmSyncobjEventfd
authorSimon Ser <contact@emersion.fr>
Thu, 20 Jul 2023 10:45:57 +0000 (12:45 +0200)
committerSimon Ser <contact@emersion.fr>
Thu, 27 Jul 2023 14:10:41 +0000 (16:10 +0200)
This is a wrapper for DRM_IOCTL_SYNCOBJ_EVENTFD.

Signed-off-by: Simon Ser <contact@emersion.fr>
core-symbols.txt
xf86drm.c
xf86drm.h

index 9f8a323..0d3464e 100644 (file)
@@ -187,6 +187,7 @@ drmSLNext
 drmSwitchToContext
 drmSyncobjCreate
 drmSyncobjDestroy
+drmSyncobjEventfd
 drmSyncobjExportSyncFile
 drmSyncobjFDToHandle
 drmSyncobjHandleToFD
index 2afb99e..52b83cc 100644 (file)
--- 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)
 {
index de756e8..1c38cb1 100644 (file)
--- 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);