On 04/28/2017 05:22 PM, Chunming Zhou wrote:
Change-Id: If533576eb8a65bd019a3480d6fe2a64f23e3c944
Signed-off-by: Chunming Zhou <[email protected]>
---
  amdgpu/amdgpu.h    | 13 +++++++++++++
  amdgpu/amdgpu_cs.c | 30 ++++++++++++++++++++++++++++++
  2 files changed, 43 insertions(+)

diff --git a/amdgpu/amdgpu.h b/amdgpu/amdgpu.h
index 4772006..7afade0 100644
--- a/amdgpu/amdgpu.h
+++ b/amdgpu/amdgpu.h
@@ -1626,6 +1626,19 @@ int amdgpu_cs_signal_sem(amdgpu_device_handle dev,
                         uint32_t ip_instance,
                         uint32_t ring,
                         amdgpu_sem_handle sem);
+/**
+ *  reserve vmid for this process
+ *
+ * \param   dev    - [in] Device handle. See #amdgpu_device_initialize()
+ */
+int amdgpu_cs_reserved_vmid(amdgpu_device_handle dev);
+
+/**
+ *  unreserve vmid for this process
+ *
+ * \param   dev    - [in] Device handle. See #amdgpu_device_initialize()
+ */
+int amdgpu_cs_unreserved_vmid(amdgpu_device_handle dev);

  /**
   *  wait sem
diff --git a/amdgpu/amdgpu_cs.c b/amdgpu/amdgpu_cs.c
index 62b595a..df362ee 100644
--- a/amdgpu/amdgpu_cs.c
+++ b/amdgpu/amdgpu_cs.c
@@ -754,3 +754,33 @@ int amdgpu_cs_destroy_sem(amdgpu_device_handle dev,

        return 0;
  }
+
+int amdgpu_cs_unreserved_vmid(amdgpu_device_handle dev)

We might provide one more parameter for UMD flexibly, even if it's unused for 
now.
i.e. the number of reserved vmid(constrained by KMD limitation, of course) and anything else like that.

Did we have any discussion about it with UMD guys?

+{
+       union drm_amdgpu_vm args;
+       int r;
+
+       if (NULL == dev)
+               return -EINVAL;
+
+       /* Create the context */

It looks typo in comment for the actual code

+       memset(&args, 0, sizeof(args));
+       args.in.op = AMDGPU_VM_OP_UNRESERVE_VMID;
+       r = drmCommandWriteRead(dev->fd, DRM_AMDGPU_VM, &args, sizeof(args));
+       return r;
+}
+
+int amdgpu_cs_reserved_vmid(amdgpu_device_handle dev)
+{
+       union drm_amdgpu_vm args;
+       int r;
+
+       if (NULL == dev)
+               return -EINVAL;
+
+       /* Create the context */

Same typo as above comment

Jerry
+       memset(&args, 0, sizeof(args));
+       args.in.op = AMDGPU_VM_OP_RESERVE_VMID;
+       r = drmCommandWriteRead(dev->fd, DRM_AMDGPU_VM, &args, sizeof(args));
+       return r;
+}

_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to