Stop using CONTEXT_SET_PARAM to set context VM

Use DRM_IOCTL_I915_GEM_CONTEXT_CREATE_EXT extension mechanism instead

Resolves: NEO-5881

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
This commit is contained in:
Igor Venevtsev
2021-12-01 18:19:36 +00:00
committed by Compute-Runtime-Automation
parent 8b233f7f45
commit 4d433d8674
3 changed files with 16 additions and 9 deletions

View File

@@ -146,6 +146,15 @@ bool Drm::isVmBindAvailable() {
uint32_t Drm::createDrmContextExt(drm_i915_gem_context_create_ext &gcc, uint32_t drmVmId, bool isSpecialContextRequested,
bool isCooperativeContextRequested) {
drm_i915_gem_context_create_ext_setparam extSetparam = {};
if (drmVmId > 0) {
extSetparam.base.name = I915_CONTEXT_CREATE_EXT_SETPARAM;
extSetparam.param.param = I915_CONTEXT_PARAM_VM;
extSetparam.param.value = drmVmId;
gcc.extensions = reinterpret_cast<uint64_t>(&extSetparam);
gcc.flags |= I915_CONTEXT_CREATE_FLAGS_USE_EXTENSIONS;
}
return ioctl(DRM_IOCTL_I915_GEM_CONTEXT_CREATE_EXT, &gcc);
}