From a59559e516e2acffe6d2697603edb2118a4f5f5d Mon Sep 17 00:00:00 2001 From: Slawomir Milczarek Date: Thu, 10 Oct 2019 16:01:54 +0200 Subject: [PATCH] Add setEngines function stub to drm class Related-To: NEO-3008 Change-Id: I43d66fb9db1a0005922d7fbd8b96fccff3e7046d Signed-off-by: Slawomir Milczarek --- Jenkinsfile | 2 +- runtime/dll/linux/drm_neo_create.cpp | 6 ++++++ runtime/os_interface/linux/drm_neo.h | 1 + runtime/os_interface/linux/drm_query.cpp | 4 ++++ .../os_interface/linux/drm_memory_info_tests.cpp | 10 ++++++++++ 5 files changed, 22 insertions(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index fcac6356b8..b4743d1e4b 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,5 +1,5 @@ #!groovy dependenciesRevision='3fca422c0e381f607f9c8c02dca161010c30dac8-1319' strategy='EQUAL' -allowedCD=263 +allowedCD=264 allowedF=7 diff --git a/runtime/dll/linux/drm_neo_create.cpp b/runtime/dll/linux/drm_neo_create.cpp index 0a65be23f4..7b7595e2d5 100644 --- a/runtime/dll/linux/drm_neo_create.cpp +++ b/runtime/dll/linux/drm_neo_create.cpp @@ -182,6 +182,12 @@ Drm *Drm::create(int32_t deviceOrdinal) { } drmObject->queryEngineInfo(); + ret = drmObject->setEngines(); + if (ret != 0) { + printDebugString(DebugManager.flags.PrintDebugMessages.get(), stderr, "%s", "FATAL: Failed to set engines\n"); + return nullptr; + } + if (HwHelper::get(device->pHwInfo->platform.eRenderCoreFamily).getEnableLocalMemory(*device->pHwInfo)) { drmObject->queryMemoryInfo(); drmObject->setMemoryRegions(); diff --git a/runtime/os_interface/linux/drm_neo.h b/runtime/os_interface/linux/drm_neo.h index b11b071ab2..ea7a63e5d0 100644 --- a/runtime/os_interface/linux/drm_neo.h +++ b/runtime/os_interface/linux/drm_neo.h @@ -77,6 +77,7 @@ class Drm { uint64_t getSliceMask(uint64_t sliceCount); void queryEngineInfo(); void queryMemoryInfo(); + int setEngines(); void setMemoryRegions(); MemoryInfo *getMemoryInfo() const { diff --git a/runtime/os_interface/linux/drm_query.cpp b/runtime/os_interface/linux/drm_query.cpp index 3807bbce6f..c3f8a1239e 100644 --- a/runtime/os_interface/linux/drm_query.cpp +++ b/runtime/os_interface/linux/drm_query.cpp @@ -21,6 +21,10 @@ void Drm::queryEngineInfo() { void Drm::queryMemoryInfo() { } +int Drm::setEngines() { + return 0; +} + void Drm::setMemoryRegions() { } diff --git a/unit_tests/os_interface/linux/drm_memory_info_tests.cpp b/unit_tests/os_interface/linux/drm_memory_info_tests.cpp index 5fc54d95b6..c5f42ac41c 100644 --- a/unit_tests/os_interface/linux/drm_memory_info_tests.cpp +++ b/unit_tests/os_interface/linux/drm_memory_info_tests.cpp @@ -27,6 +27,16 @@ TEST(DrmTest, whenQueryingMemoryInfoThenMemoryInfoIsNotCreatedAndNoIoctlIsCalled EXPECT_EQ(0u, drm->ioctlCallsCount); } +TEST(DrmTest, whenSettingEnginesThenReturnZeroValueAndCallNoIoctls) { + auto drm = std::make_unique(); + EXPECT_NE(nullptr, drm); + + auto ret = drm->setEngines(); + + EXPECT_EQ(0, ret); + EXPECT_EQ(0u, drm->ioctlCallsCount); +} + TEST(DrmTest, whenSettingMemoryRegionsThenNoIoctlIsCalled) { std::unique_ptr drm = std::make_unique(); EXPECT_NE(nullptr, drm);