@@ -119,7 +119,7 @@ int Drm::getParamIoctl(DrmParam param, int *dstValue) {
119119 getParam.param = getDrmParamValue (param, ioctlHelper.get ());
120120 getParam.value = dstValue;
121121
122- int retVal = ioctl (DrmIoctl::Getparam, &getParam);
122+ int retVal = ioctlHelper ? ioctlHelper-> ioctl ( this , DrmIoctl::Getparam, &getParam) : ioctl (DrmIoctl::Getparam, &getParam);
123123 if (DebugManager.flags .PrintIoctlEntries .get ()) {
124124 printf (" DRM_IOCTL_I915_GETPARAM: param: %s, output value: %d, retCode:% d\n " ,
125125 getDrmParamString (param).c_str (),
@@ -152,7 +152,7 @@ int Drm::enableTurboBoost() {
152152
153153 contextParam.param = I915_CONTEXT_PRIVATE_PARAM_BOOST;
154154 contextParam.value = 1 ;
155- return ioctl (DrmIoctl::GemContextSetparam, &contextParam);
155+ return ioctlHelper-> ioctl (this , DrmIoctl::GemContextSetparam, &contextParam);
156156}
157157
158158int Drm::getEnabledPooledEu (int &enabled) {
@@ -175,7 +175,7 @@ int Drm::queryGttSize(uint64_t >tSizeOutput) {
175175 GemContextParam contextParam = {0 };
176176 contextParam.param = I915_CONTEXT_PARAM_GTT_SIZE;
177177
178- int ret = ioctl (DrmIoctl::GemContextGetparam, &contextParam);
178+ int ret = ioctlHelper-> ioctl (this , DrmIoctl::GemContextGetparam, &contextParam);
179179 if (ret == 0 ) {
180180 gttSizeOutput = contextParam.value ;
181181 }
@@ -191,7 +191,7 @@ bool Drm::isGpuHangDetected(OsContext &osContext) {
191191 ResetStats resetStats{};
192192 resetStats.contextId = drmContextId;
193193
194- const auto retVal{ioctl (DrmIoctl::GetResetStats, &resetStats)};
194+ const auto retVal{ioctlHelper-> ioctl (this , DrmIoctl::GetResetStats, &resetStats)};
195195 UNRECOVERABLE_IF (retVal != 0 );
196196
197197 if (resetStats.batchActive > 0 || resetStats.batchPending > 0 ) {
@@ -219,7 +219,7 @@ void Drm::setLowPriorityContextParam(uint32_t drmContextId) {
219219 gcp.param = I915_CONTEXT_PARAM_PRIORITY;
220220 gcp.value = -1023 ;
221221
222- auto retVal = ioctl (DrmIoctl::GemContextSetparam, &gcp);
222+ auto retVal = ioctlHelper-> ioctl (this , DrmIoctl::GemContextSetparam, &gcp);
223223 UNRECOVERABLE_IF (retVal != 0 );
224224}
225225
@@ -231,7 +231,7 @@ int Drm::getQueueSliceCount(GemContextParamSseu *sseu) {
231231 contextParam.value = reinterpret_cast <uint64_t >(sseu);
232232 contextParam.size = sizeof (struct GemContextParamSseu );
233233
234- return ioctl (DrmIoctl::GemContextGetparam, &contextParam);
234+ return ioctlHelper-> ioctl (this , DrmIoctl::GemContextGetparam, &contextParam);
235235}
236236
237237uint64_t Drm::getSliceMask (uint64_t sliceCount) {
@@ -246,7 +246,7 @@ bool Drm::setQueueSliceCount(uint64_t sliceCount) {
246246 contextParam.contextId = 0 ;
247247 contextParam.value = reinterpret_cast <uint64_t >(&sseu);
248248 contextParam.size = sizeof (struct GemContextParamSseu );
249- int retVal = ioctl (DrmIoctl::GemContextSetparam, &contextParam);
249+ int retVal = ioctlHelper-> ioctl (this , DrmIoctl::GemContextSetparam, &contextParam);
250250 if (retVal == 0 ) {
251251 return true ;
252252 }
@@ -258,7 +258,7 @@ void Drm::checkNonPersistentContextsSupport() {
258258 GemContextParam contextParam = {};
259259 contextParam.param = I915_CONTEXT_PARAM_PERSISTENCE;
260260
261- auto retVal = ioctl (DrmIoctl::GemContextGetparam, &contextParam);
261+ auto retVal = ioctlHelper-> ioctl (this , DrmIoctl::GemContextGetparam, &contextParam);
262262 if (retVal == 0 && contextParam.value == 1 ) {
263263 nonPersistentContextsSupported = true ;
264264 } else {
@@ -271,7 +271,7 @@ void Drm::setNonPersistentContext(uint32_t drmContextId) {
271271 contextParam.contextId = drmContextId;
272272 contextParam.param = I915_CONTEXT_PARAM_PERSISTENCE;
273273
274- ioctl (DrmIoctl::GemContextSetparam, &contextParam);
274+ ioctlHelper-> ioctl (this , DrmIoctl::GemContextSetparam, &contextParam);
275275}
276276
277277void Drm::setUnrecoverableContext (uint32_t drmContextId) {
@@ -281,7 +281,7 @@ void Drm::setUnrecoverableContext(uint32_t drmContextId) {
281281 contextParam.value = 0 ;
282282 contextParam.size = 0 ;
283283
284- ioctl (DrmIoctl::GemContextSetparam, &contextParam);
284+ ioctlHelper-> ioctl (this , DrmIoctl::GemContextSetparam, &contextParam);
285285}
286286
287287uint32_t Drm::createDrmContext (uint32_t drmVmId, bool isDirectSubmissionRequested, bool isCooperativeContextRequested) {
@@ -314,7 +314,7 @@ uint32_t Drm::createDrmContext(uint32_t drmVmId, bool isDirectSubmissionRequeste
314314 if (isCooperativeContextRequested) {
315315 return ioctlHelper->createCooperativeContext (this , gcc);
316316 }
317- auto ioctlResult = ioctl (DrmIoctl::GemContextCreateExt, &gcc);
317+ auto ioctlResult = ioctlHelper-> ioctl (this , DrmIoctl::GemContextCreateExt, &gcc);
318318
319319 UNRECOVERABLE_IF (ioctlResult != 0 );
320320 return gcc.contextId ;
@@ -323,7 +323,7 @@ uint32_t Drm::createDrmContext(uint32_t drmVmId, bool isDirectSubmissionRequeste
323323void Drm::destroyDrmContext (uint32_t drmContextId) {
324324 GemContextDestroy destroy{};
325325 destroy.contextId = drmContextId;
326- auto retVal = ioctl (DrmIoctl::GemContextDestroy, &destroy);
326+ auto retVal = ioctlHelper-> ioctl (this , DrmIoctl::GemContextDestroy, &destroy);
327327 UNRECOVERABLE_IF (retVal != 0 );
328328}
329329
@@ -339,7 +339,7 @@ int Drm::queryVmId(uint32_t drmContextId, uint32_t &vmId) {
339339 param.contextId = drmContextId;
340340 param.value = 0 ;
341341 param.param = I915_CONTEXT_PARAM_VM;
342- auto retVal = this ->ioctl (DrmIoctl::GemContextGetparam, ¶m);
342+ auto retVal = ioctlHelper ->ioctl (this , DrmIoctl::GemContextGetparam, ¶m);
343343
344344 vmId = static_cast <uint32_t >(param.value );
345345
@@ -538,15 +538,15 @@ std::vector<uint8_t> Drm::query(uint32_t queryId, uint32_t queryItemFlags) {
538538 query.itemsPtr = reinterpret_cast <uint64_t >(&queryItem);
539539 query.numItems = 1 ;
540540
541- auto ret = this ->ioctl (DrmIoctl::Query, &query);
541+ auto ret = ioctlHelper ->ioctl (this , DrmIoctl::Query, &query);
542542 if (ret != 0 || queryItem.length <= 0 ) {
543543 return {};
544544 }
545545
546546 auto data = std::vector<uint8_t >(queryItem.length , 0 );
547547 queryItem.dataPtr = castToUint64 (data.data ());
548548
549- ret = this ->ioctl (DrmIoctl::Query, &query);
549+ ret = ioctlHelper ->ioctl (this , DrmIoctl::Query, &query);
550550 if (ret != 0 || queryItem.length <= 0 ) {
551551 return {};
552552 }
@@ -734,7 +734,7 @@ int Drm::waitHandle(uint32_t waitHandle, int64_t timeout) {
734734 wait.boHandle = waitHandle;
735735 wait.timeoutNs = timeout;
736736
737- int ret = ioctl (DrmIoctl::GemWait, &wait);
737+ int ret = ioctlHelper-> ioctl (this , DrmIoctl::GemWait, &wait);
738738 if (ret != 0 ) {
739739 int err = errno;
740740 PRINT_DEBUG_STRING (DebugManager.flags .PrintDebugMessages .get (), stderr, " ioctl(I915_GEM_WAIT) failed with %d. errno=%d(%s)\n " , ret, err, strerror (err));
@@ -1178,7 +1178,7 @@ unsigned int Drm::bindDrmContext(uint32_t drmContextId, uint32_t deviceIndex, au
11781178 param.param = I915_CONTEXT_PARAM_ENGINES;
11791179 param.value = castToUint64 (&contextEngines);
11801180
1181- auto ioctlValue = ioctl (DrmIoctl::GemContextSetparam, ¶m);
1181+ auto ioctlValue = ioctlHelper-> ioctl (this , DrmIoctl::GemContextSetparam, ¶m);
11821182 UNRECOVERABLE_IF (ioctlValue != 0 );
11831183
11841184 retVal = static_cast <unsigned int >(ioctlHelper->getDrmParamValue (DrmParam::ExecDefault));
0 commit comments