Add logic to change queue slice count

Change-Id: I4f5ccb4ecb290e1a05e3a312b9fa2a5d9c5c17f7
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
This commit is contained in:
Katarzyna Cencelewska
2019-08-21 03:50:47 -07:00
committed by sys_ocldev
parent 7fa3865f0b
commit 260759268a
33 changed files with 599 additions and 119 deletions

View File

@@ -24,6 +24,8 @@ int failOnDeviceId = 0;
int failOnRevisionId = 0;
int failOnSoftPin = 0;
int failOnParamBoost = 0;
int failOnSetParamSseu = 0;
int failOnGetParamSseu = 0;
int failOnContextCreate = 0;
int failOnSetPriority = 0;
int failOnPreemption = 0;
@@ -93,6 +95,13 @@ int drmSetContextParam(drm_i915_gem_context_param *param) {
ret = failOnSetPriority;
break;
#endif
case I915_CONTEXT_PARAM_SSEU:
if (param->size == sizeof(struct drm_i915_gem_context_param_sseu) && param->value != 0 && param->ctx_id == 0) {
ret = failOnSetParamSseu;
} else {
ret = -1;
}
break;
default:
ret = -1;
std::cerr << "drm.setContextParam: " << std::dec << param->param << std::endl;
@@ -100,6 +109,24 @@ int drmSetContextParam(drm_i915_gem_context_param *param) {
}
return ret;
}
int drmGetContextParam(drm_i915_gem_context_param *param) {
int ret = 0;
switch (param->param) {
case I915_CONTEXT_PARAM_SSEU:
if (param->size == sizeof(struct drm_i915_gem_context_param_sseu) && param->value != 0 && param->ctx_id == 0) {
ret = failOnGetParamSseu;
} else {
ret = -1;
}
break;
default:
ret = -1;
std::cerr << "drm.getContextParam: " << std::dec << param->param << std::endl;
break;
}
return ret;
}
int drmContextCreate(drm_i915_gem_context_create *create) {
assert(create);
@@ -141,6 +168,9 @@ int ioctl(int fd, unsigned long int request, ...) throw() {
case DRM_IOCTL_I915_GEM_CONTEXT_SETPARAM:
res = drmSetContextParam(va_arg(vl, drm_i915_gem_context_param *));
break;
case DRM_IOCTL_I915_GEM_CONTEXT_GETPARAM:
res = drmGetContextParam(va_arg(vl, drm_i915_gem_context_param *));
break;
case DRM_IOCTL_I915_GEM_CONTEXT_CREATE:
res = drmContextCreate(va_arg(vl, drm_i915_gem_context_create *));
break;