From bc1347d932b9e9c5b17b2108359c1da01df5e4bb Mon Sep 17 00:00:00 2001 From: Mateusz Jablonski Date: Fri, 10 Jun 2022 10:37:22 +0000 Subject: [PATCH] Make IoctlHelper::ioctl method non-static Related-To: NEO-6999 Signed-off-by: Mateusz Jablonski --- shared/source/os_interface/linux/ioctl_helper.h | 2 +- .../os_interface/linux/ioctl_helper_prelim.cpp | 12 ++++++------ .../os_interface/linux/drm_with_prelim_tests.cpp | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/shared/source/os_interface/linux/ioctl_helper.h b/shared/source/os_interface/linux/ioctl_helper.h index a5381e40a9..95848d233f 100644 --- a/shared/source/os_interface/linux/ioctl_helper.h +++ b/shared/source/os_interface/linux/ioctl_helper.h @@ -67,7 +67,7 @@ class IoctlHelper { public: virtual ~IoctlHelper() {} static IoctlHelper *get(const PRODUCT_FAMILY productFamily, const std::string &prelimVersion, const std::string &drmVersion); - static uint32_t ioctl(Drm *drm, DrmIoctl request, void *arg); + uint32_t ioctl(Drm *drm, DrmIoctl request, void *arg); virtual IoctlHelper *clone() = 0; virtual bool isVmBindAvailable(Drm *drm) = 0; diff --git a/shared/source/os_interface/linux/ioctl_helper_prelim.cpp b/shared/source/os_interface/linux/ioctl_helper_prelim.cpp index 700945e47c..de1fd5b0fe 100644 --- a/shared/source/os_interface/linux/ioctl_helper_prelim.cpp +++ b/shared/source/os_interface/linux/ioctl_helper_prelim.cpp @@ -353,17 +353,17 @@ uint32_t IoctlHelperPrelim20::getFlagsForVmCreate(bool disableScratch, bool enab return flags; } -uint32_t gemCreateContextExt(Drm *drm, GemContextCreateExt &gcc, GemContextCreateExtSetParam &extSetparam) { +uint32_t gemCreateContextExt(IoctlHelper &ioctlHelper, Drm *drm, GemContextCreateExt &gcc, GemContextCreateExtSetParam &extSetparam) { gcc.flags |= I915_CONTEXT_CREATE_FLAGS_USE_EXTENSIONS; extSetparam.base.nextExtension = gcc.extensions; gcc.extensions = reinterpret_cast(&extSetparam); - auto ioctlResult = IoctlHelper::ioctl(drm, DrmIoctl::GemContextCreateExt, &gcc); + auto ioctlResult = ioctlHelper.ioctl(drm, DrmIoctl::GemContextCreateExt, &gcc); UNRECOVERABLE_IF(ioctlResult != 0); return gcc.contextId; } -uint32_t gemCreateContextAcc(Drm *drm, GemContextCreateExt &gcc, uint16_t trigger, uint8_t granularity) { +uint32_t gemCreateContextAcc(IoctlHelper &ioctlHelper, Drm *drm, GemContextCreateExt &gcc, uint16_t trigger, uint8_t granularity) { prelim_drm_i915_gem_context_param_acc paramAcc = {}; paramAcc.trigger = trigger; paramAcc.notify = 1; @@ -382,7 +382,7 @@ uint32_t gemCreateContextAcc(Drm *drm, GemContextCreateExt &gcc, uint16_t trigge extSetparam.base = userExt; extSetparam.param = ctxParam; - return gemCreateContextExt(drm, gcc, extSetparam); + return gemCreateContextExt(ioctlHelper, drm, gcc, extSetparam); } uint32_t IoctlHelperPrelim20::createContextWithAccessCounters(Drm *drm, GemContextCreateExt &gcc) { uint16_t trigger = 0; @@ -393,14 +393,14 @@ uint32_t IoctlHelperPrelim20::createContextWithAccessCounters(Drm *drm, GemConte if (DebugManager.flags.AccessCountersGranularity.get() != -1) { granularity = static_cast(DebugManager.flags.AccessCountersGranularity.get()); } - return gemCreateContextAcc(drm, gcc, trigger, granularity); + return gemCreateContextAcc(*this, drm, gcc, trigger, granularity); } uint32_t IoctlHelperPrelim20::createCooperativeContext(Drm *drm, GemContextCreateExt &gcc) { GemContextCreateExtSetParam extSetparam{}; extSetparam.base.name = I915_CONTEXT_CREATE_EXT_SETPARAM; extSetparam.param.param = PRELIM_I915_CONTEXT_PARAM_RUNALONE; - return gemCreateContextExt(drm, gcc, extSetparam); + return gemCreateContextExt(*this, drm, gcc, extSetparam); } static_assert(sizeof(VmBindExtSetPatT) == sizeof(prelim_drm_i915_vm_bind_ext_set_pat), "Invalid size for VmBindExtSetPat"); diff --git a/shared/test/unit_test/os_interface/linux/drm_with_prelim_tests.cpp b/shared/test/unit_test/os_interface/linux/drm_with_prelim_tests.cpp index d207ea51cf..ad5eb34d49 100644 --- a/shared/test/unit_test/os_interface/linux/drm_with_prelim_tests.cpp +++ b/shared/test/unit_test/os_interface/linux/drm_with_prelim_tests.cpp @@ -137,7 +137,7 @@ TEST_F(IoctlHelperPrelimFixture, givenPrelimsWhenCreateGemExtWithDebugFlagThenPr TEST_F(IoctlHelperPrelimFixture, givenPrelimsWhenCallIoctlThenProperIoctlRegistered) { GemContextCreateExt arg{}; drm->ioctlCallsCount = 0; - auto ret = IoctlHelper::ioctl(drm.get(), DrmIoctl::GemContextCreateExt, &arg); + auto ret = drm->ioctlHelper->ioctl(drm.get(), DrmIoctl::GemContextCreateExt, &arg); EXPECT_EQ(0u, ret); EXPECT_EQ(1u, drm->ioctlCallsCount); }