From ac3005a4630550305ad39b7076369beb72a8f888 Mon Sep 17 00:00:00 2001 From: Mateusz Jablonski Date: Tue, 17 May 2022 21:40:34 +0000 Subject: [PATCH] Create a wrapper for drm_i915_query_item Related-To: NEO-6852 Signed-off-by: Mateusz Jablonski --- .../test_metric_ip_sampling_linux_pvc_prelim.cpp | 4 ++-- opencl/test/unit_test/linux/mock_os_layer.cpp | 9 +++++---- .../source/os_interface/linux/device_time_drm.cpp | 2 -- .../source/os_interface/linux/drm_buffer_object.cpp | 2 -- .../os_interface/linux/drm_memory_manager.cpp | 2 -- shared/source/os_interface/linux/drm_neo.cpp | 11 ++++++----- shared/source/os_interface/linux/drm_neo.h | 1 + shared/source/os_interface/linux/drm_wrappers.cpp | 6 ++++++ shared/source/os_interface/linux/drm_wrappers.h | 8 ++++++++ shared/source/os_interface/linux/engine_info.cpp | 3 ++- shared/source/os_interface/linux/engine_info.h | 3 +-- shared/source/os_interface/linux/ioctl_helper.h | 8 ++++---- .../os_interface/linux/ioctl_helper_prelim.cpp | 6 +++--- .../os_interface/linux/ioctl_helper_upstream.cpp | 3 ++- shared/test/common/libult/linux/drm_mock.cpp | 11 +++++------ shared/test/common/libult/linux/drm_mock.h | 4 ++-- shared/test/common/libult/linux/drm_mock_engine.cpp | 11 +++++------ .../common/libult/linux/drm_mock_prelim_context.cpp | 13 +++++++------ shared/test/common/libult/linux/drm_query_mock.cpp | 2 +- .../common/os_interface/linux/drm_neo_create.cpp | 2 -- .../linux/drm_engine_info_prelim_tests.cpp | 4 ++-- .../os_interface/linux/drm_engine_info_tests.cpp | 6 +++--- .../unit_test/os_interface/linux/drm_mock_impl.h | 8 ++++---- .../os_interface/linux/drm_mock_prod_dg1.h | 6 +++--- .../linux/drm_query_topology_prelim_tests.cpp | 6 +++--- .../os_interface/linux/drm_with_prelim_tests.cpp | 2 +- .../linux/ioctl_helper_tests_upstream.cpp | 4 ++-- .../os_interface/linux/os_context_linux_tests.cpp | 3 +-- .../os_interface/linux/prelim_helper_func.cpp | 11 ++++++----- 29 files changed, 85 insertions(+), 76 deletions(-) diff --git a/level_zero/tools/test/unit_tests/sources/metrics/linux/test_metric_ip_sampling_linux_pvc_prelim.cpp b/level_zero/tools/test/unit_tests/sources/metrics/linux/test_metric_ip_sampling_linux_pvc_prelim.cpp index 707fd9bdd0..d78f8dcd2f 100644 --- a/level_zero/tools/test/unit_tests/sources/metrics/linux/test_metric_ip_sampling_linux_pvc_prelim.cpp +++ b/level_zero/tools/test/unit_tests/sources/metrics/linux/test_metric_ip_sampling_linux_pvc_prelim.cpp @@ -72,7 +72,7 @@ class DrmPrelimMock : public DrmMock { distances[3].engine = engines[3].engine; distances[3].region = {I915_MEMORY_CLASS_DEVICE, 3}; - std::vector queryItems{distances.size()}; + std::vector queryItems{distances.size()}; for (auto i = 0u; i < distances.size(); i++) { queryItems[i].length = sizeof(drm_i915_query_engine_info); } @@ -91,7 +91,7 @@ class DrmPrelimMock : public DrmMock { distances[0].engine = engines[0].engine; distances[0].region = {I915_MEMORY_CLASS_DEVICE, 0}; - std::vector queryItems{distances.size()}; + std::vector queryItems{distances.size()}; for (auto i = 0u; i < distances.size(); i++) { queryItems[i].length = sizeof(drm_i915_query_engine_info); } diff --git a/opencl/test/unit_test/linux/mock_os_layer.cpp b/opencl/test/unit_test/linux/mock_os_layer.cpp index b518c5961e..9876905c5b 100644 --- a/opencl/test/unit_test/linux/mock_os_layer.cpp +++ b/opencl/test/unit_test/linux/mock_os_layer.cpp @@ -8,6 +8,7 @@ #include "mock_os_layer.h" #include "shared/source/helpers/string.h" +#include "shared/source/os_interface/linux/drm_wrappers.h" #include #include @@ -251,15 +252,15 @@ int drmVersion(drm_version_t *version) { } int drmQueryItem(drm_i915_query *query) { - auto queryItemArg = reinterpret_cast(query->items_ptr); + auto queryItemArg = reinterpret_cast(query->items_ptr); if (queryItemArg->length == 0) { - if (queryItemArg->query_id == DRM_I915_QUERY_TOPOLOGY_INFO) { + if (queryItemArg->queryId == DRM_I915_QUERY_TOPOLOGY_INFO) { queryItemArg->length = sizeof(drm_i915_query_topology_info) + 1; return 0; } } else { - if (queryItemArg->query_id == DRM_I915_QUERY_TOPOLOGY_INFO) { - auto topologyArg = reinterpret_cast(queryItemArg->data_ptr); + if (queryItemArg->queryId == DRM_I915_QUERY_TOPOLOGY_INFO) { + auto topologyArg = reinterpret_cast(queryItemArg->dataPtr); topologyArg->max_slices = 1; topologyArg->max_subslices = 1; topologyArg->max_eus_per_subslice = 3; diff --git a/shared/source/os_interface/linux/device_time_drm.cpp b/shared/source/os_interface/linux/device_time_drm.cpp index 074fbfaf52..e337a32150 100644 --- a/shared/source/os_interface/linux/device_time_drm.cpp +++ b/shared/source/os_interface/linux/device_time_drm.cpp @@ -12,8 +12,6 @@ #include "shared/source/os_interface/linux/drm_wrappers.h" #include "shared/source/os_interface/os_interface.h" -#include "drm/i915_drm.h" - #include namespace NEO { diff --git a/shared/source/os_interface/linux/drm_buffer_object.cpp b/shared/source/os_interface/linux/drm_buffer_object.cpp index 5caf7a848b..bba4752d9b 100644 --- a/shared/source/os_interface/linux/drm_buffer_object.cpp +++ b/shared/source/os_interface/linux/drm_buffer_object.cpp @@ -19,8 +19,6 @@ #include "shared/source/os_interface/os_context.h" #include "shared/source/utilities/stackvec.h" -#include "drm/i915_drm.h" - #include #include #include diff --git a/shared/source/os_interface/linux/drm_memory_manager.cpp b/shared/source/os_interface/linux/drm_memory_manager.cpp index 2c91a1308a..155a3858f8 100644 --- a/shared/source/os_interface/linux/drm_memory_manager.cpp +++ b/shared/source/os_interface/linux/drm_memory_manager.cpp @@ -31,8 +31,6 @@ #include "shared/source/os_interface/linux/os_context_linux.h" #include "shared/source/os_interface/os_interface.h" -#include "drm/i915_drm.h" - #include #include #include diff --git a/shared/source/os_interface/linux/drm_neo.cpp b/shared/source/os_interface/linux/drm_neo.cpp index e203ec568f..109f98a03c 100644 --- a/shared/source/os_interface/linux/drm_neo.cpp +++ b/shared/source/os_interface/linux/drm_neo.cpp @@ -24,6 +24,7 @@ #include "shared/source/os_interface/linux/drm_gem_close_worker.h" #include "shared/source/os_interface/linux/drm_memory_manager.h" #include "shared/source/os_interface/linux/drm_memory_operations_handler_bind.h" +#include "shared/source/os_interface/linux/drm_wrappers.h" #include "shared/source/os_interface/linux/hw_device_id.h" #include "shared/source/os_interface/linux/ioctl_helper.h" #include "shared/source/os_interface/linux/ioctl_strings.h" @@ -674,8 +675,8 @@ bool Drm::isi915Version(int fileDescriptor) { std::vector Drm::query(uint32_t queryId, uint32_t queryItemFlags) { drm_i915_query query{}; - drm_i915_query_item queryItem{}; - queryItem.query_id = queryId; + QueryItem queryItem{}; + queryItem.queryId = queryId; queryItem.length = 0; // query length first queryItem.flags = queryItemFlags; query.items_ptr = reinterpret_cast<__u64>(&queryItem); @@ -687,7 +688,7 @@ std::vector Drm::query(uint32_t queryId, uint32_t queryItemFlags) { } auto data = std::vector(queryItem.length, 0); - queryItem.data_ptr = castToUint64(data.data()); + queryItem.dataPtr = castToUint64(data.data()); ret = this->ioctl(DRM_IOCTL_I915_QUERY, &query); if (ret != 0 || queryItem.length <= 0) { @@ -1093,14 +1094,14 @@ bool Drm::queryEngineInfo(bool isSysmanEnabled) { return true; } - std::vector queryItems{distanceInfos.size()}; + std::vector queryItems{distanceInfos.size()}; auto ret = ioctlHelper->queryDistances(this, queryItems, distanceInfos); if (ret != 0) { return false; } const bool queryUnsupported = std::all_of(queryItems.begin(), queryItems.end(), - [](const drm_i915_query_item &item) { return item.length == -EINVAL; }); + [](const QueryItem &item) { return item.length == -EINVAL; }); if (queryUnsupported) { DEBUG_BREAK_IF(tileCount != 1); this->engineInfo.reset(new EngineInfo(this, hwInfo, engines)); diff --git a/shared/source/os_interface/linux/drm_neo.h b/shared/source/os_interface/linux/drm_neo.h index 34386fb41d..5534773df6 100644 --- a/shared/source/os_interface/linux/drm_neo.h +++ b/shared/source/os_interface/linux/drm_neo.h @@ -20,6 +20,7 @@ #include "shared/source/utilities/api_intercept.h" #include "shared/source/utilities/stackvec.h" +#include "drm/i915_drm.h" #include "engine_node.h" #include "igfxfmid.h" diff --git a/shared/source/os_interface/linux/drm_wrappers.cpp b/shared/source/os_interface/linux/drm_wrappers.cpp index b5b2c8b097..d7045d5b29 100644 --- a/shared/source/os_interface/linux/drm_wrappers.cpp +++ b/shared/source/os_interface/linux/drm_wrappers.cpp @@ -45,4 +45,10 @@ static_assert(sizeof(ExecObject) == sizeof(drm_i915_gem_exec_object2)); static_assert(sizeof(ExecBuffer) == sizeof(drm_i915_gem_execbuffer2)); +static_assert(sizeof(QueryItem) == sizeof(drm_i915_query_item)); +static_assert(offsetof(QueryItem, queryId) == offsetof(drm_i915_query_item, query_id)); +static_assert(offsetof(QueryItem, length) == offsetof(drm_i915_query_item, length)); +static_assert(offsetof(QueryItem, flags) == offsetof(drm_i915_query_item, flags)); +static_assert(offsetof(QueryItem, dataPtr) == offsetof(drm_i915_query_item, data_ptr)); + } // namespace NEO diff --git a/shared/source/os_interface/linux/drm_wrappers.h b/shared/source/os_interface/linux/drm_wrappers.h index ad51b736ea..5026308544 100644 --- a/shared/source/os_interface/linux/drm_wrappers.h +++ b/shared/source/os_interface/linux/drm_wrappers.h @@ -49,4 +49,12 @@ struct GemGetTiling { uint32_t swizzleMode; uint32_t physSwizzleMode; }; + +struct QueryItem { + uint64_t queryId; + int32_t length; + uint32_t flags; + uint64_t dataPtr; +}; + } // namespace NEO diff --git a/shared/source/os_interface/linux/engine_info.cpp b/shared/source/os_interface/linux/engine_info.cpp index e98d827f2d..6cad480c38 100644 --- a/shared/source/os_interface/linux/engine_info.cpp +++ b/shared/source/os_interface/linux/engine_info.cpp @@ -13,6 +13,7 @@ #include "shared/source/helpers/engine_node_helper.h" #include "shared/source/helpers/hw_info.h" #include "shared/source/os_interface/linux/drm_neo.h" +#include "shared/source/os_interface/linux/drm_wrappers.h" #include @@ -76,7 +77,7 @@ EngineInfo::EngineInfo(Drm *drm, HardwareInfo *hwInfo, const std::vector &distanceInfos, const std::vector &queryItems, const std::vector &engineInfos) +EngineInfo::EngineInfo(Drm *drm, HardwareInfo *hwInfo, uint32_t tileCount, const std::vector &distanceInfos, const std::vector &queryItems, const std::vector &engineInfos) : engines(engineInfos), tileToEngineToInstanceMap(tileCount) { auto tile = 0u; auto computeEnginesPerTile = 0u; diff --git a/shared/source/os_interface/linux/engine_info.h b/shared/source/os_interface/linux/engine_info.h index 3cb3c38464..a4a86b9e75 100644 --- a/shared/source/os_interface/linux/engine_info.h +++ b/shared/source/os_interface/linux/engine_info.h @@ -9,7 +9,6 @@ #include "shared/source/os_interface/linux/engine_info.h" #include "shared/source/os_interface/linux/ioctl_helper.h" -#include "drm/i915_drm.h" #include "engine_node.h" #include "sku_info.h" @@ -26,7 +25,7 @@ struct EngineInfo { using EngineToInstanceMap = std::map; EngineInfo(Drm *drm, HardwareInfo *hwInfo, const std::vector &engineInfos); - EngineInfo(Drm *drm, HardwareInfo *hwInfo, uint32_t tileCount, const std::vector &distanceInfos, const std::vector &queryItems, const std::vector &engineInfos); + EngineInfo(Drm *drm, HardwareInfo *hwInfo, uint32_t tileCount, const std::vector &distanceInfos, const std::vector &queryItems, const std::vector &engineInfos); ~EngineInfo() = default; diff --git a/shared/source/os_interface/linux/ioctl_helper.h b/shared/source/os_interface/linux/ioctl_helper.h index cb3209721a..3bc7a802be 100644 --- a/shared/source/os_interface/linux/ioctl_helper.h +++ b/shared/source/os_interface/linux/ioctl_helper.h @@ -17,7 +17,6 @@ #include #include -struct drm_i915_query_item; struct drm_i915_gem_context_create_ext; namespace NEO { @@ -27,6 +26,7 @@ enum class CacheRegion : uint16_t; struct HardwareInfo; struct ExecBuffer; struct ExecObject; +struct QueryItem; extern IoctlHelper *ioctlHelperFactory[IGFX_MAX_PRODUCT]; @@ -103,7 +103,7 @@ class IoctlHelper { virtual std::unique_ptr prepareVmBindExt(const StackVec &bindExtHandles) = 0; virtual uint64_t getFlagsForVmBind(bool bindCapture, bool bindImmediate, bool bindMakeResident) = 0; virtual std::vector translateToEngineCaps(const std::vector &data) = 0; - virtual uint32_t queryDistances(Drm *drm, std::vector &queryItems, std::vector &distanceInfos) = 0; + virtual uint32_t queryDistances(Drm *drm, std::vector &queryItems, std::vector &distanceInfos) = 0; virtual int32_t getComputeEngineClass() = 0; virtual uint16_t getWaitUserFenceSoftFlag() = 0; virtual int execBuffer(Drm *drm, ExecBuffer *execBuffer, uint64_t completionGpuAddress, uint32_t counterValue) = 0; @@ -160,7 +160,7 @@ class IoctlHelperUpstream : public IoctlHelper { std::unique_ptr prepareVmBindExt(const StackVec &bindExtHandles) override; uint64_t getFlagsForVmBind(bool bindCapture, bool bindImmediate, bool bindMakeResident) override; std::vector translateToEngineCaps(const std::vector &data) override; - uint32_t queryDistances(Drm *drm, std::vector &queryItems, std::vector &distanceInfos) override; + uint32_t queryDistances(Drm *drm, std::vector &queryItems, std::vector &distanceInfos) override; int32_t getComputeEngineClass() override; uint16_t getWaitUserFenceSoftFlag() override; int execBuffer(Drm *drm, ExecBuffer *execBuffer, uint64_t completionGpuAddress, uint32_t counterValue) override; @@ -224,7 +224,7 @@ class IoctlHelperPrelim20 : public IoctlHelper { std::unique_ptr prepareVmBindExt(const StackVec &bindExtHandles) override; uint64_t getFlagsForVmBind(bool bindCapture, bool bindImmediate, bool bindMakeResident) override; std::vector translateToEngineCaps(const std::vector &data) override; - uint32_t queryDistances(Drm *drm, std::vector &queryItems, std::vector &distanceInfos) override; + uint32_t queryDistances(Drm *drm, std::vector &queryItems, std::vector &distanceInfos) override; int32_t getComputeEngineClass() override; uint16_t getWaitUserFenceSoftFlag() override; int execBuffer(Drm *drm, ExecBuffer *execBuffer, uint64_t completionGpuAddress, uint32_t counterValue) override; diff --git a/shared/source/os_interface/linux/ioctl_helper_prelim.cpp b/shared/source/os_interface/linux/ioctl_helper_prelim.cpp index 5cbcde4db0..8b6a34e99e 100644 --- a/shared/source/os_interface/linux/ioctl_helper_prelim.cpp +++ b/shared/source/os_interface/linux/ioctl_helper_prelim.cpp @@ -311,15 +311,15 @@ prelim_drm_i915_query_distance_info translateToi915(const DistanceInfo &distance return dist; } -uint32_t IoctlHelperPrelim20::queryDistances(Drm *drm, std::vector &queryItems, std::vector &distanceInfos) { +uint32_t IoctlHelperPrelim20::queryDistances(Drm *drm, std::vector &queryItems, std::vector &distanceInfos) { std::vector i915Distances(distanceInfos.size()); std::transform(distanceInfos.begin(), distanceInfos.end(), i915Distances.begin(), translateToi915); for (auto i = 0u; i < i915Distances.size(); i++) { - queryItems[i].query_id = PRELIM_DRM_I915_QUERY_DISTANCE_INFO; + queryItems[i].queryId = PRELIM_DRM_I915_QUERY_DISTANCE_INFO; queryItems[i].length = sizeof(prelim_drm_i915_query_distance_info); queryItems[i].flags = 0u; - queryItems[i].data_ptr = reinterpret_cast<__u64>(&i915Distances[i]); + queryItems[i].dataPtr = reinterpret_cast(&i915Distances[i]); } drm_i915_query query{}; diff --git a/shared/source/os_interface/linux/ioctl_helper_upstream.cpp b/shared/source/os_interface/linux/ioctl_helper_upstream.cpp index ad67fba3df..87990127e8 100644 --- a/shared/source/os_interface/linux/ioctl_helper_upstream.cpp +++ b/shared/source/os_interface/linux/ioctl_helper_upstream.cpp @@ -8,6 +8,7 @@ #include "shared/source/debug_settings/debug_settings_manager.h" #include "shared/source/helpers/common_types.h" #include "shared/source/os_interface/linux/cache_info.h" +#include "shared/source/os_interface/linux/drm_wrappers.h" #include "shared/source/os_interface/linux/ioctl_helper.h" #include "third_party/uapi/drm/i915_drm.h" @@ -144,7 +145,7 @@ std::vector IoctlHelperUpstream::translateToEngineCaps(const return engines; } -uint32_t IoctlHelperUpstream::queryDistances(Drm *drm, std::vector &queryItems, std::vector &distanceInfos) { +uint32_t IoctlHelperUpstream::queryDistances(Drm *drm, std::vector &queryItems, std::vector &distanceInfos) { for (auto &query : queryItems) { query.length = -EINVAL; } diff --git a/shared/test/common/libult/linux/drm_mock.cpp b/shared/test/common/libult/linux/drm_mock.cpp index 7ce1a021a0..4b8bb8d30c 100644 --- a/shared/test/common/libult/linux/drm_mock.cpp +++ b/shared/test/common/libult/linux/drm_mock.cpp @@ -10,7 +10,6 @@ #include "shared/source/execution_environment/root_device_environment.h" #include "shared/source/helpers/hw_info.h" -#include "drm/i915_drm.h" #include "gtest/gtest.h" #include @@ -241,20 +240,20 @@ int DrmMock::ioctl(unsigned long request, void *arg) { if (request == DRM_IOCTL_I915_QUERY && arg != nullptr) { ioctlCount.query++; auto queryArg = static_cast(arg); - auto queryItemArg = reinterpret_cast(queryArg->items_ptr); + auto queryItemArg = reinterpret_cast(queryArg->items_ptr); storedQueryItem = *queryItemArg; auto realEuCount = rootDeviceEnvironment.getHardwareInfo()->gtSystemInfo.EUCount; auto dataSize = static_cast(std::ceil(realEuCount / 8.0)); if (queryItemArg->length == 0) { - if (queryItemArg->query_id == DRM_I915_QUERY_TOPOLOGY_INFO) { + if (queryItemArg->queryId == DRM_I915_QUERY_TOPOLOGY_INFO) { queryItemArg->length = static_cast(sizeof(drm_i915_query_topology_info) + dataSize); return 0; } } else { - if (queryItemArg->query_id == DRM_I915_QUERY_TOPOLOGY_INFO) { - auto topologyArg = reinterpret_cast(queryItemArg->data_ptr); + if (queryItemArg->queryId == DRM_I915_QUERY_TOPOLOGY_INFO) { + auto topologyArg = reinterpret_cast(queryItemArg->dataPtr); if (this->failRetTopology) { return -1; } @@ -290,7 +289,7 @@ int DrmMockEngine::handleRemainingRequests(unsigned long request, void *arg) { return EINVAL; } for (auto i = 0u; i < query->num_items; i++) { - handleQueryItem(reinterpret_cast(query->items_ptr) + i); + handleQueryItem(reinterpret_cast(query->items_ptr) + i); } return 0; } diff --git a/shared/test/common/libult/linux/drm_mock.h b/shared/test/common/libult/linux/drm_mock.h index 3ba3338724..17e0166d4f 100644 --- a/shared/test/common/libult/linux/drm_mock.h +++ b/shared/test/common/libult/linux/drm_mock.h @@ -231,7 +231,7 @@ class DrmMock : public Drm { //DRM_IOCTL_I915_GEM_MMAP uint64_t lockedPtr[4]; //DRM_IOCTL_I915_QUERY - drm_i915_query_item storedQueryItem = {}; + QueryItem storedQueryItem = {}; //DRM_IOCTL_I915_GEM_WAIT drm_i915_gem_wait receivedGemWait = {}; //DRM_IOCTL_I915_GEM_CONTEXT_CREATE_EXT @@ -291,7 +291,7 @@ class DrmMockEngine : public DrmMock { int handleRemainingRequests(unsigned long request, void *arg) override; - void handleQueryItem(drm_i915_query_item *queryItem); + void handleQueryItem(QueryItem *queryItem); bool failQueryDeviceBlob = false; }; diff --git a/shared/test/common/libult/linux/drm_mock_engine.cpp b/shared/test/common/libult/linux/drm_mock_engine.cpp index 46bbc69819..94064eabcb 100644 --- a/shared/test/common/libult/linux/drm_mock_engine.cpp +++ b/shared/test/common/libult/linux/drm_mock_engine.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation + * Copyright (C) 2021-2022 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -8,11 +8,10 @@ #include "shared/test/common/libult/linux/drm_mock.h" #include "shared/test/common/os_interface/linux/drm_mock_device_blob.h" -#include "drm/i915_drm.h" #include "gtest/gtest.h" -void DrmMockEngine::handleQueryItem(drm_i915_query_item *queryItem) { - switch (queryItem->query_id) { +void DrmMockEngine::handleQueryItem(QueryItem *queryItem) { + switch (queryItem->queryId) { case DRM_I915_QUERY_ENGINE_INFO: if (queryEngineInfoSuccessCount == 0) { queryItem->length = -EINVAL; @@ -24,7 +23,7 @@ void DrmMockEngine::handleQueryItem(drm_i915_query_item *queryItem) { queryItem->length = engineInfoSize; } else { EXPECT_EQ(engineInfoSize, queryItem->length); - auto queryEnginenInfo = reinterpret_cast(queryItem->data_ptr); + auto queryEnginenInfo = reinterpret_cast(queryItem->dataPtr); EXPECT_EQ(0u, queryEnginenInfo->num_engines); queryEnginenInfo->num_engines = numberOfEngines; queryEnginenInfo->engines[0].engine.engine_class = I915_ENGINE_CLASS_RENDER; @@ -43,7 +42,7 @@ void DrmMockEngine::handleQueryItem(drm_i915_query_item *queryItem) { queryItem->length = deviceBlobSize; } else { EXPECT_EQ(deviceBlobSize, queryItem->length); - auto deviceBlobData = reinterpret_cast(queryItem->data_ptr); + auto deviceBlobData = reinterpret_cast(queryItem->dataPtr); memcpy(deviceBlobData, &dummyDeviceBlobData, deviceBlobSize); } } diff --git a/shared/test/common/libult/linux/drm_mock_prelim_context.cpp b/shared/test/common/libult/linux/drm_mock_prelim_context.cpp index d4a226687e..3106ed0e4a 100644 --- a/shared/test/common/libult/linux/drm_mock_prelim_context.cpp +++ b/shared/test/common/libult/linux/drm_mock_prelim_context.cpp @@ -11,6 +11,7 @@ #include "shared/source/helpers/ptr_math.h" #include "shared/source/helpers/string.h" #include "shared/source/os_interface/linux/cache_info.h" +#include "shared/source/os_interface/linux/drm_wrappers.h" #include "shared/test/common/libult/linux/drm_mock_helper.h" #include "third_party/uapi/prelim/drm/i915_drm.h" @@ -255,12 +256,12 @@ int DrmMockPrelimContext::handlePrelimRequest(unsigned long request, void *arg) } bool DrmMockPrelimContext::handlePrelimQueryItem(void *arg) { - auto queryItem = reinterpret_cast(arg); + auto queryItem = reinterpret_cast(arg); auto >SystemInfo = hwInfo->gtSystemInfo; const auto numberOfCCS = gtSystemInfo.CCSInfo.IsValid && !disableCcsSupport ? gtSystemInfo.CCSInfo.NumberOfCCSEnabled : 0u; - switch (queryItem->query_id) { + switch (queryItem->queryId) { case PRELIM_DRM_I915_QUERY_ENGINE_INFO: { auto numberOfTiles = gtSystemInfo.MultiTileArchInfo.IsValid ? gtSystemInfo.MultiTileArchInfo.TileCount : 1u; uint32_t numberOfEngines = numberOfTiles * (4u + numberOfCCS + static_cast(supportedCopyEnginesMask.count())); @@ -269,7 +270,7 @@ bool DrmMockPrelimContext::handlePrelimQueryItem(void *arg) { queryItem->length = engineInfoSize; } else { EXPECT_EQ(engineInfoSize, queryItem->length); - auto queryEngineInfo = reinterpret_cast(queryItem->data_ptr); + auto queryEngineInfo = reinterpret_cast(queryItem->dataPtr); EXPECT_EQ(0u, queryEngineInfo->num_engines); queryEngineInfo->num_engines = numberOfEngines; auto p = queryEngineInfo->engines; @@ -309,7 +310,7 @@ bool DrmMockPrelimContext::handlePrelimQueryItem(void *arg) { queryItem->length = regionInfoSize; } else { EXPECT_EQ(regionInfoSize, queryItem->length); - auto queryMemoryRegionInfo = reinterpret_cast(queryItem->data_ptr); + auto queryMemoryRegionInfo = reinterpret_cast(queryItem->dataPtr); EXPECT_EQ(0u, queryMemoryRegionInfo->num_regions); queryMemoryRegionInfo->num_regions = numberOfRegions; queryMemoryRegionInfo->regions[0].region.memory_class = PRELIM_I915_MEMORY_CLASS_SYSTEM; @@ -329,7 +330,7 @@ bool DrmMockPrelimContext::handlePrelimQueryItem(void *arg) { return false; } - auto queryDistanceInfo = reinterpret_cast(queryItem->data_ptr); + auto queryDistanceInfo = reinterpret_cast(queryItem->dataPtr); switch (queryDistanceInfo->region.memory_class) { case PRELIM_I915_MEMORY_CLASS_SYSTEM: EXPECT_EQ(sizeof(prelim_drm_i915_query_distance_info), static_cast(queryItem->length)); @@ -365,7 +366,7 @@ bool DrmMockPrelimContext::handlePrelimQueryItem(void *arg) { queryItem->length = static_cast(sizeof(drm_i915_query_topology_info) + dataSize); break; } else { - auto topologyArg = reinterpret_cast(queryItem->data_ptr); + auto topologyArg = reinterpret_cast(queryItem->dataPtr); if (failRetTopology) { return false; } diff --git a/shared/test/common/libult/linux/drm_query_mock.cpp b/shared/test/common/libult/linux/drm_query_mock.cpp index 5da009253b..4d38116708 100644 --- a/shared/test/common/libult/linux/drm_query_mock.cpp +++ b/shared/test/common/libult/linux/drm_query_mock.cpp @@ -24,7 +24,7 @@ int DrmQueryMock::handleRemainingRequests(unsigned long request, void *arg) { } for (auto i = 0u; i < query->num_items; ++i) { - const auto queryItem = reinterpret_cast(query->items_ptr) + i; + const auto queryItem = reinterpret_cast(query->items_ptr) + i; if (!this->handleQueryItem(queryItem)) { return EINVAL; } diff --git a/shared/test/common/os_interface/linux/drm_neo_create.cpp b/shared/test/common/os_interface/linux/drm_neo_create.cpp index b552928b35..f1b3254bdb 100644 --- a/shared/test/common/os_interface/linux/drm_neo_create.cpp +++ b/shared/test/common/os_interface/linux/drm_neo_create.cpp @@ -11,8 +11,6 @@ #include "shared/test/common/helpers/default_hw_info.h" #include "shared/test/common/libult/linux/drm_mock.h" -#include "drm/i915_drm.h" - namespace NEO { class DrmMockDefault : public DrmMock { diff --git a/shared/test/unit_test/os_interface/linux/drm_engine_info_prelim_tests.cpp b/shared/test/unit_test/os_interface/linux/drm_engine_info_prelim_tests.cpp index 23f7d04300..33f7cbef33 100644 --- a/shared/test/unit_test/os_interface/linux/drm_engine_info_prelim_tests.cpp +++ b/shared/test/unit_test/os_interface/linux/drm_engine_info_prelim_tests.cpp @@ -777,8 +777,8 @@ struct DistanceQueryDrmTests : ::testing::Test { bool supportDistanceInfoQuery = true; bool handleQueryItem(void *arg) override { - auto *queryItem = reinterpret_cast(arg); - if (queryItem->query_id == DrmPrelimHelper::getDistanceInfoQueryId() && !supportDistanceInfoQuery) { + auto *queryItem = reinterpret_cast(arg); + if (queryItem->queryId == DrmPrelimHelper::getDistanceInfoQueryId() && !supportDistanceInfoQuery) { queryItem->length = -EINVAL; return true; // successful query with incorrect length } 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 3075efac4d..9b5646453d 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 @@ -119,7 +119,7 @@ TEST(EngineInfoTest, whenGetEngineInstanceAndTileThenCorrectValuesReturned) { distances[3].engine = engines[3].engine; distances[3].region = {I915_MEMORY_CLASS_DEVICE, 1}; - std::vector queryItems{distances.size()}; + std::vector queryItems{distances.size()}; for (auto i = 0u; i < distances.size(); i++) { queryItems[i].length = sizeof(drm_i915_query_engine_info); } @@ -169,7 +169,7 @@ TEST(EngineInfoTest, whenCreateEngineInfoAndInvalidQueryThenNoEnginesSet) { distances[3].engine = engines[3].engine; distances[3].region = {I915_MEMORY_CLASS_DEVICE, 1}; - std::vector queryItems{distances.size()}; + std::vector queryItems{distances.size()}; for (auto i = 0u; i < distances.size(); i++) { queryItems[i].length = -1; } @@ -185,7 +185,7 @@ TEST(EngineInfoTest, whenEmptyEngineInfoCreatedThen0TileReturned) { auto hwInfo = *defaultHwInfo.get(); std::vector distances; std::vector engines; - std::vector queryItems; + std::vector queryItems; auto engineInfo = std::make_unique(drm.get(), &hwInfo, 0, distances, queryItems, engines); EXPECT_EQ(0u, engineInfo->getEngineTileIndex({I915_ENGINE_CLASS_RENDER, 1})); diff --git a/shared/test/unit_test/os_interface/linux/drm_mock_impl.h b/shared/test/unit_test/os_interface/linux/drm_mock_impl.h index 8412bc46c8..a92687dfe3 100644 --- a/shared/test/unit_test/os_interface/linux/drm_mock_impl.h +++ b/shared/test/unit_test/os_interface/linux/drm_mock_impl.h @@ -52,7 +52,7 @@ class DrmTipMock : public DrmMock { return EINVAL; } for (auto i = 0u; i < query->num_items; i++) { - handleQueryItem(reinterpret_cast(query->items_ptr) + i); + handleQueryItem(reinterpret_cast(query->items_ptr) + i); } return 0; } else if (request == DRM_IOCTL_I915_GEM_MMAP_OFFSET) { @@ -64,8 +64,8 @@ class DrmTipMock : public DrmMock { return handleKernelSpecificRequests(request, arg); } - virtual void handleQueryItem(drm_i915_query_item *queryItem) { - switch (queryItem->query_id) { + virtual void handleQueryItem(QueryItem *queryItem) { + switch (queryItem->queryId) { case DRM_I915_QUERY_MEMORY_REGIONS: if (queryMemoryRegionInfoSuccessCount == 0) { queryItem->length = -EINVAL; @@ -78,7 +78,7 @@ class DrmTipMock : public DrmMock { queryItem->length = regionInfoSize; } else { EXPECT_EQ(regionInfoSize, queryItem->length); - auto queryMemoryRegionInfo = reinterpret_cast(queryItem->data_ptr); + auto queryMemoryRegionInfo = reinterpret_cast(queryItem->dataPtr); EXPECT_EQ(0u, queryMemoryRegionInfo->num_regions); queryMemoryRegionInfo->num_regions = numberOfRegions; queryMemoryRegionInfo->regions[0].region.memory_class = I915_MEMORY_CLASS_SYSTEM; diff --git a/shared/test/unit_test/os_interface/linux/drm_mock_prod_dg1.h b/shared/test/unit_test/os_interface/linux/drm_mock_prod_dg1.h index 738ce85bad..e76a55cc1d 100644 --- a/shared/test/unit_test/os_interface/linux/drm_mock_prod_dg1.h +++ b/shared/test/unit_test/os_interface/linux/drm_mock_prod_dg1.h @@ -24,8 +24,8 @@ class DrmMockProdDg1 : public DrmTipMock { rootDeviceEnvironment.setHwInfo(inputHwInfo); } - void handleQueryItem(drm_i915_query_item *queryItem) override { - switch (queryItem->query_id) { + void handleQueryItem(QueryItem *queryItem) override { + switch (queryItem->queryId) { case DRM_I915_QUERY_MEMORY_REGIONS: if (queryMemoryRegionInfoSuccessCount == 0) { queryItem->length = -EINVAL; @@ -38,7 +38,7 @@ class DrmMockProdDg1 : public DrmTipMock { queryItem->length = regionInfoSize; } else { EXPECT_EQ(regionInfoSize, queryItem->length); - auto queryMemoryRegionInfo = reinterpret_cast(queryItem->data_ptr); + auto queryMemoryRegionInfo = reinterpret_cast(queryItem->dataPtr); EXPECT_EQ(0u, queryMemoryRegionInfo->num_regions); queryMemoryRegionInfo->num_regions = numberOfRegions; queryMemoryRegionInfo->regions[0].region.memory_class = I915_MEMORY_CLASS_SYSTEM; diff --git a/shared/test/unit_test/os_interface/linux/drm_query_topology_prelim_tests.cpp b/shared/test/unit_test/os_interface/linux/drm_query_topology_prelim_tests.cpp index 17214888bf..aba1297e85 100644 --- a/shared/test/unit_test/os_interface/linux/drm_query_topology_prelim_tests.cpp +++ b/shared/test/unit_test/os_interface/linux/drm_query_topology_prelim_tests.cpp @@ -36,8 +36,8 @@ struct QueryTopologyTests : ::testing::Test { using DrmQueryMock::DrmQueryMock; bool handleQueryItem(void *arg) override { - const auto queryItem = reinterpret_cast(arg); - if (queryItem->query_id != DrmPrelimHelper::getQueryComputeSlicesIoctl()) { + const auto queryItem = reinterpret_cast(arg); + if (queryItem->queryId != DrmPrelimHelper::getQueryComputeSlicesIoctl()) { return DrmQueryMock::handleQueryItem(queryItem); } @@ -53,7 +53,7 @@ struct QueryTopologyTests : ::testing::Test { if (queryItem->length == 0) { queryItem->length = static_cast(sizeof(drm_i915_query_topology_info) + dataSize); } else { - auto topologyArg = reinterpret_cast(queryItem->data_ptr); + auto topologyArg = reinterpret_cast(queryItem->dataPtr); uint16_t finalSVal = queryComputeSlicesSCount; uint16_t finalSSVal = queryComputeSlicesSSCount; 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 8bfde3d0b2..765f26ae3a 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 @@ -304,7 +304,7 @@ TEST_F(IoctlHelperPrelimFixture, givenPrelimsWhenQueryDistancesThenCorrectDistan distances[1].region = {I915_MEMORY_CLASS_DEVICE, 1}; distances[2].engine = {I915_ENGINE_CLASS_COPY, 4}; distances[2].region = {I915_MEMORY_CLASS_DEVICE, 2}; - std::vector queryItems(distances.size()); + std::vector queryItems(distances.size()); auto ret = drm->getIoctlHelper()->queryDistances(drm.get(), queryItems, distances); EXPECT_EQ(0u, ret); EXPECT_EQ(0, distances[0].distance); 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 515df0c427..42c1c38211 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 @@ -216,11 +216,11 @@ TEST(IoctlHelperTestsUpstream, givenUpstreamWhenQueryDistancesThenReturnEinval) executionEnvironment->prepareRootDeviceEnvironments(1); auto drm = std::make_unique(*executionEnvironment->rootDeviceEnvironments[0]); std::vector distanceInfos; - std::vector queries(4); + std::vector queries(4); auto ret = drm->getIoctlHelper()->queryDistances(drm.get(), queries, distanceInfos); EXPECT_EQ(0u, ret); const bool queryUnsupported = std::all_of(queries.begin(), queries.end(), - [](const drm_i915_query_item &item) { return item.length == -EINVAL; }); + [](const QueryItem &item) { return item.length == -EINVAL; }); EXPECT_TRUE(queryUnsupported); } diff --git a/shared/test/unit_test/os_interface/linux/os_context_linux_tests.cpp b/shared/test/unit_test/os_interface/linux/os_context_linux_tests.cpp index b6f48019aa..e29736ae8e 100644 --- a/shared/test/unit_test/os_interface/linux/os_context_linux_tests.cpp +++ b/shared/test/unit_test/os_interface/linux/os_context_linux_tests.cpp @@ -19,7 +19,6 @@ #include "shared/test/common/os_interface/linux/device_command_stream_fixture.h" #include "shared/test/common/test_macros/test.h" -#include "drm/i915_drm.h" #include "gtest/gtest.h" #include @@ -33,4 +32,4 @@ TEST(OSContextLinux, givenReinitializeContextWhenContextIsInitThenContextIsStill OsContextLinux osContext(*mock, 0u, EngineDescriptorHelper::getDefaultDescriptor()); EXPECT_NO_THROW(osContext.reInitializeContext()); EXPECT_NO_THROW(osContext.ensureContextInitialized()); -} \ No newline at end of file +} diff --git a/shared/test/unit_test/os_interface/linux/prelim_helper_func.cpp b/shared/test/unit_test/os_interface/linux/prelim_helper_func.cpp index af78b4a6c9..c7c2f80dd9 100644 --- a/shared/test/unit_test/os_interface/linux/prelim_helper_func.cpp +++ b/shared/test/unit_test/os_interface/linux/prelim_helper_func.cpp @@ -5,6 +5,7 @@ * */ +#include "shared/source/os_interface/linux/drm_wrappers.h" #include "shared/source/os_interface/linux/ioctl_helper.h" #include "shared/test/common/test_macros/test.h" @@ -51,14 +52,14 @@ int handlePrelimRequests(unsigned long request, void *arg, int ioctlRetVal, int return EINVAL; } for (auto i = 0u; i < query->num_items; i++) { - auto queryItemPtr = reinterpret_cast(query->items_ptr) + i; - if (queryItemPtr->query_id == PRELIM_DRM_I915_QUERY_DISTANCE_INFO) { + auto queryItemPtr = reinterpret_cast(query->items_ptr) + i; + if (queryItemPtr->queryId == PRELIM_DRM_I915_QUERY_DISTANCE_INFO) { if (queryDistanceIoctlRetVal != 0) { return queryDistanceIoctlRetVal; } - auto distance = reinterpret_cast(queryItemPtr->data_ptr); + auto distance = reinterpret_cast(queryItemPtr->dataPtr); distance->distance = (distance->engine.engine_instance == distance->region.memory_instance) ? 0 : 100; - } else if (queryItemPtr->query_id == PRELIM_DRM_I915_QUERY_ENGINE_INFO) { + } else if (queryItemPtr->queryId == PRELIM_DRM_I915_QUERY_ENGINE_INFO) { auto numberOfTiles = 2u; uint32_t numberOfEngines = numberOfTiles * 6u; int engineInfoSize = sizeof(prelim_drm_i915_query_engine_info) + numberOfEngines * sizeof(prelim_drm_i915_engine_info); @@ -66,7 +67,7 @@ int handlePrelimRequests(unsigned long request, void *arg, int ioctlRetVal, int queryItemPtr->length = engineInfoSize; } else { EXPECT_EQ(engineInfoSize, queryItemPtr->length); - auto queryEngineInfo = reinterpret_cast(queryItemPtr->data_ptr); + auto queryEngineInfo = reinterpret_cast(queryItemPtr->dataPtr); EXPECT_EQ(0u, queryEngineInfo->num_engines); queryEngineInfo->num_engines = numberOfEngines; auto p = queryEngineInfo->engines;