From 2eaae763bcc0e25fad5d2a8d2f59f6094838cdc0 Mon Sep 17 00:00:00 2001 From: Kamil Kopryk Date: Mon, 2 Jan 2023 11:52:22 +0000 Subject: [PATCH] Refactor: don't use global ProductHelper getter in shared files 3/n Related-To: NEO-6853 Signed-off-by: Kamil Kopryk --- .../source/gen12lp/linux/hw_info_config_adlp.cpp | 6 +++--- shared/source/os_interface/linux/drm_neo.cpp | 14 +++++++------- .../os_interface/linux/ioctl_helper_prelim.cpp | 12 ++++++------ .../source/os_interface/linux/os_context_linux.cpp | 7 ++++--- 4 files changed, 20 insertions(+), 19 deletions(-) diff --git a/shared/source/gen12lp/linux/hw_info_config_adlp.cpp b/shared/source/gen12lp/linux/hw_info_config_adlp.cpp index 8a9d1b54bf..534f90090a 100644 --- a/shared/source/gen12lp/linux/hw_info_config_adlp.cpp +++ b/shared/source/gen12lp/linux/hw_info_config_adlp.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021-2022 Intel Corporation + * Copyright (C) 2021-2023 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -25,8 +25,8 @@ template <> int ProductHelperHw::configureHardwareCustom(HardwareInfo *hwInfo, OSInterface *osIface) const { GT_SYSTEM_INFO *gtSystemInfo = &hwInfo->gtSystemInfo; gtSystemInfo->SliceCount = 1; - const auto &productHelper = *ProductHelper::get(hwInfo->platform.eProductFamily); - hwInfo->featureTable.flags.ftrGpGpuMidThreadLevelPreempt = (hwInfo->platform.usRevId >= productHelper.getHwRevIdFromStepping(REVISION_B, *hwInfo)); + + hwInfo->featureTable.flags.ftrGpGpuMidThreadLevelPreempt = (hwInfo->platform.usRevId >= this->getHwRevIdFromStepping(REVISION_B, *hwInfo)); enableBlitterOperationsSupport(hwInfo); diff --git a/shared/source/os_interface/linux/drm_neo.cpp b/shared/source/os_interface/linux/drm_neo.cpp index bdc82cc513..b0b0d5b787 100644 --- a/shared/source/os_interface/linux/drm_neo.cpp +++ b/shared/source/os_interface/linux/drm_neo.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2018-2022 Intel Corporation + * Copyright (C) 2018-2023 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -73,9 +73,9 @@ SubmissionStatus Drm::getSubmissionStatusFromReturnCode(int32_t retCode) { } void Drm::queryAndSetVmBindPatIndexProgrammingSupport() { - auto hwInfo = rootDeviceEnvironment.getHardwareInfo(); - this->vmBindPatIndexProgrammingSupported = ProductHelper::get(hwInfo->platform.eProductFamily)->isVmBindPatIndexProgrammingSupported(); + auto &productHelper = rootDeviceEnvironment.getHelper(); + this->vmBindPatIndexProgrammingSupported = productHelper.isVmBindPatIndexProgrammingSupported(); } int Drm::ioctl(DrmIoctl request, void *arg) { @@ -657,7 +657,7 @@ uint32_t Drm::getVirtualMemoryAddressSpace(uint32_t vmId) const { } void Drm::setNewResourceBoundToVM(uint32_t vmHandleId) { - const auto &productHelper = *ProductHelper::get(this->getRootDeviceEnvironment().getHardwareInfo()->platform.eProductFamily); + const auto &productHelper = this->getRootDeviceEnvironment().getHelper(); const auto &engines = this->rootDeviceEnvironment.executionEnvironment.memoryManager->getRegisteredEngines(); for (const auto &engine : engines) { if (engine.osContext->getDeviceBitfield().test(vmHandleId) && productHelper.isTlbFlushRequired(engine.osContext->getEngineType())) { @@ -1312,9 +1312,9 @@ bool Drm::isVmBindAvailable() { std::call_once(checkBindOnce, [this]() { int ret = ioctlHelper->isVmBindAvailable(); - auto hwInfo = this->getRootDeviceEnvironment().getHardwareInfo(); - auto productHelper = ProductHelper::get(hwInfo->platform.eProductFamily); - ret &= static_cast(productHelper->isNewResidencyModelSupported()); + const auto &productHelper = this->getRootDeviceEnvironment().getHelper(); + + ret &= static_cast(productHelper.isNewResidencyModelSupported()); bindAvailable = ret; diff --git a/shared/source/os_interface/linux/ioctl_helper_prelim.cpp b/shared/source/os_interface/linux/ioctl_helper_prelim.cpp index 83f08cb0c2..7f95d8f475 100644 --- a/shared/source/os_interface/linux/ioctl_helper_prelim.cpp +++ b/shared/source/os_interface/linux/ioctl_helper_prelim.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021-2022 Intel Corporation + * Copyright (C) 2021-2023 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -31,8 +31,8 @@ namespace NEO { IoctlHelperPrelim20::IoctlHelperPrelim20(Drm &drmArg) : IoctlHelper(drmArg) { - auto gfxCoreHelper = ProductHelper::get(this->drm.getRootDeviceEnvironment().getHardwareInfo()->platform.eProductFamily); - handleExecBufferInNonBlockMode = gfxCoreHelper && gfxCoreHelper->isNonBlockingGpuSubmissionSupported(); + const auto &productHelper = this->drm.getRootDeviceEnvironment().getHelper(); + handleExecBufferInNonBlockMode = productHelper.isNonBlockingGpuSubmissionSupported(); if (DebugManager.flags.ForceNonblockingExecbufferCalls.get() != -1) { handleExecBufferInNonBlockMode = DebugManager.flags.ForceNonblockingExecbufferCalls.get(); } @@ -748,9 +748,9 @@ bool IoctlHelperPrelim20::initialize() { EngineClassInstance engineInfo = {static_cast(getDrmParamValue(DrmParam::EngineClassRender)), 0}; int ret = 0; bool result = queryHwIpVersion(engineInfo, hwInfo->ipVersion, ret); - if (result == false && - ret != 0 && - ProductHelper::get(hwInfo->platform.eProductFamily)->isPlatformQuerySupported()) { + auto &productHelper = drm.getRootDeviceEnvironment().getHelper(); + + if (result == false && ret != 0 && productHelper.isPlatformQuerySupported()) { int err = drm.getErrno(); PRINT_DEBUG_STRING(DebugManager.flags.PrintDebugMessages.get(), stderr, "ioctl(PRELIM_DRM_I915_QUERY_HW_IP_VERSION) failed with %d. errno=%d(%s)\n", ret, err, strerror(err)); diff --git a/shared/source/os_interface/linux/os_context_linux.cpp b/shared/source/os_interface/linux/os_context_linux.cpp index 5f237b82f7..2c76a7b3e0 100644 --- a/shared/source/os_interface/linux/os_context_linux.cpp +++ b/shared/source/os_interface/linux/os_context_linux.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2018-2022 Intel Corporation + * Copyright (C) 2018-2023 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -65,8 +65,9 @@ void OsContextLinux::initializeContext() { } bool OsContextLinux::isDirectSubmissionSupported(const HardwareInfo &hwInfo) const { - auto productHelper = ProductHelper::get(hwInfo.platform.eProductFamily); - return this->getDrm().isVmBindAvailable() && productHelper->isDirectSubmissionSupported(hwInfo); + auto &productHelper = this->getDrm().getRootDeviceEnvironment().getHelper(); + + return this->getDrm().isVmBindAvailable() && productHelper.isDirectSubmissionSupported(hwInfo); } Drm &OsContextLinux::getDrm() const {