diff options
author | Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> | 2017-12-17 00:27:10 +0100 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2017-12-18 09:51:50 +1000 |
commit | 5889f6ba1a250777ff8b6ba96a35dba3f02071ff (patch) | |
tree | 4c93388d30e90c2f575165e34471b3f461e26012 | |
parent | 1abccedc4d18305e8c3e3dd00d3262c134ef1d44 (diff) | |
download | libdrm-5889f6ba1a250777ff8b6ba96a35dba3f02071ff.tar.gz libdrm-5889f6ba1a250777ff8b6ba96a35dba3f02071ff.tar.bz2 libdrm-5889f6ba1a250777ff8b6ba96a35dba3f02071ff.zip |
amdgpu: Add syncobj reset & signal wrappers.
Signed-off-by: Dave Airlie <airlied@redhat.com>
-rwxr-xr-x | amdgpu/amdgpu-symbol-check | 2 | ||||
-rw-r--r-- | amdgpu/amdgpu.h | 28 | ||||
-rw-r--r-- | amdgpu/amdgpu_cs.c | 18 |
3 files changed, 48 insertions, 0 deletions
diff --git a/amdgpu/amdgpu-symbol-check b/amdgpu/amdgpu-symbol-check index 59db3cfe..3f298d13 100755 --- a/amdgpu/amdgpu-symbol-check +++ b/amdgpu/amdgpu-symbol-check @@ -45,6 +45,8 @@ amdgpu_cs_submit amdgpu_cs_submit_raw amdgpu_cs_syncobj_export_sync_file amdgpu_cs_syncobj_import_sync_file +amdgpu_cs_syncobj_reset +amdgpu_cs_syncobj_signal amdgpu_cs_syncobj_wait amdgpu_cs_wait_fences amdgpu_cs_wait_semaphore diff --git a/amdgpu/amdgpu.h b/amdgpu/amdgpu.h index c95cb03c..2eb03bf1 100644 --- a/amdgpu/amdgpu.h +++ b/amdgpu/amdgpu.h @@ -1382,6 +1382,34 @@ int amdgpu_cs_destroy_syncobj(amdgpu_device_handle dev, uint32_t syncobj); /** + * Reset kernel sync objects to unsignalled state. + * + * \param dev - \c [in] device handle + * \param syncobjs - \c [in] array of sync object handles + * \param syncobj_count - \c [in] number of handles in syncobjs + * + * \return 0 on success\n + * <0 - Negative POSIX Error code + * +*/ +int amdgpu_cs_syncobj_reset(amdgpu_device_handle dev, + const uint32_t *syncobjs, uint32_t syncobj_count); + +/** + * Signal kernel sync objects. + * + * \param dev - \c [in] device handle + * \param syncobjs - \c [in] array of sync object handles + * \param syncobj_count - \c [in] number of handles in syncobjs + * + * \return 0 on success\n + * <0 - Negative POSIX Error code + * +*/ +int amdgpu_cs_syncobj_signal(amdgpu_device_handle dev, + const uint32_t *syncobjs, uint32_t syncobj_count); + +/** * Wait for one or all sync objects to signal. * * \param dev - \c [in] self-explanatory diff --git a/amdgpu/amdgpu_cs.c b/amdgpu/amdgpu_cs.c index 9e157a84..987daa40 100644 --- a/amdgpu/amdgpu_cs.c +++ b/amdgpu/amdgpu_cs.c @@ -634,6 +634,24 @@ int amdgpu_cs_destroy_syncobj(amdgpu_device_handle dev, return drmSyncobjDestroy(dev->fd, handle); } +int amdgpu_cs_syncobj_reset(amdgpu_device_handle dev, + const uint32_t *syncobjs, uint32_t syncobj_count) +{ + if (NULL == dev) + return -EINVAL; + + return drmSyncobjReset(dev->fd, syncobjs, syncobj_count); +} + +int amdgpu_cs_syncobj_signal(amdgpu_device_handle dev, + const uint32_t *syncobjs, uint32_t syncobj_count) +{ + if (NULL == dev) + return -EINVAL; + + return drmSyncobjSignal(dev->fd, syncobjs, syncobj_count); +} + int amdgpu_cs_syncobj_wait(amdgpu_device_handle dev, uint32_t *handles, unsigned num_handles, int64_t timeout_nsec, unsigned flags, |