mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-03 06:49:52 +08:00
Create a wrapper for drm_i915_gem_context_param
Related-To: NEO-6852, NEO-6999 Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
47d9d8f9e2
commit
2202d05ea1
@@ -86,7 +86,7 @@ int DrmMock::ioctl(unsigned long request, void *arg) {
|
||||
receivedContextCreateSetParam = *reinterpret_cast<drm_i915_gem_context_create_ext_setparam *>(create->extensions);
|
||||
if (receivedContextCreateSetParam.base.name == I915_CONTEXT_CREATE_EXT_SETPARAM) {
|
||||
receivedContextParamRequestCount++;
|
||||
receivedContextParamRequest = receivedContextCreateSetParam.param;
|
||||
receivedContextParamRequest = *reinterpret_cast<GemContextParam *>(&receivedContextCreateSetParam.param);
|
||||
if (receivedContextCreateSetParam.param.param == I915_CONTEXT_PARAM_VM) {
|
||||
return this->storedRetVal;
|
||||
}
|
||||
@@ -103,7 +103,7 @@ int DrmMock::ioctl(unsigned long request, void *arg) {
|
||||
if ((request == DRM_IOCTL_I915_GEM_CONTEXT_SETPARAM) && (arg != nullptr)) {
|
||||
ioctlCount.contextSetParam++;
|
||||
receivedContextParamRequestCount++;
|
||||
receivedContextParamRequest = *static_cast<drm_i915_gem_context_param *>(arg);
|
||||
receivedContextParamRequest = *static_cast<GemContextParam *>(arg);
|
||||
if (receivedContextParamRequest.param == I915_CONTEXT_PARAM_PRIORITY) {
|
||||
return this->storedRetVal;
|
||||
}
|
||||
@@ -131,9 +131,9 @@ int DrmMock::ioctl(unsigned long request, void *arg) {
|
||||
if ((request == DRM_IOCTL_I915_GEM_CONTEXT_GETPARAM) && (arg != nullptr)) {
|
||||
ioctlCount.contextGetParam++;
|
||||
receivedContextParamRequestCount++;
|
||||
receivedContextParamRequest = *static_cast<drm_i915_gem_context_param *>(arg);
|
||||
receivedContextParamRequest = *static_cast<GemContextParam *>(arg);
|
||||
if (receivedContextParamRequest.param == I915_CONTEXT_PARAM_GTT_SIZE) {
|
||||
static_cast<drm_i915_gem_context_param *>(arg)->value = this->storedGTTSize;
|
||||
static_cast<GemContextParam *>(arg)->value = this->storedGTTSize;
|
||||
return this->storedRetValForGetGttSize;
|
||||
}
|
||||
if (receivedContextParamRequest.param == I915_CONTEXT_PARAM_SSEU) {
|
||||
@@ -143,12 +143,12 @@ int DrmMock::ioctl(unsigned long request, void *arg) {
|
||||
return this->storedRetValForGetSSEU;
|
||||
}
|
||||
if (receivedContextParamRequest.param == I915_CONTEXT_PARAM_PERSISTENCE) {
|
||||
static_cast<drm_i915_gem_context_param *>(arg)->value = this->storedPersistentContextsSupport;
|
||||
static_cast<GemContextParam *>(arg)->value = this->storedPersistentContextsSupport;
|
||||
return this->storedRetValForPersistant;
|
||||
}
|
||||
|
||||
if (receivedContextParamRequest.param == I915_CONTEXT_PARAM_VM) {
|
||||
static_cast<drm_i915_gem_context_param *>(arg)->value = this->storedRetValForVmId;
|
||||
static_cast<GemContextParam *>(arg)->value = this->storedRetValForVmId;
|
||||
return 0u;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -204,7 +204,7 @@ class DrmMock : public Drm {
|
||||
uint32_t ioctlCallsCount = 0;
|
||||
|
||||
uint32_t receivedContextParamRequestCount = 0;
|
||||
drm_i915_gem_context_param receivedContextParamRequest = {};
|
||||
GemContextParam receivedContextParamRequest = {};
|
||||
uint64_t receivedRecoverableContextValue = std::numeric_limits<uint64_t>::max();
|
||||
|
||||
bool queryPageFaultSupportCalled = false;
|
||||
|
||||
@@ -51,7 +51,7 @@ int DrmMockPrelimContext::handlePrelimRequest(unsigned long request, void *arg)
|
||||
}
|
||||
} break;
|
||||
case DRM_IOCTL_I915_GEM_CONTEXT_GETPARAM: {
|
||||
auto gp = static_cast<drm_i915_gem_context_param *>(arg);
|
||||
auto gp = static_cast<GemContextParam *>(arg);
|
||||
if (gp->param == PRELIM_I915_CONTEXT_PARAM_DEBUG_FLAGS) {
|
||||
gp->value = contextDebugSupported ? PRELIM_I915_CONTEXT_PARAM_DEBUG_FLAG_SIP << 32 : 0;
|
||||
return 0;
|
||||
@@ -194,10 +194,10 @@ int DrmMockPrelimContext::handlePrelimRequest(unsigned long request, void *arg)
|
||||
return 0;
|
||||
} break;
|
||||
case DRM_IOCTL_I915_GEM_CONTEXT_SETPARAM: {
|
||||
const auto req = reinterpret_cast<drm_i915_gem_context_param *>(arg);
|
||||
const auto req = reinterpret_cast<GemContextParam *>(arg);
|
||||
if (req->param == PRELIM_I915_CONTEXT_PARAM_DEBUG_FLAGS) {
|
||||
receivedSetContextParamValue = req->value;
|
||||
receivedSetContextParamCtxId = req->ctx_id;
|
||||
receivedSetContextParamCtxId = req->contextId;
|
||||
}
|
||||
|
||||
return !contextDebugSupported ? EINVAL : 0;
|
||||
|
||||
Reference in New Issue
Block a user