diff options
Diffstat (limited to 'lib/i915/gem_context.c')
-rw-r--r-- | lib/i915/gem_context.c | 24 |
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); +} |