All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chunming Zhou <david1.zhou@amd.com>
To: Christian.Koenig@amd.com, dri-devel@lists.freedesktop.org,
	amd-gfx@lists.freedesktop.org, intel-gfx@lists.freedesktop.org
Subject: [PATCH libdrm 3/7] add timeline wait/query ioctl v2
Date: Fri, 7 Dec 2018 23:56:38 +0800	[thread overview]
Message-ID: <20181207155642.16063-3-david1.zhou@amd.com> (raw)
In-Reply-To: <20181207155642.16063-1-david1.zhou@amd.com>

v2: drop export/import

Signed-off-by: Chunming Zhou <david1.zhou@amd.com>
---
 xf86drm.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
 xf86drm.h |  6 ++++++
 2 files changed, 50 insertions(+)

diff --git a/xf86drm.c b/xf86drm.c
index 71ad54ba..9816b3b2 100644
--- a/xf86drm.c
+++ b/xf86drm.c
@@ -4277,3 +4277,47 @@ drm_public int drmSyncobjSignal(int fd, const uint32_t *handles,
     ret = drmIoctl(fd, DRM_IOCTL_SYNCOBJ_SIGNAL, &args);
     return ret;
 }
+
+drm_public int drmSyncobjTimelineWait(int fd, uint32_t *handles, uint64_t *points,
+				      unsigned num_handles,
+				      int64_t timeout_nsec, unsigned flags,
+				      uint32_t *first_signaled)
+{
+    struct drm_syncobj_timeline_wait args;
+    int ret;
+
+    memclear(args);
+    args.handles = (uintptr_t)handles;
+    args.points = (uint64_t)(uintptr_t)points;
+    args.timeout_nsec = timeout_nsec;
+    args.count_handles = num_handles;
+    args.flags = flags;
+
+    ret = drmIoctl(fd, DRM_IOCTL_SYNCOBJ_TIMELINE_WAIT, &args);
+    if (ret < 0)
+        return -errno;
+
+    if (first_signaled)
+        *first_signaled = args.first_signaled;
+    return ret;
+}
+
+
+drm_public int drmSyncobjQuery(int fd, uint32_t *handles, uint64_t *points,
+			       uint32_t handle_count)
+{
+    struct drm_syncobj_timeline_array args;
+    int ret;
+
+    memclear(args);
+    args.handles = (uintptr_t)handles;
+    args.points = (uint64_t)(uintptr_t)points;
+    args.count_handles = handle_count;
+
+    ret = drmIoctl(fd, DRM_IOCTL_SYNCOBJ_QUERY, &args);
+    if (ret)
+        return ret;
+    return 0;
+}
+
+
diff --git a/xf86drm.h b/xf86drm.h
index 7773d71a..49a40633 100644
--- a/xf86drm.h
+++ b/xf86drm.h
@@ -875,6 +875,12 @@ extern int drmSyncobjWait(int fd, uint32_t *handles, unsigned num_handles,
 			  uint32_t *first_signaled);
 extern int drmSyncobjReset(int fd, const uint32_t *handles, uint32_t handle_count);
 extern int drmSyncobjSignal(int fd, const uint32_t *handles, uint32_t handle_count);
+extern int drmSyncobjTimelineWait(int fd, uint32_t *handles, uint64_t *points,
+				  unsigned num_handles,
+				  int64_t timeout_nsec, unsigned flags,
+				  uint32_t *first_signaled);
+extern int drmSyncobjQuery(int fd, uint32_t *handles, uint64_t *points,
+			   uint32_t handle_count);
 
 #if defined(__cplusplus)
 }
-- 
2.17.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2018-12-07 15:56 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-07 15:56 [PATCH libdrm 1/7] new syncobj extension v3 Chunming Zhou
2018-12-07 15:56 ` Chunming Zhou [this message]
2018-12-07 15:56 ` [PATCH libdrm 4/7] wrap syncobj timeline query/wait APIs for amdgpu v3 Chunming Zhou
2018-12-07 15:56 ` [PATCH libdrm 5/7] add timeline signal/transfer ioctls v2 Chunming Zhou
     [not found] ` <20181207155642.16063-1-david1.zhou-5C7GfCeVMHo@public.gmane.org>
2018-12-07 15:56   ` [PATCH libdrm 2/7] addr cs chunk for syncobj timeline Chunming Zhou
2018-12-07 15:56   ` [PATCH libdrm 6/7] expose timeline signal/export/import interfaces v2 Chunming Zhou
2018-12-07 15:56 ` [PATCH libdrm 7/7] add syncobj timeline tests v3 Chunming Zhou
  -- strict thread matches above, loose matches on Subject: below --
2018-12-07  9:57 [PATCH libdrm 1/7] new syncobj extension v2 Chunming Zhou
     [not found] ` <20181207095803.2155-1-david1.zhou-5C7GfCeVMHo@public.gmane.org>
2018-12-07  9:57   ` [PATCH libdrm 3/7] add timeline wait/query ioctl v2 Chunming Zhou

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181207155642.16063-3-david1.zhou@amd.com \
    --to=david1.zhou@amd.com \
    --cc=Christian.Koenig@amd.com \
    --cc=amd-gfx@lists.freedesktop.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.