[PATCH] amdgpu: add interface for reserve/unserve vmid
Chunming Zhou
David1.Zhou at amd.com
Fri Apr 28 09:22:46 UTC 2017
Change-Id: If533576eb8a65bd019a3480d6fe2a64f23e3c944
Signed-off-by: Chunming Zhou <David1.Zhou at amd.com>
---
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)
+{
+ union drm_amdgpu_vm args;
+ int r;
+
+ if (NULL == dev)
+ return -EINVAL;
+
+ /* Create the context */
+ 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 */
+ 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;
+}
--
1.9.1
More information about the amd-gfx
mailing list