From 6486b3574d3a17293b3994633dcca09858f1eff4 Mon Sep 17 00:00:00 2001 From: Mateusz Hoppe Date: Thu, 22 Jul 2021 16:20:54 +0000 Subject: [PATCH] Set MaxEusPerSubslice from topology if not already set Signed-off-by: Mateusz Hoppe --- .../os_interface/linux/hw_info_config_linux_tests.cpp | 6 ++++++ shared/source/os_interface/linux/hw_info_config_drm.cpp | 1 + 2 files changed, 7 insertions(+) diff --git a/opencl/test/unit_test/os_interface/linux/hw_info_config_linux_tests.cpp b/opencl/test/unit_test/os_interface/linux/hw_info_config_linux_tests.cpp index 008869da03..6e8e7537d7 100644 --- a/opencl/test/unit_test/os_interface/linux/hw_info_config_linux_tests.cpp +++ b/opencl/test/unit_test/os_interface/linux/hw_info_config_linux_tests.cpp @@ -617,4 +617,10 @@ HWTEST2_F(HwConfigLinux, GivenDifferentValuesFromTopologyQueryWhenConfiguringHwI EXPECT_EQ(static_cast(drm->storedSVal), outHwInfo.gtSystemInfo.MaxSlicesSupported); EXPECT_EQ(hwInfo.gtSystemInfo.MaxDualSubSlicesSupported, outHwInfo.gtSystemInfo.MaxDualSubSlicesSupported); + + hwInfo.gtSystemInfo.MaxEuPerSubSlice = 0; + + ret = hwConfig->configureHwInfoDrm(&hwInfo, &outHwInfo, osInterface.get()); + EXPECT_EQ(0, ret); + EXPECT_EQ(8u, outHwInfo.gtSystemInfo.MaxEuPerSubSlice); } diff --git a/shared/source/os_interface/linux/hw_info_config_drm.cpp b/shared/source/os_interface/linux/hw_info_config_drm.cpp index 89c3b3fa95..e649549f6e 100644 --- a/shared/source/os_interface/linux/hw_info_config_drm.cpp +++ b/shared/source/os_interface/linux/hw_info_config_drm.cpp @@ -121,6 +121,7 @@ int HwInfoConfig::configureHwInfoDrm(const HardwareInfo *inHwInfo, HardwareInfo gtSystemInfo->EUCount = static_cast(topologyData.euCount); gtSystemInfo->ThreadCount = this->threadsPerEu * gtSystemInfo->EUCount; + gtSystemInfo->MaxEuPerSubSlice = gtSystemInfo->MaxEuPerSubSlice != 0 ? gtSystemInfo->MaxEuPerSubSlice : topologyData.maxEuCount; gtSystemInfo->MaxSubSlicesSupported = std::max(static_cast(topologyData.maxSubSliceCount * topologyData.maxSliceCount), gtSystemInfo->MaxSubSlicesSupported); gtSystemInfo->MaxSlicesSupported = topologyData.maxSliceCount;