@@ -324,7 +324,7 @@ void Drm::setLowPriorityContextParam(uint32_t drmContextId) {
324324int Drm::getQueueSliceCount (GemContextParamSseu *sseu) {
325325 GemContextParam contextParam = {};
326326 contextParam.param = I915_CONTEXT_PARAM_SSEU;
327- sseu->engine .engineClass = I915_ENGINE_CLASS_RENDER ;
327+ sseu->engine .engineClass = ioctlHelper-> getDrmParamValue (DrmParam::EngineClassRender) ;
328328 sseu->engine .engineInstance = I915_EXEC_DEFAULT;
329329 contextParam.value = reinterpret_cast <uint64_t >(sseu);
330330 contextParam.size = sizeof (struct GemContextParamSseu );
@@ -1016,25 +1016,18 @@ bool Drm::queryEngineInfo(bool isSysmanEnabled) {
10161016 distanceInfo.region = region.region ;
10171017
10181018 for (const auto &engine : engines) {
1019- switch (engine.engine .engineClass ) {
1020- case I915_ENGINE_CLASS_RENDER:
1021- case I915_ENGINE_CLASS_COPY:
1019+ if (engine.engine .engineClass == ioctlHelper-> getDrmParamValue (DrmParam::EngineClassCompute) ||
1020+ engine. engine . engineClass == ioctlHelper-> getDrmParamValue (DrmParam::EngineClassRender) ||
1021+ engine. engine . engineClass == ioctlHelper-> getDrmParamValue (DrmParam::EngineClassCopy)) {
10221022 distanceInfo.engine = engine.engine ;
10231023 distanceInfos.push_back (distanceInfo);
1024- break ;
1025- case I915_ENGINE_CLASS_VIDEO:
1026- case I915_ENGINE_CLASS_VIDEO_ENHANCE:
1027- if (isSysmanEnabled == true ) {
1028- distanceInfo.engine = engine.engine ;
1029- distanceInfos.push_back (distanceInfo);
1030- }
1031- break ;
1032- default :
1033- if (engine.engine .engineClass == ioctlHelper->getComputeEngineClass ()) {
1024+ } else if (isSysmanEnabled) {
1025+
1026+ if (engine.engine .engineClass == ioctlHelper->getDrmParamValue (DrmParam::EngineClassVideo) ||
1027+ engine.engine .engineClass == ioctlHelper->getDrmParamValue (DrmParam::EngineClassVideoEnhance)) {
10341028 distanceInfo.engine = engine.engine ;
10351029 distanceInfos.push_back (distanceInfo);
10361030 }
1037- break ;
10381031 }
10391032 }
10401033 }
@@ -1218,14 +1211,14 @@ unsigned int Drm::bindDrmContext(uint32_t drmContextId, uint32_t deviceIndex, au
12181211
12191212 bool setupVirtualEngines = false ;
12201213 unsigned int engineCount = static_cast <unsigned int >(numberOfCCS);
1221- if (useVirtualEnginesForCcs && engine->engineClass == ioctlHelper->getComputeEngineClass ( ) && numberOfCCS > 1u ) {
1214+ if (useVirtualEnginesForCcs && engine->engineClass == ioctlHelper->getDrmParamValue (DrmParam::EngineClassCompute ) && numberOfCCS > 1u ) {
12221215 numEnginesInContext = numberOfCCS + 1 ;
12231216 balancer.num_siblings = numberOfCCS;
12241217 setupVirtualEngines = true ;
12251218 }
12261219
12271220 bool includeMainCopyEngineInGroup = false ;
1228- if (useVirtualEnginesForBcs && engine->engineClass == I915_ENGINE_CLASS_COPY && numberOfBCS > 1u ) {
1221+ if (useVirtualEnginesForBcs && engine->engineClass == ioctlHelper-> getDrmParamValue (DrmParam::EngineClassCopy) && numberOfBCS > 1u ) {
12291222 numEnginesInContext = static_cast <uint32_t >(numberOfBCS) + 1 ;
12301223 balancer.num_siblings = numberOfBCS;
12311224 setupVirtualEngines = true ;
@@ -1242,11 +1235,11 @@ unsigned int Drm::bindDrmContext(uint32_t drmContextId, uint32_t deviceIndex, au
12421235 if (setupVirtualEngines) {
12431236 balancer.base .name = I915_CONTEXT_ENGINES_EXT_LOAD_BALANCE;
12441237 contextEngines.extensions = castToUint64 (&balancer);
1245- contextEngines.engines [0 ].engine_class = I915_ENGINE_CLASS_INVALID ;
1246- contextEngines.engines [0 ].engine_instance = I915_ENGINE_CLASS_INVALID_NONE ;
1238+ contextEngines.engines [0 ].engine_class = ioctlHelper-> getDrmParamValue (DrmParam::EngineClassInvalid) ;
1239+ contextEngines.engines [0 ].engine_instance = ioctlHelper-> getDrmParamValue (DrmParam::EngineClassInvalidNone) ;
12471240
12481241 for (auto engineIndex = 0u ; engineIndex < engineCount; engineIndex++) {
1249- if (useVirtualEnginesForBcs && engine->engineClass == I915_ENGINE_CLASS_COPY ) {
1242+ if (useVirtualEnginesForBcs && engine->engineClass == ioctlHelper-> getDrmParamValue (DrmParam::EngineClassCopy) ) {
12501243 auto mappedBcsEngineType = static_cast <aub_stream::EngineType>(EngineHelpers::mapBcsIndexToEngineType (engineIndex, includeMainCopyEngineInGroup));
12511244 bool isBcsEnabled = rootDeviceEnvironment.getHardwareInfo ()->featureTable .ftrBcsInfo .test (EngineHelpers::getBcsIndex (mappedBcsEngineType));
12521245
@@ -1258,7 +1251,7 @@ unsigned int Drm::bindDrmContext(uint32_t drmContextId, uint32_t deviceIndex, au
12581251 }
12591252 UNRECOVERABLE_IF (!engine);
12601253
1261- if (useVirtualEnginesForCcs && engine->engineClass == ioctlHelper->getComputeEngineClass ( )) {
1254+ if (useVirtualEnginesForCcs && engine->engineClass == ioctlHelper->getDrmParamValue (DrmParam::EngineClassCompute )) {
12621255 engine = engineInfo->getEngineInstance (deviceIndex, static_cast <aub_stream::EngineType>(EngineHelpers::mapCcsIndexToEngineType (engineIndex)));
12631256 }
12641257 UNRECOVERABLE_IF (!engine);
0 commit comments