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
Cc: Chunming Zhou <david1.zhou@amd.com>
Subject: [PATCH libdrm 5/7] add timeline signal/transfer ioctls v2
Date: Fri, 7 Dec 2018 23:56:40 +0800	[thread overview]
Message-ID: <20181207155642.16063-5-david1.zhou@amd.com> (raw)
In-Reply-To: <20181207155642.16063-1-david1.zhou@amd.com>

v2: use one transfer ioctl

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

diff --git a/xf86drm.c b/xf86drm.c
index 9816b3b2..2a089616 100644
--- a/xf86drm.c
+++ b/xf86drm.c
@@ -4278,6 +4278,21 @@ drm_public int drmSyncobjSignal(int fd, const uint32_t *handles,
     return ret;
 }
 
+drm_public int drmSyncobjTimelineSignal(int fd, const 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_TIMELINE_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,
@@ -4320,4 +4335,22 @@ drm_public int drmSyncobjQuery(int fd, uint32_t *handles, uint64_t *points,
     return 0;
 }
 
+drm_public int drmSyncobjTransfer(int fd,
+				  uint32_t dst_handle, uint64_t dst_point,
+				  uint32_t src_handle, uint64_t src_point,
+				  uint32_t flags)
+{
+    struct drm_syncobj_transfer args;
+    int ret;
+
+    memclear(args);
+    args.src_handle = src_handle;
+    args.dst_handle = dst_handle;
+    args.src_point = src_point;
+    args.dst_point = dst_point;
+    args.flags = flags;
+
+    ret = drmIoctl(fd, DRM_IOCTL_SYNCOBJ_TRANSFER, &args);
 
+    return ret;
+}
diff --git a/xf86drm.h b/xf86drm.h
index 49a40633..799d9b9e 100644
--- a/xf86drm.h
+++ b/xf86drm.h
@@ -875,12 +875,18 @@ 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 drmSyncobjTimelineSignal(int fd, const uint32_t *handles,
+				    uint64_t *points, 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);
+extern int drmSyncobjTransfer(int fd,
+			      uint32_t dst_handle, uint64_t dst_point,
+			      uint32_t src_handle, uint64_t src_point,
+			      uint32_t flags);
 
 #if defined(__cplusplus)
 }
-- 
2.17.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

Thread overview: 7+ 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 ` [PATCH libdrm 3/7] add timeline wait/query ioctl v2 Chunming Zhou
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 ` Chunming Zhou [this message]
     [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

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-5-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.