From b49e2237c52559ea4bb814e07df2882ca84f36d5 Mon Sep 17 00:00:00 2001 From: Mateusz Jablonski Date: Mon, 25 Jul 2022 11:50:32 +0000 Subject: [PATCH] Pass drm to MemoryInfo ctor Related-To: NEO-6999 Signed-off-by: Mateusz Jablonski --- .../sysman/engine/linux/test_zes_engine.cpp | 4 +- .../sources/sysman/memory/linux/mock_memory.h | 2 +- .../linux/cl_mem_cache_clos_tests_xe_hpc.cpp | 2 +- .../os_interface/linux/drm_memory_manager.cpp | 6 +- .../drm_memory_operations_handler_bind.cpp | 2 +- .../drm_memory_operations_handler_bind.h | 4 +- shared/source/os_interface/linux/drm_neo.cpp | 4 +- shared/source/os_interface/linux/drm_neo.h | 6 +- .../source/os_interface/linux/memory_info.cpp | 34 +++++------ .../source/os_interface/linux/memory_info.h | 9 +-- .../linux/drm_memory_manager_fixture.cpp | 2 +- .../linux/drm_memory_manager_fixture.h | 10 ++-- .../drm_memory_manager_prelim_fixtures.h | 4 +- .../os_interface/linux/drm_mock_memory_info.h | 6 +- .../linux/drm_engine_info_tests.cpp | 2 +- .../linux/drm_memory_info_prelim_tests.cpp | 50 ++++++++--------- .../linux/drm_memory_info_tests.cpp | 37 ++++++++---- ...m_memory_manager_localmem_prelim_tests.cpp | 56 +++++++++---------- ...memory_manager_localmem_upstream_tests.cpp | 34 +++++------ .../os_interface/linux/drm_tests.cpp | 2 +- .../linux/drm_with_prelim_tests.cpp | 8 +-- .../linux/ioctl_helper_tests_upstream.cpp | 4 +- 22 files changed, 152 insertions(+), 136 deletions(-) diff --git a/level_zero/tools/test/unit_tests/sources/sysman/engine/linux/test_zes_engine.cpp b/level_zero/tools/test/unit_tests/sources/sysman/engine/linux/test_zes_engine.cpp index 671b239b98..820d585d4c 100644 --- a/level_zero/tools/test/unit_tests/sources/sysman/engine/linux/test_zes_engine.cpp +++ b/level_zero/tools/test/unit_tests/sources/sysman/engine/linux/test_zes_engine.cpp @@ -230,7 +230,7 @@ TEST_F(ZesEngineFixture, givenEngineInfoQuerySupportedWhenQueryingEngineInfoThen ASSERT_NE(nullptr, drm); std::vector memRegions{ {{drm_i915_gem_memory_class::I915_MEMORY_CLASS_SYSTEM, 0}, 1024, 0}}; - drm->memoryInfo.reset(new MemoryInfo(memRegions)); + drm->memoryInfo.reset(new MemoryInfo(memRegions, *drm)); drm->sysmanQueryEngineInfo(); auto engineInfo = drm->getEngineInfo(); ASSERT_NE(nullptr, engineInfo); @@ -242,7 +242,7 @@ TEST_F(ZesEngineFixture, GivenEngineInfoWithVideoQuerySupportedWhenQueryingEngin ASSERT_NE(nullptr, drm); std::vector memRegions{ {{drm_i915_gem_memory_class::I915_MEMORY_CLASS_SYSTEM, 0}, 1024, 0}}; - drm->memoryInfo.reset(new MemoryInfo(memRegions)); + drm->memoryInfo.reset(new MemoryInfo(memRegions, *drm)); drm->sysmanQueryEngineInfo(); auto engineInfo = drm->getEngineInfo(); ASSERT_NE(nullptr, engineInfo); diff --git a/level_zero/tools/test/unit_tests/sources/sysman/memory/linux/mock_memory.h b/level_zero/tools/test/unit_tests/sources/sysman/memory/linux/mock_memory.h index 6966d8b2bc..808b0efff9 100644 --- a/level_zero/tools/test/unit_tests/sources/sysman/memory/linux/mock_memory.h +++ b/level_zero/tools/test/unit_tests/sources/sysman/memory/linux/mock_memory.h @@ -50,7 +50,7 @@ struct Mock : public MemoryNeoDrm { regionInfo[1].probedSize = probedSizeRegionOne; regionInfo[1].unallocatedSize = unallocatedSizeRegionOne; - this->memoryInfo.reset(new MemoryInfo(regionInfo)); + this->memoryInfo.reset(new MemoryInfo(regionInfo, *this)); return true; } diff --git a/opencl/test/unit_test/os_interface/linux/cl_mem_cache_clos_tests_xe_hpc.cpp b/opencl/test/unit_test/os_interface/linux/cl_mem_cache_clos_tests_xe_hpc.cpp index 970b1e16f9..d30d4d3751 100644 --- a/opencl/test/unit_test/os_interface/linux/cl_mem_cache_clos_tests_xe_hpc.cpp +++ b/opencl/test/unit_test/os_interface/linux/cl_mem_cache_clos_tests_xe_hpc.cpp @@ -27,7 +27,7 @@ struct BuffersWithClMemCacheClosTests : public DrmMemoryManagerLocalMemoryPrelim void SetUp() override { DrmMemoryManagerLocalMemoryPrelimTest::SetUp(); - auto memoryInfo = new MockExtendedMemoryInfo(); + auto memoryInfo = new MockExtendedMemoryInfo(*mock); mock->memoryInfo.reset(memoryInfo); mock->cacheInfo.reset(new MockCacheInfo(*mock, 1024, 2, 32)); diff --git a/shared/source/os_interface/linux/drm_memory_manager.cpp b/shared/source/os_interface/linux/drm_memory_manager.cpp index 7613898f20..6b65bea430 100644 --- a/shared/source/os_interface/linux/drm_memory_manager.cpp +++ b/shared/source/os_interface/linux/drm_memory_manager.cpp @@ -1486,9 +1486,9 @@ BufferObject *DrmMemoryManager::createBufferObjectInMemoryRegion(Drm *drm, Gmm * auto banks = std::bitset<32>(memoryBanks); if (banks.count() > 1) { - ret = memoryInfo->createGemExtWithMultipleRegions(drm, memoryBanks, size, handle); + ret = memoryInfo->createGemExtWithMultipleRegions(memoryBanks, size, handle); } else { - ret = memoryInfo->createGemExtWithSingleRegion(drm, memoryBanks, size, handle); + ret = memoryInfo->createGemExtWithSingleRegion(memoryBanks, size, handle); } if (ret != 0) { @@ -1782,7 +1782,7 @@ GraphicsAllocation *DrmMemoryManager::createSharedUnifiedMemoryAllocation(const createMemoryRegionsForSharedAllocation(*pHwInfo, *memoryInfo, allocationData, memRegions); uint32_t handle = 0; - auto ret = memoryInfo->createGemExt(&drm, memRegions, size, handle, {}); + auto ret = memoryInfo->createGemExt(memRegions, size, handle, {}); if (ret) { return nullptr; diff --git a/shared/source/os_interface/linux/drm_memory_operations_handler_bind.cpp b/shared/source/os_interface/linux/drm_memory_operations_handler_bind.cpp index d5a4e4224b..2a699ae9c7 100644 --- a/shared/source/os_interface/linux/drm_memory_operations_handler_bind.cpp +++ b/shared/source/os_interface/linux/drm_memory_operations_handler_bind.cpp @@ -19,7 +19,7 @@ namespace NEO { -DrmMemoryOperationsHandlerBind::DrmMemoryOperationsHandlerBind(RootDeviceEnvironment &rootDeviceEnvironment, uint32_t rootDeviceIndex) +DrmMemoryOperationsHandlerBind::DrmMemoryOperationsHandlerBind(const RootDeviceEnvironment &rootDeviceEnvironment, uint32_t rootDeviceIndex) : rootDeviceEnvironment(rootDeviceEnvironment), rootDeviceIndex(rootDeviceIndex){}; diff --git a/shared/source/os_interface/linux/drm_memory_operations_handler_bind.h b/shared/source/os_interface/linux/drm_memory_operations_handler_bind.h index 9682e3e000..44bf34f9b5 100644 --- a/shared/source/os_interface/linux/drm_memory_operations_handler_bind.h +++ b/shared/source/os_interface/linux/drm_memory_operations_handler_bind.h @@ -13,7 +13,7 @@ namespace NEO { struct RootDeviceEnvironment; class DrmMemoryOperationsHandlerBind : public DrmMemoryOperationsHandler { public: - DrmMemoryOperationsHandlerBind(RootDeviceEnvironment &rootDeviceEnvironment, uint32_t rootDeviceIndex); + DrmMemoryOperationsHandlerBind(const RootDeviceEnvironment &rootDeviceEnvironment, uint32_t rootDeviceIndex); ~DrmMemoryOperationsHandlerBind() override; MemoryOperationsStatus makeResidentWithinOsContext(OsContext *osContext, ArrayRef gfxAllocations, bool evictable) override; @@ -38,7 +38,7 @@ class DrmMemoryOperationsHandlerBind : public DrmMemoryOperationsHandler { MOCKABLE_VIRTUAL int evictImpl(OsContext *osContext, GraphicsAllocation &gfxAllocation, DeviceBitfield deviceBitfield); MemoryOperationsStatus evictUnusedAllocationsImpl(std::vector &allocationsForEviction, bool waitForCompletion); - RootDeviceEnvironment &rootDeviceEnvironment; + const RootDeviceEnvironment &rootDeviceEnvironment; uint32_t rootDeviceIndex = 0; }; } // namespace NEO diff --git a/shared/source/os_interface/linux/drm_neo.cpp b/shared/source/os_interface/linux/drm_neo.cpp index ff355a0a4a..42b44278cd 100644 --- a/shared/source/os_interface/linux/drm_neo.cpp +++ b/shared/source/os_interface/linux/drm_neo.cpp @@ -612,7 +612,7 @@ void Drm::destroyVirtualMemoryAddressSpace() { virtualMemoryIds.clear(); } -uint32_t Drm::getVirtualMemoryAddressSpace(uint32_t vmId) { +uint32_t Drm::getVirtualMemoryAddressSpace(uint32_t vmId) const { if (vmId < virtualMemoryIds.size()) { return virtualMemoryIds[vmId]; } @@ -949,7 +949,7 @@ bool Drm::queryMemoryInfo() { auto dataQuery = getMemoryRegions(); if (!dataQuery.empty()) { auto memRegions = ioctlHelper->translateToMemoryRegions(dataQuery); - this->memoryInfo.reset(new MemoryInfo(memRegions)); + this->memoryInfo.reset(new MemoryInfo(memRegions, *this)); return true; } return false; diff --git a/shared/source/os_interface/linux/drm_neo.h b/shared/source/os_interface/linux/drm_neo.h index 9a3d23f7ce..99aa5f0b41 100644 --- a/shared/source/os_interface/linux/drm_neo.h +++ b/shared/source/os_interface/linux/drm_neo.h @@ -125,7 +125,7 @@ class Drm : public DriverModel { bool queryTopology(const HardwareInfo &hwInfo, QueryTopologyData &data); bool createVirtualMemoryAddressSpace(uint32_t vmCount); void destroyVirtualMemoryAddressSpace(); - uint32_t getVirtualMemoryAddressSpace(uint32_t vmId); + uint32_t getVirtualMemoryAddressSpace(uint32_t vmId) const; MOCKABLE_VIRTUAL int bindBufferObject(OsContext *osContext, uint32_t vmHandleId, BufferObject *bo); MOCKABLE_VIRTUAL int unbindBufferObject(OsContext *osContext, uint32_t vmHandleId, BufferObject *bo); int setupHardwareInfo(const DeviceDescriptor *, bool); @@ -139,7 +139,7 @@ class Drm : public DriverModel { bool areNonPersistentContextsSupported() const { return nonPersistentContextsSupported; } void checkNonPersistentContextsSupport(); void setNonPersistentContext(uint32_t drmContextId); - bool isPerContextVMRequired() { + bool isPerContextVMRequired() const { return requirePerContextVM; } void setPerContextVMRequired(bool required) { @@ -191,7 +191,7 @@ class Drm : public DriverModel { return ioctlHelper.get(); } - RootDeviceEnvironment &getRootDeviceEnvironment() { + const RootDeviceEnvironment &getRootDeviceEnvironment() const { return rootDeviceEnvironment; } diff --git a/shared/source/os_interface/linux/memory_info.cpp b/shared/source/os_interface/linux/memory_info.cpp index 971aa0012d..12e7646ae6 100644 --- a/shared/source/os_interface/linux/memory_info.cpp +++ b/shared/source/os_interface/linux/memory_info.cpp @@ -14,18 +14,20 @@ #include "shared/source/helpers/hw_helper.h" #include "shared/source/helpers/hw_info.h" #include "shared/source/os_interface/linux/drm_neo.h" -#include "shared/source/os_interface/linux/i915.h" #include namespace NEO { -MemoryInfo::MemoryInfo(const RegionContainer ®ionInfo) - : drmQueryRegions(regionInfo), systemMemoryRegion(drmQueryRegions[0]) { - UNRECOVERABLE_IF(systemMemoryRegion.region.memoryClass != drm_i915_gem_memory_class::I915_MEMORY_CLASS_SYSTEM); +MemoryInfo::MemoryInfo(const RegionContainer ®ionInfo, const Drm &inputDrm) + : drm(inputDrm), drmQueryRegions(regionInfo), systemMemoryRegion(drmQueryRegions[0]) { + auto ioctlHelper = drm.getIoctlHelper(); + const auto memoryClassSystem = ioctlHelper->getDrmParamValue(DrmParam::MemoryClassSystem); + const auto memoryClassDevice = ioctlHelper->getDrmParamValue(DrmParam::MemoryClassDevice); + UNRECOVERABLE_IF(this->systemMemoryRegion.region.memoryClass != memoryClassSystem); std::copy_if(drmQueryRegions.begin(), drmQueryRegions.end(), std::back_inserter(localMemoryRegions), - [](const MemoryRegion &memoryRegionInfo) { - return (memoryRegionInfo.region.memoryClass == drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE); + [&](const MemoryRegion &memoryRegionInfo) { + return (memoryRegionInfo.region.memoryClass == memoryClassDevice); }); } @@ -54,8 +56,8 @@ void MemoryInfo::assignRegionsFromDistances(const std::vector &dis } } -uint32_t MemoryInfo::createGemExt(Drm *drm, const MemRegionsVec &memClassInstances, size_t allocSize, uint32_t &handle, std::optional vmId) { - return drm->getIoctlHelper()->createGemExt(memClassInstances, allocSize, handle, vmId); +uint32_t MemoryInfo::createGemExt(const MemRegionsVec &memClassInstances, size_t allocSize, uint32_t &handle, std::optional vmId) { + return this->drm.getIoctlHelper()->createGemExt(memClassInstances, allocSize, handle, vmId); } uint32_t MemoryInfo::getTileIndex(uint32_t memoryBank, const HardwareInfo &hwInfo) { @@ -106,23 +108,23 @@ void MemoryInfo::printRegionSizes() { } } -uint32_t MemoryInfo::createGemExtWithSingleRegion(Drm *drm, uint32_t memoryBanks, size_t allocSize, uint32_t &handle) { - auto pHwInfo = drm->getRootDeviceEnvironment().getHardwareInfo(); +uint32_t MemoryInfo::createGemExtWithSingleRegion(uint32_t memoryBanks, size_t allocSize, uint32_t &handle) { + auto pHwInfo = this->drm.getRootDeviceEnvironment().getHardwareInfo(); auto regionClassAndInstance = getMemoryRegionClassAndInstance(memoryBanks, *pHwInfo); MemRegionsVec region = {regionClassAndInstance}; std::optional vmId; - if (!drm->isPerContextVMRequired()) { + if (!this->drm.isPerContextVMRequired()) { if (memoryBanks != 0 && DebugManager.flags.EnablePrivateBO.get()) { auto tileIndex = getTileIndex(memoryBanks, *pHwInfo); - vmId = drm->getVirtualMemoryAddressSpace(tileIndex); + vmId = this->drm.getVirtualMemoryAddressSpace(tileIndex); } } - auto ret = createGemExt(drm, region, allocSize, handle, vmId); + auto ret = createGemExt(region, allocSize, handle, vmId); return ret; } -uint32_t MemoryInfo::createGemExtWithMultipleRegions(Drm *drm, uint32_t memoryBanks, size_t allocSize, uint32_t &handle) { - auto pHwInfo = drm->getRootDeviceEnvironment().getHardwareInfo(); +uint32_t MemoryInfo::createGemExtWithMultipleRegions(uint32_t memoryBanks, size_t allocSize, uint32_t &handle) { + auto pHwInfo = this->drm.getRootDeviceEnvironment().getHardwareInfo(); auto banks = std::bitset<32>(memoryBanks); MemRegionsVec memRegions{}; size_t currentBank = 0; @@ -135,7 +137,7 @@ uint32_t MemoryInfo::createGemExtWithMultipleRegions(Drm *drm, uint32_t memoryBa } currentBank++; } - auto ret = createGemExt(drm, memRegions, allocSize, handle, {}); + auto ret = createGemExt(memRegions, allocSize, handle, {}); return ret; } diff --git a/shared/source/os_interface/linux/memory_info.h b/shared/source/os_interface/linux/memory_info.h index 3238ea3e60..2f67373ff3 100644 --- a/shared/source/os_interface/linux/memory_info.h +++ b/shared/source/os_interface/linux/memory_info.h @@ -22,11 +22,11 @@ class MemoryInfo { virtual ~MemoryInfo(){}; - MemoryInfo(const RegionContainer ®ionInfo); + MemoryInfo(const RegionContainer ®ionInfo, const Drm &drm); void assignRegionsFromDistances(const std::vector &distances); - MOCKABLE_VIRTUAL uint32_t createGemExt(Drm *drm, const MemRegionsVec &memClassInstances, size_t allocSize, uint32_t &handle, std::optional vmId); + MOCKABLE_VIRTUAL uint32_t createGemExt(const MemRegionsVec &memClassInstances, size_t allocSize, uint32_t &handle, std::optional vmId); MemoryClassInstance getMemoryRegionClassAndInstance(uint32_t memoryBank, const HardwareInfo &hwInfo); @@ -36,12 +36,13 @@ class MemoryInfo { uint32_t getTileIndex(uint32_t memoryBank, const HardwareInfo &hwInfo); - MOCKABLE_VIRTUAL uint32_t createGemExtWithSingleRegion(Drm *drm, uint32_t memoryBanks, size_t allocSize, uint32_t &handle); - MOCKABLE_VIRTUAL uint32_t createGemExtWithMultipleRegions(Drm *drm, uint32_t memoryBanks, size_t allocSize, uint32_t &handle); + MOCKABLE_VIRTUAL uint32_t createGemExtWithSingleRegion(uint32_t memoryBanks, size_t allocSize, uint32_t &handle); + MOCKABLE_VIRTUAL uint32_t createGemExtWithMultipleRegions(uint32_t memoryBanks, size_t allocSize, uint32_t &handle); const RegionContainer &getDrmRegionInfos() const { return drmQueryRegions; } protected: + const Drm &drm; const RegionContainer drmQueryRegions; const MemoryRegion &systemMemoryRegion; diff --git a/shared/test/common/os_interface/linux/drm_memory_manager_fixture.cpp b/shared/test/common/os_interface/linux/drm_memory_manager_fixture.cpp index 0866eface2..bd64679b5b 100644 --- a/shared/test/common/os_interface/linux/drm_memory_manager_fixture.cpp +++ b/shared/test/common/os_interface/linux/drm_memory_manager_fixture.cpp @@ -136,7 +136,7 @@ void DrmMemoryManagerFixtureWithoutQuietIoctlExpectation::SetUp(bool enableLocal regionInfo[0].probedSize = 8 * GB; regionInfo[1].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, 0}; regionInfo[1].probedSize = 16 * GB; - mock->memoryInfo.reset(new MockedMemoryInfo(regionInfo)); + mock->memoryInfo.reset(new MockedMemoryInfo(regionInfo, *mock)); executionEnvironment->rootDeviceEnvironments[0]->memoryOperationsInterface = DrmMemoryOperationsHandler::create(*mock, 0u); memoryManager.reset(new TestedDrmMemoryManager(enableLocalMem, false, false, *executionEnvironment)); diff --git a/shared/test/common/os_interface/linux/drm_memory_manager_fixture.h b/shared/test/common/os_interface/linux/drm_memory_manager_fixture.h index 7d5d91f16e..44623cf5cc 100644 --- a/shared/test/common/os_interface/linux/drm_memory_manager_fixture.h +++ b/shared/test/common/os_interface/linux/drm_memory_manager_fixture.h @@ -63,27 +63,27 @@ class DrmMemoryManagerWithLocalMemoryFixture : public DrmMemoryManagerFixture { }; struct MockedMemoryInfo : public NEO::MemoryInfo { - MockedMemoryInfo(const std::vector ®ionInfo) : MemoryInfo(regionInfo) {} - ~MockedMemoryInfo() override{}; + using NEO::MemoryInfo::MemoryInfo; + ~MockedMemoryInfo() override = default; size_t getMemoryRegionSize(uint32_t memoryBank) override { return 1024u; } - uint32_t createGemExt(Drm *drm, const MemRegionsVec &memClassInstances, size_t allocSize, uint32_t &handle, std::optional vmId) override { + uint32_t createGemExt(const MemRegionsVec &memClassInstances, size_t allocSize, uint32_t &handle, std::optional vmId) override { if (allocSize == 0) { return EINVAL; } handle = 1u; return 0u; } - uint32_t createGemExtWithSingleRegion(Drm *drm, uint32_t memoryBanks, size_t allocSize, uint32_t &handle) override { + uint32_t createGemExtWithSingleRegion(uint32_t memoryBanks, size_t allocSize, uint32_t &handle) override { if (allocSize == 0) { return EINVAL; } handle = 1u; return 0u; } - uint32_t createGemExtWithMultipleRegions(Drm *drm, uint32_t memoryBanks, size_t allocSize, uint32_t &handle) override { + uint32_t createGemExtWithMultipleRegions(uint32_t memoryBanks, size_t allocSize, uint32_t &handle) override { if (allocSize == 0) { return EINVAL; } diff --git a/shared/test/common/os_interface/linux/drm_memory_manager_prelim_fixtures.h b/shared/test/common/os_interface/linux/drm_memory_manager_prelim_fixtures.h index 6e672bbb54..516faf7ced 100644 --- a/shared/test/common/os_interface/linux/drm_memory_manager_prelim_fixtures.h +++ b/shared/test/common/os_interface/linux/drm_memory_manager_prelim_fixtures.h @@ -28,7 +28,7 @@ class DrmMemoryManagerLocalMemoryPrelimTest : public ::testing::Test { executionEnvironment->rootDeviceEnvironments[rootDeviceIndex]->setHwInfo(defaultHwInfo.get()); mock = new DrmQueryMock(*executionEnvironment->rootDeviceEnvironments[rootDeviceIndex]); - auto memoryInfo = new MockExtendedMemoryInfo(); + auto memoryInfo = new MockExtendedMemoryInfo(*mock); mock->memoryInfo.reset(memoryInfo); auto &multiTileArchInfo = executionEnvironment->rootDeviceEnvironments[rootDeviceIndex]->getMutableHardwareInfo()->gtSystemInfo.MultiTileArchInfo; @@ -91,7 +91,7 @@ class DrmMemoryManagerFixturePrelim : public DrmMemoryManagerFixture { MemoryManagementFixture::SetUp(); executionEnvironment = MockDevice::prepareExecutionEnvironment(defaultHwInfo.get(), numRootDevices - 1); mock = new DrmMockCustomPrelim(*executionEnvironment->rootDeviceEnvironments[0]); - mock->memoryInfo.reset(new MemoryInfo(regionInfo)); + mock->memoryInfo.reset(new MemoryInfo(regionInfo, *mock)); DrmMemoryManagerFixture::SetUp(mock, true); } diff --git a/shared/test/common/os_interface/linux/drm_mock_memory_info.h b/shared/test/common/os_interface/linux/drm_mock_memory_info.h index d8b02f3d87..68b7b1958d 100644 --- a/shared/test/common/os_interface/linux/drm_mock_memory_info.h +++ b/shared/test/common/os_interface/linux/drm_mock_memory_info.h @@ -18,8 +18,7 @@ const std::vector memoryRegions = { {{drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, 0}, 8 * GB, 0}}; struct MockMemoryInfo : public NEO::MemoryInfo { - MockMemoryInfo() : MemoryInfo(memoryRegions) {} - ~MockMemoryInfo() override = default; + MockMemoryInfo(const NEO::Drm &drm) : MemoryInfo(memoryRegions, drm) {} }; const std::vector extendedMemoryRegions = { @@ -30,6 +29,5 @@ const std::vector extendedMemoryRegions = { {{drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, 0x800}, 8 * GB, 0}}; struct MockExtendedMemoryInfo : public NEO::MemoryInfo { - MockExtendedMemoryInfo() : MemoryInfo(extendedMemoryRegions) {} - ~MockExtendedMemoryInfo() override = default; + MockExtendedMemoryInfo(const NEO::Drm &drm) : MemoryInfo(extendedMemoryRegions, drm) {} }; diff --git a/shared/test/unit_test/os_interface/linux/drm_engine_info_tests.cpp b/shared/test/unit_test/os_interface/linux/drm_engine_info_tests.cpp index 31fb835494..811d606710 100644 --- a/shared/test/unit_test/os_interface/linux/drm_engine_info_tests.cpp +++ b/shared/test/unit_test/os_interface/linux/drm_engine_info_tests.cpp @@ -30,7 +30,7 @@ TEST(EngineInfoTest, givenEngineInfoQuerySupportedWhenQueryingEngineInfoThenEngi std::vector memRegions{ {{0, 0}, 0, 0}}; - drm->memoryInfo.reset(new MemoryInfo(memRegions)); + drm->memoryInfo.reset(new MemoryInfo(memRegions, *drm)); drm->queryEngineInfo(); EXPECT_EQ(2u + drm->virtualMemoryIds.size(), drm->ioctlCallsCount); auto engineInfo = drm->getEngineInfo(); diff --git a/shared/test/unit_test/os_interface/linux/drm_memory_info_prelim_tests.cpp b/shared/test/unit_test/os_interface/linux/drm_memory_info_prelim_tests.cpp index d51b1ab775..5c2ff6e6ee 100644 --- a/shared/test/unit_test/os_interface/linux/drm_memory_info_prelim_tests.cpp +++ b/shared/test/unit_test/os_interface/linux/drm_memory_info_prelim_tests.cpp @@ -201,7 +201,7 @@ struct MultiTileMemoryInfoFixture : public ::testing::Test { drm = std::make_unique(*rootDeviceEnvironment, rootDeviceEnvironment->getHardwareInfo()); - memoryInfo = new MemoryInfo(regionInfo); + memoryInfo = new MemoryInfo(regionInfo, *drm); drm->memoryInfo.reset(memoryInfo); drm->queryEngineInfo(); } @@ -370,15 +370,15 @@ TEST(MemoryInfo, givenMemoryInfoWithRegionsWhenCreatingGemWithExtensionsThenRetu regionInfo[1].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, 0}; regionInfo[1].probedSize = 16 * GB; - auto memoryInfo = std::make_unique(regionInfo); - ASSERT_NE(nullptr, memoryInfo); - auto executionEnvironment = std::make_unique(); executionEnvironment->prepareRootDeviceEnvironments(1); auto drm = std::make_unique(*executionEnvironment->rootDeviceEnvironments[0]); uint32_t handle = 0; MemRegionsVec memClassInstance = {regionInfo[0].region, regionInfo[1].region}; - auto ret = memoryInfo->createGemExt(drm.get(), memClassInstance, 1024, handle, {}); + auto memoryInfo = std::make_unique(regionInfo, *drm); + ASSERT_NE(nullptr, memoryInfo); + + auto ret = memoryInfo->createGemExt(memClassInstance, 1024, handle, {}); EXPECT_EQ(1u, handle); EXPECT_EQ(0u, ret); EXPECT_EQ(1u, drm->ioctlCallsCount); @@ -396,14 +396,14 @@ TEST(MemoryInfo, givenMemoryInfoWithRegionsWhenCreatingGemExtWithSingleRegionThe regionInfo[1].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, 0}; regionInfo[1].probedSize = 16 * GB; - auto memoryInfo = std::make_unique(regionInfo); - ASSERT_NE(nullptr, memoryInfo); - auto executionEnvironment = std::make_unique(); executionEnvironment->prepareRootDeviceEnvironments(1); auto drm = std::make_unique(*executionEnvironment->rootDeviceEnvironments[0]); uint32_t handle = 0; - auto ret = memoryInfo->createGemExtWithSingleRegion(drm.get(), 1, 1024, handle); + + auto memoryInfo = std::make_unique(regionInfo, *drm); + ASSERT_NE(nullptr, memoryInfo); + auto ret = memoryInfo->createGemExtWithSingleRegion(1, 1024, handle); EXPECT_EQ(1u, handle); EXPECT_EQ(0u, ret); EXPECT_EQ(1u, drm->ioctlCallsCount); @@ -426,16 +426,16 @@ TEST(MemoryInfo, givenMemoryInfoWithRegionsAndPrivateBOSupportWhenCreatingGemExt regionInfo[1].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, 0}; regionInfo[1].probedSize = 16 * GB; - auto memoryInfo = std::make_unique(regionInfo); - ASSERT_NE(nullptr, memoryInfo); - auto executionEnvironment = std::make_unique(); executionEnvironment->prepareRootDeviceEnvironments(1); auto drm = std::make_unique(*executionEnvironment->rootDeviceEnvironments[0]); drm->setPerContextVMRequired(false); + auto memoryInfo = std::make_unique(regionInfo, *drm); + ASSERT_NE(nullptr, memoryInfo); + uint32_t handle = 0; - auto ret = memoryInfo->createGemExtWithSingleRegion(drm.get(), 1, 1024, handle); + auto ret = memoryInfo->createGemExtWithSingleRegion(1, 1024, handle); EXPECT_EQ(1u, handle); EXPECT_EQ(0u, ret); EXPECT_EQ(1u, drm->ioctlCallsCount); @@ -457,16 +457,16 @@ TEST(MemoryInfo, givenMemoryInfoWithRegionsAndNoPrivateBOSupportWhenCreatingGemE regionInfo[1].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, 0}; regionInfo[1].probedSize = 16 * GB; - auto memoryInfo = std::make_unique(regionInfo); - ASSERT_NE(nullptr, memoryInfo); - auto executionEnvironment = std::make_unique(); executionEnvironment->prepareRootDeviceEnvironments(1); auto drm = std::make_unique(*executionEnvironment->rootDeviceEnvironments[0]); drm->setPerContextVMRequired(false); + auto memoryInfo = std::make_unique(regionInfo, *drm); + ASSERT_NE(nullptr, memoryInfo); + uint32_t handle = 0; - auto ret = memoryInfo->createGemExtWithSingleRegion(drm.get(), 1, 1024, handle); + auto ret = memoryInfo->createGemExtWithSingleRegion(1, 1024, handle); EXPECT_EQ(1u, handle); EXPECT_EQ(0u, ret); EXPECT_EQ(1u, drm->ioctlCallsCount); @@ -487,16 +487,16 @@ TEST(MemoryInfo, givenMemoryInfoWithRegionsAndPrivateBOSupportedAndIsPerContextV regionInfo[1].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, 0}; regionInfo[1].probedSize = 16 * GB; - auto memoryInfo = std::make_unique(regionInfo); - ASSERT_NE(nullptr, memoryInfo); - auto executionEnvironment = std::make_unique(); executionEnvironment->prepareRootDeviceEnvironments(1); auto drm = std::make_unique(*executionEnvironment->rootDeviceEnvironments[0]); drm->setPerContextVMRequired(true); + auto memoryInfo = std::make_unique(regionInfo, *drm); + ASSERT_NE(nullptr, memoryInfo); + uint32_t handle = 0; - auto ret = memoryInfo->createGemExtWithSingleRegion(drm.get(), 1, 1024, handle); + auto ret = memoryInfo->createGemExtWithSingleRegion(1, 1024, handle); EXPECT_EQ(1u, handle); EXPECT_EQ(0u, ret); EXPECT_EQ(1u, drm->ioctlCallsCount); @@ -522,15 +522,15 @@ TEST(MemoryInfo, givenMemoryInfoWithRegionsWhenCreatingGemExtWithMultipleRegions regionInfo[4].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, 3}; regionInfo[4].probedSize = 16 * GB; - auto memoryInfo = std::make_unique(regionInfo); - ASSERT_NE(nullptr, memoryInfo); - auto executionEnvironment = std::make_unique(); executionEnvironment->prepareRootDeviceEnvironments(1); auto drm = std::make_unique(*executionEnvironment->rootDeviceEnvironments[0]); + + auto memoryInfo = std::make_unique(regionInfo, *drm); + ASSERT_NE(nullptr, memoryInfo); uint32_t handle = 0; uint32_t memoryRegions = 0b1011; - auto ret = memoryInfo->createGemExtWithMultipleRegions(drm.get(), memoryRegions, 1024, handle); + auto ret = memoryInfo->createGemExtWithMultipleRegions(memoryRegions, 1024, handle); EXPECT_EQ(1u, handle); EXPECT_EQ(0u, ret); EXPECT_EQ(1u, drm->ioctlCallsCount); diff --git a/shared/test/unit_test/os_interface/linux/drm_memory_info_tests.cpp b/shared/test/unit_test/os_interface/linux/drm_memory_info_tests.cpp index c26f55c114..0d1d33d695 100644 --- a/shared/test/unit_test/os_interface/linux/drm_memory_info_tests.cpp +++ b/shared/test/unit_test/os_interface/linux/drm_memory_info_tests.cpp @@ -91,7 +91,10 @@ TEST(MemoryInfo, givenMemoryInfoWithRegionsAndLocalMemoryEnabledWhenGettingMemor regionInfo[1].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, 0}; regionInfo[1].probedSize = 16 * GB; - auto memoryInfo = std::make_unique(regionInfo); + auto executionEnvironment = std::make_unique(); + executionEnvironment->prepareRootDeviceEnvironments(1); + auto drm = std::make_unique(*executionEnvironment->rootDeviceEnvironments[0]); + auto memoryInfo = std::make_unique(regionInfo, *drm); ASSERT_NE(nullptr, memoryInfo); auto regionClassAndInstance = memoryInfo->getMemoryRegionClassAndInstance(MemoryBanks::MainBank, *defaultHwInfo); @@ -111,7 +114,10 @@ TEST(MemoryInfo, givenMemoryInfoWithoutDeviceRegionWhenGettingDeviceRegionSizeTh std::vector regionInfo(1); regionInfo[0].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_SYSTEM, 0}; regionInfo[0].probedSize = 8 * GB; - auto memoryInfo = std::make_unique(regionInfo); + auto executionEnvironment = std::make_unique(); + executionEnvironment->prepareRootDeviceEnvironments(1); + auto drm = std::make_unique(*executionEnvironment->rootDeviceEnvironments[0]); + auto memoryInfo = std::make_unique(regionInfo, *drm); ASSERT_NE(nullptr, memoryInfo); auto regionSize = memoryInfo->getMemoryRegionSize(MemoryBanks::getBankForLocalMemory(0)); EXPECT_EQ(0 * GB, regionSize); @@ -126,7 +132,10 @@ TEST(MemoryInfo, givenMemoryInfoWithRegionsAndLocalMemoryDisabledWhenGettingMemo regionInfo[1].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, 0}; regionInfo[1].probedSize = 16 * GB; - auto memoryInfo = std::make_unique(regionInfo); + auto executionEnvironment = std::make_unique(); + executionEnvironment->prepareRootDeviceEnvironments(1); + auto drm = std::make_unique(*executionEnvironment->rootDeviceEnvironments[0]); + auto memoryInfo = std::make_unique(regionInfo, *drm); ASSERT_NE(nullptr, memoryInfo); auto regionClassAndInstance = memoryInfo->getMemoryRegionClassAndInstance(MemoryBanks::MainBank, *defaultHwInfo); @@ -150,7 +159,10 @@ TEST(MemoryInfo, whenDebugVariablePrintMemoryRegionSizeIsSetAndGetMemoryRegionSi regionInfo[0].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_SYSTEM, 1}; regionInfo[0].probedSize = 16 * GB; - auto memoryInfo = std::make_unique(regionInfo); + auto executionEnvironment = std::make_unique(); + executionEnvironment->prepareRootDeviceEnvironments(1); + auto drm = std::make_unique(*executionEnvironment->rootDeviceEnvironments[0]); + auto memoryInfo = std::make_unique(regionInfo, *drm); ASSERT_NE(nullptr, memoryInfo); testing::internal::CaptureStdout(); @@ -173,7 +185,10 @@ TEST(MemoryInfo, givenMemoryInfoWithRegionsWhenGettingMemoryRegionClassAndInstan regionInfo[2].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, 1}; regionInfo[2].probedSize = 32 * GB; - auto memoryInfo = std::make_unique(regionInfo); + auto executionEnvironment = std::make_unique(); + executionEnvironment->prepareRootDeviceEnvironments(1); + auto drm = std::make_unique(*executionEnvironment->rootDeviceEnvironments[0]); + auto memoryInfo = std::make_unique(regionInfo, *drm); ASSERT_NE(nullptr, memoryInfo); DebugManager.flags.OverrideDrmRegion.set(1); @@ -221,12 +236,12 @@ HWTEST2_F(MemoryInfoTest, givenMemoryInfoWithRegionsWhenCreatingGemWithExtension executionEnvironment->prepareRootDeviceEnvironments(1); auto drm = std::make_unique(*executionEnvironment->rootDeviceEnvironments[0]); drm->ioctlCallsCount = 0; - auto memoryInfo = std::make_unique(regionInfo); + auto memoryInfo = std::make_unique(regionInfo, *drm); ASSERT_NE(nullptr, memoryInfo); uint32_t handle = 0; MemRegionsVec memClassInstance = {regionInfo[0].region, regionInfo[1].region}; - auto ret = memoryInfo->createGemExt(drm.get(), memClassInstance, 1024, handle, {}); + auto ret = memoryInfo->createGemExt(memClassInstance, 1024, handle, {}); EXPECT_EQ(1u, handle); EXPECT_EQ(0u, ret); EXPECT_EQ(1u, drm->ioctlCallsCount); @@ -242,15 +257,15 @@ HWTEST2_F(MemoryInfoTest, givenMemoryInfoWithRegionsWhenCreatingGemExtWithSingle regionInfo[1].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, 0}; regionInfo[1].probedSize = 16 * GB; - auto memoryInfo = std::make_unique(regionInfo); - ASSERT_NE(nullptr, memoryInfo); - auto executionEnvironment = std::make_unique(); executionEnvironment->prepareRootDeviceEnvironments(1); auto drm = std::make_unique(*executionEnvironment->rootDeviceEnvironments[0]); drm->ioctlCallsCount = 0; uint32_t handle = 0; - auto ret = memoryInfo->createGemExtWithSingleRegion(drm.get(), 1, 1024, handle); + auto memoryInfo = std::make_unique(regionInfo, *drm); + ASSERT_NE(nullptr, memoryInfo); + + auto ret = memoryInfo->createGemExtWithSingleRegion(1, 1024, handle); EXPECT_EQ(1u, handle); EXPECT_EQ(0u, ret); EXPECT_EQ(1u, drm->ioctlCallsCount); diff --git a/shared/test/unit_test/os_interface/linux/drm_memory_manager_localmem_prelim_tests.cpp b/shared/test/unit_test/os_interface/linux/drm_memory_manager_localmem_prelim_tests.cpp index d24f10fd0a..c4a11d6fd6 100644 --- a/shared/test/unit_test/os_interface/linux/drm_memory_manager_localmem_prelim_tests.cpp +++ b/shared/test/unit_test/os_interface/linux/drm_memory_manager_localmem_prelim_tests.cpp @@ -44,7 +44,7 @@ TEST_F(DrmMemoryManagerLocalMemoryPrelimTest, givenDrmMemoryManagerWithPrelimSup regionInfo[0].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_SYSTEM, 1}; regionInfo[1].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, DrmMockHelper::getEngineOrMemoryInstanceValue(0, 0)}; - mock->memoryInfo.reset(new MemoryInfo(regionInfo)); + mock->memoryInfo.reset(new MemoryInfo(regionInfo, *mock)); mock->queryEngineInfo(); mock->ioctlCallsCount = 0; @@ -95,7 +95,7 @@ TEST_F(DrmMemoryManagerLocalMemoryPrelimTest, givenMultiRootDeviceEnvironmentAnd regionInfo[0].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_SYSTEM, 0}; regionInfo[1].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, DrmMockHelper::getEngineOrMemoryInstanceValue(0, 0)}; - mock->memoryInfo.reset(new MemoryInfo(regionInfo)); + mock->memoryInfo.reset(new MemoryInfo(regionInfo, *mock)); mock->queryEngineInfo(); mock->ioctlCallsCount = 0; executionEnvironment->rootDeviceEnvironments[i]->osInterface = std::make_unique(); @@ -145,7 +145,7 @@ TEST_F(DrmMemoryManagerLocalMemoryPrelimTest, givenMultiRootDeviceEnvironmentAnd regionInfo[0].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_SYSTEM, 0}; regionInfo[1].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, DrmMockHelper::getEngineOrMemoryInstanceValue(0, 0)}; - mock->memoryInfo.reset(new MemoryInfo(regionInfo)); + mock->memoryInfo.reset(new MemoryInfo(regionInfo, *mock)); mock->queryEngineInfo(); mock->ioctlCallsCount = 0; mock->fdToHandleRetVal = -1; @@ -185,7 +185,7 @@ TEST_F(DrmMemoryManagerUsmSharedHandlePrelimTest, givenMultiRootDeviceEnvironmen regionInfo[0].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_SYSTEM, 0}; regionInfo[1].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, DrmMockHelper::getEngineOrMemoryInstanceValue(0, 0)}; - mock->memoryInfo.reset(new MemoryInfo(regionInfo)); + mock->memoryInfo.reset(new MemoryInfo(regionInfo, *mock)); mock->queryEngineInfo(); mock->ioctlCallsCount = 0; mock->fdToHandleRetVal = -1; @@ -250,7 +250,7 @@ TEST_F(DrmMemoryManagerLocalMemoryPrelimTest, whenCreateUnifiedMemoryAllocationT regionInfo[0].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_SYSTEM, 1}; regionInfo[1].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, DrmMockHelper::getEngineOrMemoryInstanceValue(0, 0)}; - mock->memoryInfo.reset(new MemoryInfo(regionInfo)); + mock->memoryInfo.reset(new MemoryInfo(regionInfo, *mock)); mock->queryEngineInfo(); mock->ioctlCallsCount = 0; @@ -291,7 +291,7 @@ TEST_F(DrmMemoryManagerLocalMemoryPrelimTest, whenCreateUnifiedMemoryAllocationW hwInfo->gtSystemInfo.MultiTileArchInfo.IsValid = 1; hwInfo->gtSystemInfo.MultiTileArchInfo.TileCount = 3; - mock->memoryInfo.reset(new MemoryInfo(regionInfo)); + mock->memoryInfo.reset(new MemoryInfo(regionInfo, *mock)); mock->queryEngineInfo(); mock->ioctlCallsCount = 0; DeviceBitfield devices = 0b101; @@ -336,7 +336,7 @@ TEST_F(DrmMemoryManagerLocalMemoryPrelimTest, givenUseKmdMigrationSetWhenCreateS regionInfo[0].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_SYSTEM, 1}; regionInfo[1].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, DrmMockHelper::getEngineOrMemoryInstanceValue(0, 0)}; - mock->memoryInfo.reset(new MemoryInfo(regionInfo)); + mock->memoryInfo.reset(new MemoryInfo(regionInfo, *mock)); mock->queryEngineInfo(); mock->ioctlCallsCount = 0; mock->setBindAvailable(); @@ -377,7 +377,7 @@ TEST_F(DrmMemoryManagerLocalMemoryPrelimTest, MmapFailWhenCreateSharedUnifiedMem regionInfo[0].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_SYSTEM, 1}; regionInfo[1].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, DrmMockHelper::getEngineOrMemoryInstanceValue(0, 0)}; - mock->memoryInfo.reset(new MemoryInfo(regionInfo)); + mock->memoryInfo.reset(new MemoryInfo(regionInfo, *mock)); mock->queryEngineInfo(); mock->ioctlCallsCount = 0; mock->setBindAvailable(); @@ -405,7 +405,7 @@ TEST_F(DrmMemoryManagerLocalMemoryPrelimTest, givenUseKmdMigrationSetWhenCreateS regionInfo[0].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_SYSTEM, 1}; regionInfo[1].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, DrmMockHelper::getEngineOrMemoryInstanceValue(0, 0)}; - mock->memoryInfo.reset(new MemoryInfo(regionInfo)); + mock->memoryInfo.reset(new MemoryInfo(regionInfo, *mock)); mock->queryEngineInfo(); mock->ioctlCallsCount = 0; mock->setBindAvailable(); @@ -452,7 +452,7 @@ TEST_F(DrmMemoryManagerLocalMemoryPrelimTest, givenSetVmAdviseAtomicAttributeWhe regionInfo[0].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_SYSTEM, 1}; regionInfo[1].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, DrmMockHelper::getEngineOrMemoryInstanceValue(0, 0)}; - mock->memoryInfo.reset(new MemoryInfo(regionInfo)); + mock->memoryInfo.reset(new MemoryInfo(regionInfo, *mock)); mock->queryEngineInfo(); SVMAllocsManager unifiedMemoryManager(memoryManager, false); @@ -507,7 +507,7 @@ TEST_F(DrmMemoryManagerLocalMemoryPrelimTest, givenUseKmdMigrationAndUsmInitialP hwInfo->gtSystemInfo.MultiTileArchInfo.IsValid = 1; hwInfo->gtSystemInfo.MultiTileArchInfo.TileCount = 4; - mock->memoryInfo.reset(new MemoryInfo(regionInfo)); + mock->memoryInfo.reset(new MemoryInfo(regionInfo, *mock)); mock->queryEngineInfo(); SVMAllocsManager unifiedMemoryManager(memoryManager, false); @@ -549,7 +549,7 @@ TEST_F(DrmMemoryManagerLocalMemoryPrelimTest, givenUseKmdMigrationAndUsmInitialP hwInfo->gtSystemInfo.MultiTileArchInfo.IsValid = 1; hwInfo->gtSystemInfo.MultiTileArchInfo.TileCount = 4; - mock->memoryInfo.reset(new MemoryInfo(regionInfo)); + mock->memoryInfo.reset(new MemoryInfo(regionInfo, *mock)); mock->queryEngineInfo(); SVMAllocsManager unifiedMemoryManager(memoryManager, false); @@ -589,7 +589,7 @@ TEST_F(DrmMemoryManagerLocalMemoryPrelimTest, whenVmAdviseIoctlFailsThenCreateSh regionInfo[0].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_SYSTEM, 0}; regionInfo[1].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, DrmMockHelper::getEngineOrMemoryInstanceValue(0, 0)}; - mock->memoryInfo.reset(new MemoryInfo(regionInfo)); + mock->memoryInfo.reset(new MemoryInfo(regionInfo, *mock)); mock->queryEngineInfo(); mock->context.vmAdviseReturn = -1; @@ -613,7 +613,7 @@ TEST_F(DrmMemoryManagerLocalMemoryPrelimTest, givenUseKmdMigrationSetWhenCreateS regionInfo[0].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_SYSTEM, 0}; regionInfo[1].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, DrmMockHelper::getEngineOrMemoryInstanceValue(0, 0)}; - mock->memoryInfo.reset(new MemoryInfo(regionInfo)); + mock->memoryInfo.reset(new MemoryInfo(regionInfo, *mock)); mock->queryEngineInfo(); mock->context.mmapOffsetReturn = -1; @@ -643,7 +643,7 @@ TEST_F(DrmMemoryManagerLocalMemoryPrelimTest, givenMmapFailWhenCreateUnifiedMemo regionInfo[0].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_SYSTEM, 0}; regionInfo[1].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, DrmMockHelper::getEngineOrMemoryInstanceValue(0, 0)}; - mock->memoryInfo.reset(new MemoryInfo(regionInfo)); + mock->memoryInfo.reset(new MemoryInfo(regionInfo, *mock)); mock->queryEngineInfo(); mock->context.mmapOffsetReturn = -1; @@ -661,7 +661,7 @@ TEST_F(DrmMemoryManagerLocalMemoryPrelimTest, givenGemCreateExtFailWhenCreateUni regionInfo[0].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_SYSTEM, 0}; regionInfo[1].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, DrmMockHelper::getEngineOrMemoryInstanceValue(0, 0)}; - mock->memoryInfo.reset(new MemoryInfo(regionInfo)); + mock->memoryInfo.reset(new MemoryInfo(regionInfo, *mock)); mock->queryEngineInfo(); mock->context.gemCreateExtReturn = -1; @@ -682,7 +682,7 @@ TEST_F(DrmMemoryManagerLocalMemoryPrelimTest, givenMemoryInfoWhenAllocateWithAli regionInfo[0].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_SYSTEM, 0}; regionInfo[1].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, DrmMockHelper::getEngineOrMemoryInstanceValue(0, 0)}; - mock->memoryInfo.reset(new MemoryInfo(regionInfo)); + mock->memoryInfo.reset(new MemoryInfo(regionInfo, *mock)); mock->queryEngineInfo(); mock->ioctlCallsCount = 0; @@ -710,7 +710,7 @@ TEST_F(DrmMemoryManagerLocalMemoryPrelimTest, givenAlignmentAndSizeWhenMmapRetur regionInfo[0].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_SYSTEM, 0}; regionInfo[1].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, DrmMockHelper::getEngineOrMemoryInstanceValue(0, 0)}; - mock->memoryInfo.reset(new MemoryInfo(regionInfo)); + mock->memoryInfo.reset(new MemoryInfo(regionInfo, *mock)); mock->queryEngineInfo(); mock->ioctlCallsCount = 0; @@ -752,7 +752,7 @@ TEST_F(DrmMemoryManagerLocalMemoryPrelimTest, givenAlignmentAndSizeWhenMmapRetur regionInfo[0].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_SYSTEM, 0}; regionInfo[1].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, DrmMockHelper::getEngineOrMemoryInstanceValue(0, 0)}; - mock->memoryInfo.reset(new MemoryInfo(regionInfo)); + mock->memoryInfo.reset(new MemoryInfo(regionInfo, *mock)); mock->queryEngineInfo(); mock->ioctlCallsCount = 0; @@ -794,7 +794,7 @@ TEST_F(DrmMemoryManagerLocalMemoryPrelimTest, givenInvalidCacheRegionWhenMmapRet regionInfo[0].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_SYSTEM, 0}; regionInfo[1].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, DrmMockHelper::getEngineOrMemoryInstanceValue(0, 0)}; - mock->memoryInfo.reset(new MemoryInfo(regionInfo)); + mock->memoryInfo.reset(new MemoryInfo(regionInfo, *mock)); mock->queryEngineInfo(); mock->ioctlCallsCount = 0; @@ -834,7 +834,7 @@ TEST_F(DrmMemoryManagerLocalMemoryPrelimTest, givenMemoryInfoAndFailedMmapOffset regionInfo[0].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_SYSTEM, 0}; regionInfo[1].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, DrmMockHelper::getEngineOrMemoryInstanceValue(0, 0)}; - mock->memoryInfo.reset(new MemoryInfo(regionInfo)); + mock->memoryInfo.reset(new MemoryInfo(regionInfo, *mock)); mock->queryEngineInfo(); mock->context.mmapOffsetReturn = -1; @@ -854,7 +854,7 @@ TEST_F(DrmMemoryManagerLocalMemoryPrelimTest, givenMemoryInfoAndDisabledMmapBOCr regionInfo[0].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_SYSTEM, 0}; regionInfo[1].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, DrmMockHelper::getEngineOrMemoryInstanceValue(0, 0)}; - mock->memoryInfo.reset(new MemoryInfo(regionInfo)); + mock->memoryInfo.reset(new MemoryInfo(regionInfo, *mock)); mock->queryEngineInfo(); mock->context.mmapOffsetReturn = -1; @@ -877,7 +877,7 @@ TEST_F(DrmMemoryManagerLocalMemoryPrelimTest, givenMemoryInfoAndNotUseObjectMmap regionInfo[0].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_SYSTEM, 0}; regionInfo[1].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, DrmMockHelper::getEngineOrMemoryInstanceValue(0, 0)}; - mock->memoryInfo.reset(new MemoryInfo(regionInfo)); + mock->memoryInfo.reset(new MemoryInfo(regionInfo, *mock)); mock->queryEngineInfo(); mock->context.mmapOffsetReturn = -1; @@ -901,7 +901,7 @@ TEST_F(DrmMemoryManagerLocalMemoryPrelimTest, givenMemoryInfoAndFailedGemCreateE regionInfo[0].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_SYSTEM, 0}; regionInfo[1].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, DrmMockHelper::getEngineOrMemoryInstanceValue(0, 0)}; - mock->memoryInfo.reset(new MemoryInfo(regionInfo)); + mock->memoryInfo.reset(new MemoryInfo(regionInfo, *mock)); mock->queryEngineInfo(); mock->context.gemCreateExtReturn = -1; @@ -1243,7 +1243,7 @@ TEST_F(DrmMemoryManagerLocalMemoryPrelimTest, givenPrintBOCreateDestroyResultFla auto gpuAddress = 0x1234u; auto size = MemoryConstants::pageSize64k; - mock->memoryInfo.reset(new MemoryInfo(regionInfo)); + mock->memoryInfo.reset(new MemoryInfo(regionInfo, *mock)); mock->queryEngineInfo(); testing::internal::CaptureStdout(); @@ -1273,7 +1273,7 @@ TEST_F(DrmMemoryManagerLocalMemoryPrelimTest, givenPrintBOCreateDestroyResultFla regionInfo[0].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_SYSTEM, 1}; regionInfo[1].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, DrmMockHelper::getEngineOrMemoryInstanceValue(0, 0)}; - mock->memoryInfo.reset(new MemoryInfo(regionInfo)); + mock->memoryInfo.reset(new MemoryInfo(regionInfo, *mock)); mock->queryEngineInfo(); mock->ioctlCallsCount = 0; mock->setBindAvailable(); @@ -1439,7 +1439,7 @@ TEST_F(DrmMemoryManagerFailInjectionPrelimTest, givenEnabledLocalMemoryWhenNewFa } }; - mock->memoryInfo.reset(new MockMemoryInfo()); + mock->memoryInfo.reset(new MockMemoryInfo(*mock)); injectFailures(method); } @@ -1898,7 +1898,7 @@ TEST_F(DrmMemoryManagerTestPrelim, givenDrmMemoryManagerWhenGetLocalMemorySizeIs executionEnvironment.rootDeviceEnvironments[0]->osInterface = std::make_unique(); auto drm = new DrmQueryMock(*executionEnvironment.rootDeviceEnvironments[0]); executionEnvironment.rootDeviceEnvironments[0]->osInterface->setDriverModel(std::unique_ptr(drm)); - drm->memoryInfo.reset(new MockMemoryInfo()); + drm->memoryInfo.reset(new MockMemoryInfo(*drm)); TestedDrmMemoryManager memoryManager(executionEnvironment); auto memoryInfo = drm->getMemoryInfo(); diff --git a/shared/test/unit_test/os_interface/linux/drm_memory_manager_localmem_upstream_tests.cpp b/shared/test/unit_test/os_interface/linux/drm_memory_manager_localmem_upstream_tests.cpp index cb43bf6646..19eee306cf 100644 --- a/shared/test/unit_test/os_interface/linux/drm_memory_manager_localmem_upstream_tests.cpp +++ b/shared/test/unit_test/os_interface/linux/drm_memory_manager_localmem_upstream_tests.cpp @@ -60,7 +60,7 @@ class DrmMemoryManagerLocalMemoryTest : public ::testing::Test { executionEnvironment->prepareRootDeviceEnvironments(1); executionEnvironment->rootDeviceEnvironments[rootDeviceIndex]->setHwInfo(defaultHwInfo.get()); mock = new DrmTipMock(*executionEnvironment->rootDeviceEnvironments[rootDeviceIndex]); - mock->memoryInfo.reset(new MockMemoryInfo()); + mock->memoryInfo.reset(new MockMemoryInfo(*mock)); executionEnvironment->rootDeviceEnvironments[rootDeviceIndex]->osInterface = std::make_unique(); executionEnvironment->rootDeviceEnvironments[rootDeviceIndex]->osInterface->setDriverModel(std::unique_ptr(mock)); executionEnvironment->rootDeviceEnvironments[rootDeviceIndex]->memoryOperationsInterface = DrmMemoryOperationsHandler::create(*mock, 0u); @@ -107,7 +107,7 @@ HWTEST2_F(DrmMemoryManagerLocalMemoryTest, givenDrmMemoryManagerWhenCreateBuffer regionInfo[0].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_SYSTEM, 0}; regionInfo[1].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, 0}; - mock->memoryInfo.reset(new MemoryInfo(regionInfo)); + mock->memoryInfo.reset(new MemoryInfo(regionInfo, *mock)); mock->ioctlCallsCount = 0; auto gpuAddress = 0x1234u; @@ -149,7 +149,7 @@ HWTEST2_F(DrmMemoryManagerLocalMemoryTest, givenMultiRootDeviceEnvironmentAndMem regionInfo[0].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_SYSTEM, 0}; regionInfo[1].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, 0}; - mock->memoryInfo.reset(new MemoryInfo(regionInfo)); + mock->memoryInfo.reset(new MemoryInfo(regionInfo, *mock)); mock->ioctlCallsCount = 0; executionEnvironment->rootDeviceEnvironments[i]->osInterface = std::make_unique(); executionEnvironment->rootDeviceEnvironments[i]->osInterface->setDriverModel(std::unique_ptr(mock)); @@ -195,7 +195,7 @@ TEST_F(DrmMemoryManagerLocalMemoryTest, givenMultiRootDeviceEnvironmentAndMemory regionInfo[0].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_SYSTEM, 0}; regionInfo[1].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, 0}; - mock->memoryInfo.reset(new MemoryInfo(regionInfo)); + mock->memoryInfo.reset(new MemoryInfo(regionInfo, *mock)); mock->ioctlCallsCount = 0; mock->fdToHandleRetVal = -1; executionEnvironment->rootDeviceEnvironments[i]->osInterface = std::make_unique(); @@ -255,7 +255,7 @@ TEST_F(DrmMemoryManagerUsmSharedHandleTest, givenMultiRootDeviceEnvironmentAndMe regionInfo[0].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_SYSTEM, 0}; regionInfo[1].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, 0}; - mock->memoryInfo.reset(new MemoryInfo(regionInfo)); + mock->memoryInfo.reset(new MemoryInfo(regionInfo, *mock)); mock->ioctlCallsCount = 0; mock->fdToHandleRetVal = -1; executionEnvironment->rootDeviceEnvironments[rootDeviceIndex]->osInterface = std::make_unique(); @@ -323,7 +323,7 @@ HWTEST2_F(DrmMemoryManagerLocalMemoryTest, givenMemoryInfoWhenAllocateWithAlignm regionInfo[0].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_SYSTEM, 0}; regionInfo[1].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, 0}; - mock->memoryInfo.reset(new MemoryInfo(regionInfo)); + mock->memoryInfo.reset(new MemoryInfo(regionInfo, *mock)); mock->ioctlCallsCount = 0; AllocationData allocationData; @@ -348,7 +348,7 @@ TEST_F(DrmMemoryManagerLocalMemoryTest, givenMemoryInfoAndNotUseObjectMmapProper regionInfo[0].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_SYSTEM, 0}; regionInfo[1].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, 0}; - mock->memoryInfo.reset(new MemoryInfo(regionInfo)); + mock->memoryInfo.reset(new MemoryInfo(regionInfo, *mock)); mock->mmapOffsetRetVal = -1; AllocationData allocationData; @@ -371,7 +371,7 @@ TEST_F(DrmMemoryManagerLocalMemoryTest, givenMemoryInfoAndFailedMmapOffsetWhenAl regionInfo[0].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_SYSTEM, 0}; regionInfo[1].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, 0}; - mock->memoryInfo.reset(new MemoryInfo(regionInfo)); + mock->memoryInfo.reset(new MemoryInfo(regionInfo, *mock)); mock->mmapOffsetRetVal = -1; AllocationData allocationData; @@ -391,7 +391,7 @@ TEST_F(DrmMemoryManagerLocalMemoryTest, givenMemoryInfoAndDisabledMmapBOCreation regionInfo[0].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_SYSTEM, 0}; regionInfo[1].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, 0}; - mock->memoryInfo.reset(new MemoryInfo(regionInfo)); + mock->memoryInfo.reset(new MemoryInfo(regionInfo, *mock)); mock->mmapOffsetRetVal = -1; AllocationData allocationData; @@ -413,7 +413,7 @@ TEST_F(DrmMemoryManagerLocalMemoryTest, givenMemoryInfoAndFailedGemCreateExtWhen regionInfo[0].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_SYSTEM, 0}; regionInfo[1].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, 0}; - mock->memoryInfo.reset(new MemoryInfo(regionInfo)); + mock->memoryInfo.reset(new MemoryInfo(regionInfo, *mock)); mock->gemCreateExtRetVal = -1; AllocationData allocationData; @@ -457,7 +457,7 @@ class DrmMemoryManagerLocalMemoryMemoryBankTest : public ::testing::Test { executionEnvironment->prepareRootDeviceEnvironments(1); executionEnvironment->rootDeviceEnvironments[rootDeviceIndex]->setHwInfo(defaultHwInfo.get()); mock = new DrmTipMock(*executionEnvironment->rootDeviceEnvironments[rootDeviceIndex]); - mock->memoryInfo.reset(new MockMemoryInfo()); + mock->memoryInfo.reset(new MockMemoryInfo(*mock)); executionEnvironment->rootDeviceEnvironments[rootDeviceIndex]->osInterface = std::make_unique(); executionEnvironment->rootDeviceEnvironments[rootDeviceIndex]->osInterface->setDriverModel(std::unique_ptr(mock)); executionEnvironment->rootDeviceEnvironments[rootDeviceIndex]->memoryOperationsInterface = DrmMemoryOperationsHandler::create(*mock, 0u); @@ -691,7 +691,7 @@ HWTEST2_F(DrmMemoryManagerFailInjectionTest, givenEnabledLocalMemoryWhenNewFails } }; - mock->memoryInfo.reset(new MockMemoryInfo()); + mock->memoryInfo.reset(new MockMemoryInfo(*mock)); injectFailures(method); } @@ -800,7 +800,7 @@ HWTEST2_F(DrmMemoryManagerTestImpl, givenDrmMemoryManagerWhenLockUnlockIsCalledO mockExp->ioctl_expected.gemWait = 1; mockExp->ioctl_expected.gemClose = 1; mockExp->ioctl_expected.gemMmapOffset = 1; - mockExp->memoryInfo.reset(new MockMemoryInfo()); + mockExp->memoryInfo.reset(new MockMemoryInfo(*mockExp)); AllocationData allocData; allocData.allFlags = 0; @@ -876,7 +876,7 @@ TEST_F(DrmMemoryManagerTestImpl, givenDrmMemoryManagerWhenGetLocalMemorySizeIsCa MockExecutionEnvironment executionEnvironment; executionEnvironment.rootDeviceEnvironments[0]->osInterface = std::make_unique(); auto drm = new DrmMock(*executionEnvironment.rootDeviceEnvironments[0]); - drm->memoryInfo.reset(new MockMemoryInfo()); + drm->memoryInfo.reset(new MockMemoryInfo(*drm)); executionEnvironment.rootDeviceEnvironments[0]->osInterface->setDriverModel(std::unique_ptr(drm)); TestedDrmMemoryManager memoryManager(executionEnvironment); @@ -889,7 +889,7 @@ TEST_F(DrmMemoryManagerTestImpl, givenDrmMemoryManagerWhenGetLocalMemorySizeIsCa MockExecutionEnvironment executionEnvironment; executionEnvironment.rootDeviceEnvironments[0]->osInterface = std::make_unique(); auto drm = new DrmMock(*executionEnvironment.rootDeviceEnvironments[0]); - drm->memoryInfo.reset(new MockMemoryInfo()); + drm->memoryInfo.reset(new MockMemoryInfo(*drm)); executionEnvironment.rootDeviceEnvironments[0]->osInterface->setDriverModel(std::unique_ptr(drm)); TestedDrmMemoryManager memoryManager(executionEnvironment); @@ -960,7 +960,7 @@ HWTEST2_F(DrmMemoryManagerLocalMemoryTest, givenAlignmentAndSizeWhenMmapReturnsU regionInfo[0].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_SYSTEM, 0}; regionInfo[1].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, 0}; - mock->memoryInfo.reset(new MemoryInfo(regionInfo)); + mock->memoryInfo.reset(new MemoryInfo(regionInfo, *mock)); mock->ioctlCallsCount = 0; AllocationData allocationData; @@ -998,7 +998,7 @@ HWTEST2_F(DrmMemoryManagerLocalMemoryTest, givenAlignmentAndSizeWhenMmapReturnsA regionInfo[0].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_SYSTEM, 0}; regionInfo[1].region = {drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, 0}; - mock->memoryInfo.reset(new MemoryInfo(regionInfo)); + mock->memoryInfo.reset(new MemoryInfo(regionInfo, *mock)); mock->ioctlCallsCount = 0; AllocationData allocationData; diff --git a/shared/test/unit_test/os_interface/linux/drm_tests.cpp b/shared/test/unit_test/os_interface/linux/drm_tests.cpp index 078025a1b2..d233b9b96d 100644 --- a/shared/test/unit_test/os_interface/linux/drm_tests.cpp +++ b/shared/test/unit_test/os_interface/linux/drm_tests.cpp @@ -1463,7 +1463,7 @@ TEST(DistanceInfoTest, givenDistanceInfosWhenAssignRegionsFromDistancesThenCorre memRegions[1] = {{drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, 0}, 1024, 0}; memRegions[2] = {{drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, 1}, 1024, 0}; memRegions[3] = {{drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, 2}, 1024, 0}; - auto memoryInfo = std::make_unique(memRegions); + auto memoryInfo = std::make_unique(memRegions, drm); std::vector engines(3); engines[0] = {static_cast(ioctlHelper->getDrmParamValue(DrmParam::EngineClassRender)), 0}; 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 38b74ed8c2..a3e9a4ce93 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 @@ -330,7 +330,7 @@ TEST_F(IoctlHelperPrelimFixture, givenPrelimWhenQueryEngineInfoWithDeviceMemoryT {{drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, 0}, 1024, 0}, {{drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, 1}, 1024, 0}, {{drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, 2}, 1024, 0}}; - drm->memoryInfo.reset(new MemoryInfo(memRegions)); + drm->memoryInfo.reset(new MemoryInfo(memRegions, *drm)); EXPECT_TRUE(drm->queryEngineInfo()); EXPECT_EQ(3u, drm->ioctlCallsCount); auto hwInfo = drm->getRootDeviceEnvironment().getHardwareInfo(); @@ -360,7 +360,7 @@ TEST_F(IoctlHelperPrelimFixture, givenPrelimWhenQueryEngineInfoThenCorrectCCSFla {{drm_i915_gem_memory_class::I915_MEMORY_CLASS_SYSTEM, 0}, 1024, 0}, {{drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, 0}, 1024, 0}, {{drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, 1}, 1024, 0}}; - drm->memoryInfo.reset(new MemoryInfo(memRegions)); + drm->memoryInfo.reset(new MemoryInfo(memRegions, *drm)); EXPECT_TRUE(drm->queryEngineInfo()); EXPECT_EQ(3u, drm->ioctlCallsCount); auto hwInfo = drm->getRootDeviceEnvironment().getHardwareInfo(); @@ -377,7 +377,7 @@ TEST_F(IoctlHelperPrelimFixture, givenPrelimWhenSysmanQueryEngineInfoThenAdditio {{drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, 0}, 1024, 0}, {{drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, 1}, 1024, 0}, {{drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, 2}, 1024, 0}}; - drm->memoryInfo.reset(new MemoryInfo(memRegions)); + drm->memoryInfo.reset(new MemoryInfo(memRegions, *drm)); EXPECT_TRUE(drm->sysmanQueryEngineInfo()); EXPECT_EQ(3u, drm->ioctlCallsCount); auto engineInfo = drm->getEngineInfo(); @@ -400,7 +400,7 @@ TEST_F(IoctlHelperPrelimFixture, givenPrelimWhenQueryEngineInfoAndFailIoctlThenF {{drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, 0}, 1024, 0}, {{drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, 1}, 1024, 0}, {{drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, 2}, 1024, 0}}; - drm->memoryInfo.reset(new MemoryInfo(memRegions)); + drm->memoryInfo.reset(new MemoryInfo(memRegions, *drm)); EXPECT_FALSE(drm->queryEngineInfo()); EXPECT_EQ(3u, drm->ioctlCallsCount); diff --git a/shared/test/unit_test/os_interface/linux/ioctl_helper_tests_upstream.cpp b/shared/test/unit_test/os_interface/linux/ioctl_helper_tests_upstream.cpp index 1308dc184a..447347b6f8 100644 --- a/shared/test/unit_test/os_interface/linux/ioctl_helper_tests_upstream.cpp +++ b/shared/test/unit_test/os_interface/linux/ioctl_helper_tests_upstream.cpp @@ -317,7 +317,7 @@ TEST(IoctlHelperTestsUpstream, givenUpstreamWhenQueryEngineInfoWithoutDeviceMemo drm->ioctlCallsCount = 0; std::vector memRegions{ {{drm_i915_gem_memory_class::I915_MEMORY_CLASS_SYSTEM, 0}, 1024, 0}}; - drm->memoryInfo.reset(new MemoryInfo(memRegions)); + drm->memoryInfo.reset(new MemoryInfo(memRegions, *drm)); EXPECT_TRUE(drm->queryEngineInfo()); EXPECT_EQ(2u, drm->ioctlCallsCount); @@ -339,7 +339,7 @@ TEST(IoctlHelperTestsUpstream, givenUpstreamWhenQueryEngineInfoWithDeviceMemoryA {{drm_i915_gem_memory_class::I915_MEMORY_CLASS_SYSTEM, 0}, 1024, 0}, {{drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, 0}, 1024, 0}, {{drm_i915_gem_memory_class::I915_MEMORY_CLASS_DEVICE, 1}, 1024, 0}}; - drm->memoryInfo.reset(new MemoryInfo(memRegions)); + drm->memoryInfo.reset(new MemoryInfo(memRegions, *drm)); EXPECT_TRUE(drm->queryEngineInfo()); EXPECT_EQ(2u, drm->ioctlCallsCount);