@@ -695,7 +695,7 @@ TEST(IoctlHelperXeTest, givenGeomDssWhenGetTopologyDataAndMapThenResultsAreCorre
695
695
auto executionEnvironment = std::make_unique<MockExecutionEnvironment>();
696
696
auto drm = DrmMockXe::create (*executionEnvironment->rootDeviceEnvironments [0 ]);
697
697
auto xeIoctlHelper = static_cast <MockIoctlHelperXe *>(drm->getIoctlHelper ());
698
- auto &hwInfo = *executionEnvironment->rootDeviceEnvironments [0 ]->getHardwareInfo ();
698
+ auto &hwInfo = *executionEnvironment->rootDeviceEnvironments [0 ]->getMutableHardwareInfo ();
699
699
700
700
xeIoctlHelper->initialize ();
701
701
@@ -708,6 +708,7 @@ TEST(IoctlHelperXeTest, givenGeomDssWhenGetTopologyDataAndMapThenResultsAreCorre
708
708
DrmQueryTopologyData topologyData{};
709
709
TopologyMap topologyMap{};
710
710
711
+ hwInfo.gtSystemInfo .MaxSubSlicesSupported = 64 ;
711
712
auto result = xeIoctlHelper->getTopologyDataAndMap (hwInfo, topologyData, topologyMap);
712
713
ASSERT_TRUE (result);
713
714
@@ -744,7 +745,7 @@ TEST(IoctlHelperXeTest, givenUnknownTopologyTypeWhenGetTopologyDataAndMapThenNot
744
745
auto executionEnvironment = std::make_unique<MockExecutionEnvironment>();
745
746
auto drm = DrmMockXe::create (*executionEnvironment->rootDeviceEnvironments [0 ]);
746
747
auto xeIoctlHelper = static_cast <MockIoctlHelperXe *>(drm->getIoctlHelper ());
747
- auto &hwInfo = *executionEnvironment->rootDeviceEnvironments [0 ]->getHardwareInfo ();
748
+ auto &hwInfo = *executionEnvironment->rootDeviceEnvironments [0 ]->getMutableHardwareInfo ();
748
749
xeIoctlHelper->initialize ();
749
750
750
751
constexpr int16_t unknownTopology = -1 ;
@@ -759,6 +760,7 @@ TEST(IoctlHelperXeTest, givenUnknownTopologyTypeWhenGetTopologyDataAndMapThenNot
759
760
DrmQueryTopologyData topologyData{};
760
761
TopologyMap topologyMap{};
761
762
763
+ hwInfo.gtSystemInfo .MaxSubSlicesSupported = 64 ;
762
764
auto result = xeIoctlHelper->getTopologyDataAndMap (hwInfo, topologyData, topologyMap);
763
765
ASSERT_TRUE (result);
764
766
@@ -795,7 +797,7 @@ TEST(IoctlHelperXeTest, givenComputeDssWhenGetTopologyDataAndMapThenResultsAreCo
795
797
auto executionEnvironment = std::make_unique<MockExecutionEnvironment>();
796
798
auto drm = DrmMockXe::create (*executionEnvironment->rootDeviceEnvironments [0 ]);
797
799
auto xeIoctlHelper = static_cast <MockIoctlHelperXe *>(drm->getIoctlHelper ());
798
- auto &hwInfo = *executionEnvironment->rootDeviceEnvironments [0 ]->getHardwareInfo ();
800
+ auto &hwInfo = *executionEnvironment->rootDeviceEnvironments [0 ]->getMutableHardwareInfo ();
799
801
xeIoctlHelper->initialize ();
800
802
801
803
uint16_t tileId = 0 ;
@@ -808,17 +810,18 @@ TEST(IoctlHelperXeTest, givenComputeDssWhenGetTopologyDataAndMapThenResultsAreCo
808
810
DrmQueryTopologyData topologyData{};
809
811
TopologyMap topologyMap{};
810
812
813
+ hwInfo.gtSystemInfo .MaxSubSlicesSupported = 32u ;
811
814
auto result = xeIoctlHelper->getTopologyDataAndMap (hwInfo, topologyData, topologyMap);
812
815
ASSERT_TRUE (result);
813
816
814
817
// verify topology data
815
818
EXPECT_EQ (1 , topologyData.sliceCount );
816
819
EXPECT_EQ (1 , topologyData.maxSlices );
817
820
818
- EXPECT_EQ (64 , topologyData.subSliceCount );
819
- EXPECT_EQ (64 , topologyData.maxSubSlicesPerSlice );
821
+ EXPECT_EQ (32 , topologyData.subSliceCount );
822
+ EXPECT_EQ (32 , topologyData.maxSubSlicesPerSlice );
820
823
821
- EXPECT_EQ (512 , topologyData.euCount );
824
+ EXPECT_EQ (256 , topologyData.euCount );
822
825
EXPECT_EQ (8 , topologyData.maxEusPerSubSlice );
823
826
824
827
// verify topology map
@@ -832,7 +835,7 @@ TEST(IoctlHelperXeTest, givenComputeDssWhenGetTopologyDataAndMapThenResultsAreCo
832
835
833
836
std::vector<int > expectedSubSliceIndices;
834
837
expectedSubSliceIndices.reserve (64u );
835
- for (auto i = 0u ; i < 64 ; i++) {
838
+ for (auto i = 0u ; i < hwInfo. gtSystemInfo . MaxSubSlicesSupported ; i++) {
836
839
expectedSubSliceIndices.emplace_back (i);
837
840
}
838
841
@@ -877,8 +880,8 @@ TEST(IoctlHelperXeTest, givenOnlyMediaTypeWhenGetTopologyDataAndMapThenSubsliceI
877
880
EXPECT_FALSE (result);
878
881
879
882
// verify topology data
880
- EXPECT_EQ (1 , topologyData.sliceCount );
881
- EXPECT_EQ (1 , topologyData.maxSlices );
883
+ EXPECT_EQ (0 , topologyData.sliceCount );
884
+ EXPECT_EQ (0 , topologyData.maxSlices );
882
885
883
886
EXPECT_EQ (0 , topologyData.subSliceCount );
884
887
EXPECT_EQ (0 , topologyData.maxSubSlicesPerSlice );
@@ -936,7 +939,7 @@ TEST(IoctlHelperXeTest, givenMainAndMediaTypesWhenGetTopologyDataAndMapThenResul
936
939
0x100 , // slow mem regions
937
940
};
938
941
939
- auto &hwInfo = *executionEnvironment->rootDeviceEnvironments [0 ]->getHardwareInfo ();
942
+ auto &hwInfo = *executionEnvironment->rootDeviceEnvironments [0 ]->getMutableHardwareInfo ();
940
943
auto xeIoctlHelper = static_cast <MockIoctlHelperXe *>(drm->getIoctlHelper ());
941
944
xeIoctlHelper->initialize ();
942
945
for (auto tileId = 0 ; tileId < 4 ; tileId++) {
@@ -948,6 +951,8 @@ TEST(IoctlHelperXeTest, givenMainAndMediaTypesWhenGetTopologyDataAndMapThenResul
948
951
DrmQueryTopologyData topologyData{};
949
952
TopologyMap topologyMap{};
950
953
954
+ hwInfo.gtSystemInfo .MaxSubSlicesSupported = 64 ;
955
+
951
956
auto result = xeIoctlHelper->getTopologyDataAndMap (hwInfo, topologyData, topologyMap);
952
957
ASSERT_TRUE (result);
953
958
@@ -973,7 +978,7 @@ TEST(IoctlHelperXeTest, given2TileAndComputeDssWhenGetTopologyDataAndMapThenResu
973
978
auto executionEnvironment = std::make_unique<MockExecutionEnvironment>();
974
979
auto drm = DrmMockXe::create (*executionEnvironment->rootDeviceEnvironments [0 ]);
975
980
auto xeIoctlHelper = static_cast <MockIoctlHelperXe *>(drm->getIoctlHelper ());
976
- auto &hwInfo = *executionEnvironment->rootDeviceEnvironments [0 ]->getHardwareInfo ();
981
+ auto &hwInfo = *executionEnvironment->rootDeviceEnvironments [0 ]->getMutableHardwareInfo ();
977
982
xeIoctlHelper->initialize ();
978
983
979
984
for (auto gtId = 0u ; gtId < 4u ; gtId++) {
@@ -985,6 +990,7 @@ TEST(IoctlHelperXeTest, given2TileAndComputeDssWhenGetTopologyDataAndMapThenResu
985
990
DrmQueryTopologyData topologyData{};
986
991
TopologyMap topologyMap{};
987
992
993
+ hwInfo.gtSystemInfo .MaxSubSlicesSupported = 64 ;
988
994
auto result = xeIoctlHelper->getTopologyDataAndMap (hwInfo, topologyData, topologyMap);
989
995
ASSERT_TRUE (result);
990
996
@@ -1028,7 +1034,7 @@ TEST(IoctlHelperXeTest, given2TileWithDisabledDssOn1TileAndComputeDssWhenGetTopo
1028
1034
auto executionEnvironment = std::make_unique<MockExecutionEnvironment>();
1029
1035
auto drm = DrmMockXe::create (*executionEnvironment->rootDeviceEnvironments [0 ]);
1030
1036
auto xeIoctlHelper = static_cast <MockIoctlHelperXe *>(drm->getIoctlHelper ());
1031
- auto &hwInfo = *executionEnvironment->rootDeviceEnvironments [0 ]->getHardwareInfo ();
1037
+ auto &hwInfo = *executionEnvironment->rootDeviceEnvironments [0 ]->getMutableHardwareInfo ();
1032
1038
xeIoctlHelper->initialize ();
1033
1039
1034
1040
for (auto gtId = 0u ; gtId < 4u ; gtId++) {
@@ -1045,6 +1051,7 @@ TEST(IoctlHelperXeTest, given2TileWithDisabledDssOn1TileAndComputeDssWhenGetTopo
1045
1051
DrmQueryTopologyData topologyData{};
1046
1052
TopologyMap topologyMap{};
1047
1053
1054
+ hwInfo.gtSystemInfo .MaxSubSlicesSupported = 64 ;
1048
1055
auto result = xeIoctlHelper->getTopologyDataAndMap (hwInfo, topologyData, topologyMap);
1049
1056
ASSERT_TRUE (result);
1050
1057
@@ -1095,7 +1102,7 @@ TEST(IoctlHelperXeTest, given2TileWithDisabledEvenDssAndComputeDssWhenGetTopolog
1095
1102
auto executionEnvironment = std::make_unique<MockExecutionEnvironment>();
1096
1103
auto drm = DrmMockXe::create (*executionEnvironment->rootDeviceEnvironments [0 ]);
1097
1104
auto xeIoctlHelper = static_cast <MockIoctlHelperXe *>(drm->getIoctlHelper ());
1098
- auto &hwInfo = *executionEnvironment->rootDeviceEnvironments [0 ]->getHardwareInfo ();
1105
+ auto &hwInfo = *executionEnvironment->rootDeviceEnvironments [0 ]->getMutableHardwareInfo ();
1099
1106
xeIoctlHelper->initialize ();
1100
1107
1101
1108
// even dss disabled
@@ -1110,6 +1117,7 @@ TEST(IoctlHelperXeTest, given2TileWithDisabledEvenDssAndComputeDssWhenGetTopolog
1110
1117
DrmQueryTopologyData topologyData{};
1111
1118
TopologyMap topologyMap{};
1112
1119
1120
+ hwInfo.gtSystemInfo .MaxSubSlicesSupported = 64 ;
1113
1121
auto result = xeIoctlHelper->getTopologyDataAndMap (hwInfo, topologyData, topologyMap);
1114
1122
ASSERT_TRUE (result);
1115
1123
@@ -1182,7 +1190,7 @@ TEST(IoctlHelperXeTest, givenMissingEuPerDssInTopologyWhenGetTopologyDataAndMapT
1182
1190
auto executionEnvironment = std::make_unique<MockExecutionEnvironment>();
1183
1191
auto drm = DrmMockXe::create (*executionEnvironment->rootDeviceEnvironments [0 ]);
1184
1192
auto xeIoctlHelper = static_cast <MockIoctlHelperXe *>(drm->getIoctlHelper ());
1185
- auto &hwInfo = *executionEnvironment->rootDeviceEnvironments [0 ]->getHardwareInfo ();
1193
+ auto &hwInfo = *executionEnvironment->rootDeviceEnvironments [0 ]->getMutableHardwareInfo ();
1186
1194
xeIoctlHelper->initialize ();
1187
1195
1188
1196
const auto &tileIdToGtId = xeIoctlHelper->tileIdToGtId ;
@@ -1199,6 +1207,7 @@ TEST(IoctlHelperXeTest, givenMissingEuPerDssInTopologyWhenGetTopologyDataAndMapT
1199
1207
drm->addMockedQueryTopologyData (tileIdToGtId[tileId], DRM_XE_TOPO_DSS_GEOMETRY, 8 , {0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 });
1200
1208
drm->addMockedQueryTopologyData (tileIdToGtId[tileId], DRM_XE_TOPO_DSS_COMPUTE, 8 , {0b1111'1111 , 0b1111'1111 , 0 , 0 , 0 , 0 , 0 , 0 });
1201
1209
}
1210
+ hwInfo.gtSystemInfo .MaxSubSlicesSupported = 64 ;
1202
1211
auto result = xeIoctlHelper->getTopologyDataAndMap (hwInfo, topologyData, topologyMap);
1203
1212
EXPECT_TRUE (result);
1204
1213
0 commit comments