summaryrefslogtreecommitdiff
path: root/lib/i915/gem_context.c
diff options
context:
space:
mode:
authorAdam Miszczak <adam.miszczak@linux.intel.com>2022-07-01 16:05:43 -0700
committerAndi Shyti <andi.shyti@linux.intel.com>2022-07-09 02:43:54 +0200
commit790c1b18ca0815ca14b320e3b4d9e262fe46f1a4 (patch)
tree3f76796393633f04cbebf4a83ec155b268f05439 /lib/i915/gem_context.c
parent4382731875fe01cd86c7f7725f6070c2215c732c (diff)
lib/vm_bind: Add interface to support VM_BIND
Add required library interfaces to support VM_BIND functionality. Signed-off-by: Niranjana Vishwanathapura <niranjana.vishwanathapura@intel.com>
Diffstat (limited to 'lib/i915/gem_context.c')
-rw-r--r--lib/i915/gem_context.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/lib/i915/gem_context.c b/lib/i915/gem_context.c
index fe989a8d..2d06b419 100644
--- a/lib/i915/gem_context.c
+++ b/lib/i915/gem_context.c
@@ -517,3 +517,27 @@ uint32_t gem_context_create_for_class(int i915,
*count = i;
return p.ctx_id;
}
+
+uint32_t gem_context_get_vm(int fd, uint32_t ctx_id)
+{
+ struct drm_i915_gem_context_param p = {
+ .param = I915_CONTEXT_PARAM_VM,
+ .ctx_id = ctx_id,
+ };
+
+ gem_context_get_param(fd, &p);
+ igt_assert(p.value);
+
+ return p.value;
+}
+
+void gem_context_set_vm(int fd, uint32_t ctx_id, uint32_t vm_id)
+{
+ struct drm_i915_gem_context_param p = {
+ .param = I915_CONTEXT_PARAM_VM,
+ .ctx_id = ctx_id,
+ .value = vm_id,
+ };
+
+ gem_context_set_param(fd, &p);
+}