OSDN Git Service

wrap transfer interfaces
authorChunming Zhou <david1.zhou@amd.com>
Thu, 16 May 2019 08:07:13 +0000 (16:07 +0800)
committerChristian König <christian.koenig@amd.com>
Thu, 16 May 2019 10:07:18 +0000 (12:07 +0200)
Signed-off-by: Chunming Zhou <david1.zhou@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
amdgpu/amdgpu.h
amdgpu/amdgpu_cs.c

index d2480db..9d9b083 100644 (file)
@@ -1685,6 +1685,28 @@ int amdgpu_cs_syncobj_import_sync_file2(amdgpu_device_handle dev,
                                        uint32_t syncobj,
                                        uint64_t point,
                                        int sync_file_fd);
+
+/**
+ *  transfer between syncbojs.
+ *
+ * \param   dev                - \c [in] device handle
+ * \param   dst_handle - \c [in] sync object handle
+ * \param   dst_point  - \c [in] timeline point, 0 presents dst is binary
+ * \param   src_handle - \c [in] sync object handle
+ * \param   src_point  - \c [in] timeline point, 0 presents src is binary
+ * \param   flags      - \c [in] flags
+ *
+ * \return   0 on success\n
+ *          <0 - Negative POSIX Error code
+ *
+ */
+int amdgpu_cs_syncobj_transfer(amdgpu_device_handle dev,
+                              uint32_t dst_handle,
+                              uint64_t dst_point,
+                              uint32_t src_handle,
+                              uint64_t src_point,
+                              uint32_t flags);
+
 /**
  * Export an amdgpu fence as a handle (syncobj or fd).
  *
index daca442..977fa3c 100644 (file)
@@ -817,6 +817,22 @@ out:
        return ret;
 }
 
+drm_public int amdgpu_cs_syncobj_transfer(amdgpu_device_handle dev,
+                                         uint32_t dst_handle,
+                                         uint64_t dst_point,
+                                         uint32_t src_handle,
+                                         uint64_t src_point,
+                                         uint32_t flags)
+{
+       if (NULL == dev)
+               return -EINVAL;
+
+       return drmSyncobjTransfer(dev->fd,
+                                 dst_handle, dst_point,
+                                 src_handle, src_point,
+                                 flags);
+}
+
 drm_public int amdgpu_cs_submit_raw(amdgpu_device_handle dev,
                                    amdgpu_context_handle context,
                                    amdgpu_bo_list_handle bo_list_handle,