From: Lionel Landwerlin <lionel.g.landwerlin-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
To: Chunming Zhou <david1.zhou-5C7GfCeVMHo@public.gmane.org>,
dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org,
amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
Cc: Christian.Koenig-5C7GfCeVMHo@public.gmane.org
Subject: Re: [PATCH libdrm 4/7] add timeline signal/transfer ioctls v2
Date: Tue, 14 May 2019 10:44:31 +0100 [thread overview]
Message-ID: <650e63c2-abd7-7eed-905f-83e52bd353c2@intel.com> (raw)
In-Reply-To: <20190513095305.14110-4-david1.zhou-5C7GfCeVMHo@public.gmane.org>
On 13/05/2019 10:53, Chunming Zhou wrote:
> 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 17e3d880..acd16fab 100644
> --- a/xf86drm.c
> +++ b/xf86drm.c
> @@ -4257,6 +4257,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;
I think you can drop the uint64_t cast.
> + 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,
> @@ -4299,4 +4314,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 60c7a84f..3fb1d1ca 100644
> --- a/xf86drm.h
> +++ b/xf86drm.h
> @@ -876,12 +876,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)
> }
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
next prev parent reply other threads:[~2019-05-14 9:44 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-13 9:52 [PATCH libdrm 1/7] addr cs chunk for syncobj timeline Chunming Zhou
2019-05-13 9:53 ` [PATCH libdrm 3/7] wrap syncobj timeline query/wait APIs for amdgpu v3 Chunming Zhou
2019-05-13 9:53 ` [PATCH libdrm 4/7] add timeline signal/transfer ioctls v2 Chunming Zhou
[not found] ` <20190513095305.14110-4-david1.zhou-5C7GfCeVMHo@public.gmane.org>
2019-05-14 9:44 ` Lionel Landwerlin [this message]
2019-05-13 9:53 ` [PATCH libdrm 5/7] expose timeline signal/export/import interfaces v2 Chunming Zhou
2019-05-13 9:53 ` [PATCH libdrm 6/7] wrap transfer interfaces Chunming Zhou
2019-05-13 9:53 ` [PATCH libdrm 7/7] add syncobj timeline tests v3 Chunming Zhou
[not found] ` <20190513095305.14110-1-david1.zhou-5C7GfCeVMHo@public.gmane.org>
2019-05-13 9:53 ` [PATCH libdrm 2/7] add timeline wait/query ioctl v2 Chunming Zhou
2019-05-14 9:43 ` Lionel Landwerlin
2019-05-13 10:15 ` [PATCH libdrm 1/7] addr cs chunk for syncobj timeline zhoucm1
[not found] ` <9179e6bc-77f3-f284-d1ad-13d8956e1919-5C7GfCeVMHo@public.gmane.org>
2019-05-13 20:17 ` Lionel Landwerlin
2019-05-14 9:49 ` Lionel Landwerlin
2019-05-14 10:05 ` zhoucm1
-- strict thread matches above, loose matches on Subject: below --
2019-05-16 8:07 [PATCH libdrm 1/7] add " Chunming Zhou
2019-05-16 8:07 ` [PATCH libdrm 4/7] add timeline signal/transfer ioctls v2 Chunming Zhou
2019-05-07 11:33 [PATCH libdrm 1/7] addr cs chunk for syncobj timeline Chunming Zhou
2019-05-07 11:33 ` [PATCH libdrm 4/7] add timeline signal/transfer ioctls 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=650e63c2-abd7-7eed-905f-83e52bd353c2@intel.com \
--to=lionel.g.landwerlin-ral2jqcrhueavxtiumwx3w@public.gmane.org \
--cc=Christian.Koenig-5C7GfCeVMHo@public.gmane.org \
--cc=amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
--cc=david1.zhou-5C7GfCeVMHo@public.gmane.org \
--cc=dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.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.