Skip to content

Commit cdd2cd7

Browse files
Revert "Bind virtual copy engines in optimal sequence"
This reverts commit b55bbd41931d71ca774d4ae776f6860185e332c9. Signed-off-by: Lukasz Jobczyk <[email protected]>
1 parent 7e144d7 commit cdd2cd7

File tree

4 files changed

+2
-49
lines changed

4 files changed

+2
-49
lines changed

shared/source/os_interface/linux/drm_neo.cpp

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1152,7 +1152,7 @@ unsigned int Drm::bindDrmContext(uint32_t drmContextId, uint32_t deviceIndex, au
11521152

11531153
for (auto engineIndex = 0u; engineIndex < engineCount; engineIndex++) {
11541154
if (useVirtualEnginesForBcs && engine->engineClass == ioctlHelper->getDrmParamValue(DrmParam::EngineClassCopy)) {
1155-
auto mappedBcsEngineType = this->getBcsTypeToBind(engineIndex, includeMainCopyEngineInGroup);
1155+
auto mappedBcsEngineType = static_cast<aub_stream::EngineType>(EngineHelpers::mapBcsIndexToEngineType(engineIndex, includeMainCopyEngineInGroup));
11561156
bool isBcsEnabled = rootDeviceEnvironment.getHardwareInfo()->featureTable.ftrBcsInfo.test(EngineHelpers::getBcsIndex(mappedBcsEngineType));
11571157

11581158
if (!isBcsEnabled) {
@@ -1185,22 +1185,6 @@ unsigned int Drm::bindDrmContext(uint32_t drmContextId, uint32_t deviceIndex, au
11851185
return retVal;
11861186
}
11871187

1188-
constexpr std::array<aub_stream::EngineType, EngineHelpers::numLinkedCopyEngines> optimalBcsSequence = {aub_stream::ENGINE_BCS2, aub_stream::ENGINE_BCS3,
1189-
aub_stream::ENGINE_BCS4, aub_stream::ENGINE_BCS7,
1190-
aub_stream::ENGINE_BCS1, aub_stream::ENGINE_BCS5,
1191-
aub_stream::ENGINE_BCS6, aub_stream::ENGINE_BCS8};
1192-
1193-
aub_stream::EngineType Drm::getBcsTypeToBind(unsigned int engineIndex, bool includeMain) {
1194-
if (engineIndex == 0 && includeMain) {
1195-
return aub_stream::EngineType::ENGINE_BCS;
1196-
} else {
1197-
if (includeMain) {
1198-
engineIndex--;
1199-
}
1200-
return optimalBcsSequence[engineIndex];
1201-
}
1202-
}
1203-
12041188
void Drm::waitForBind(uint32_t vmHandleId) {
12051189
if (pagingFence[vmHandleId] >= fenceVal[vmHandleId]) {
12061190
return;

shared/source/os_interface/linux/drm_neo.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,6 @@ class Drm : public DriverModel {
112112
void setLowPriorityContextParam(uint32_t drmContextId);
113113

114114
unsigned int bindDrmContext(uint32_t drmContextId, uint32_t deviceIndex, aub_stream::EngineType engineType, bool engineInstancedDevice);
115-
aub_stream::EngineType getBcsTypeToBind(unsigned int engineIndex, bool includeMain);
116115

117116
MOCKABLE_VIRTUAL int getErrno();
118117
bool setQueueSliceCount(uint64_t sliceCount);

shared/test/unit_test/os_interface/linux/drm_engine_info_prelim_tests.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ static void givenBcsEngineTypeWhenBindingDrmContextThenContextParamEngineIsSet(s
193193
EXPECT_EQ(numBcsSiblings, drm->receivedContextEnginesLoadBalance.num_siblings);
194194
for (auto balancedEngine = 0u; balancedEngine < numBcsSiblings; balancedEngine++) {
195195
EXPECT_EQ(I915_ENGINE_CLASS_COPY, drm->receivedContextEnginesLoadBalance.engines[balancedEngine].engine_class);
196-
auto engineInstance = EngineHelpers::getBcsIndex(drm->getBcsTypeToBind(balancedEngine, engineIndex == 0));
196+
auto engineInstance = engineIndex ? balancedEngine + 1 : balancedEngine;
197197
EXPECT_EQ(engineInstance, DrmMockHelper::getIdFromEngineOrMemoryInstance(drm->receivedContextEnginesLoadBalance.engines[balancedEngine].engine_instance));
198198
EXPECT_EQ(I915_ENGINE_CLASS_COPY, drm->receivedContextParamEngines.engines[1 + balancedEngine].engine_class);
199199
EXPECT_EQ(engineInstance, DrmMockHelper::getIdFromEngineOrMemoryInstance(drm->receivedContextParamEngines.engines[1 + balancedEngine].engine_instance));

shared/test/unit_test/os_interface/linux/drm_tests.cpp

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -102,36 +102,6 @@ TEST(DrmTest, GivenInvalidPciPathWhenFrequencyIsQueriedThenReturnError) {
102102
EXPECT_EQ(0, maxFrequency);
103103
}
104104

105-
TEST(DrmTest, whenGetBcsTypeToBindThenReturnOptimalSequence) {
106-
auto executionEnvironment = std::make_unique<ExecutionEnvironment>();
107-
executionEnvironment->prepareRootDeviceEnvironments(1);
108-
DrmMock drm{*executionEnvironment->rootDeviceEnvironments[0]};
109-
110-
{
111-
auto includeMain = false;
112-
EXPECT_EQ(aub_stream::EngineType::ENGINE_BCS2, drm.getBcsTypeToBind(0, includeMain));
113-
EXPECT_EQ(aub_stream::EngineType::ENGINE_BCS3, drm.getBcsTypeToBind(1, includeMain));
114-
EXPECT_EQ(aub_stream::EngineType::ENGINE_BCS4, drm.getBcsTypeToBind(2, includeMain));
115-
EXPECT_EQ(aub_stream::EngineType::ENGINE_BCS7, drm.getBcsTypeToBind(3, includeMain));
116-
EXPECT_EQ(aub_stream::EngineType::ENGINE_BCS1, drm.getBcsTypeToBind(4, includeMain));
117-
EXPECT_EQ(aub_stream::EngineType::ENGINE_BCS5, drm.getBcsTypeToBind(5, includeMain));
118-
EXPECT_EQ(aub_stream::EngineType::ENGINE_BCS6, drm.getBcsTypeToBind(6, includeMain));
119-
EXPECT_EQ(aub_stream::EngineType::ENGINE_BCS8, drm.getBcsTypeToBind(7, includeMain));
120-
}
121-
{
122-
auto includeMain = true;
123-
EXPECT_EQ(aub_stream::EngineType::ENGINE_BCS, drm.getBcsTypeToBind(0, includeMain));
124-
EXPECT_EQ(aub_stream::EngineType::ENGINE_BCS2, drm.getBcsTypeToBind(1, includeMain));
125-
EXPECT_EQ(aub_stream::EngineType::ENGINE_BCS3, drm.getBcsTypeToBind(2, includeMain));
126-
EXPECT_EQ(aub_stream::EngineType::ENGINE_BCS4, drm.getBcsTypeToBind(3, includeMain));
127-
EXPECT_EQ(aub_stream::EngineType::ENGINE_BCS7, drm.getBcsTypeToBind(4, includeMain));
128-
EXPECT_EQ(aub_stream::EngineType::ENGINE_BCS1, drm.getBcsTypeToBind(5, includeMain));
129-
EXPECT_EQ(aub_stream::EngineType::ENGINE_BCS5, drm.getBcsTypeToBind(6, includeMain));
130-
EXPECT_EQ(aub_stream::EngineType::ENGINE_BCS6, drm.getBcsTypeToBind(7, includeMain));
131-
EXPECT_EQ(aub_stream::EngineType::ENGINE_BCS8, drm.getBcsTypeToBind(8, includeMain));
132-
}
133-
}
134-
135105
TEST(DrmTest, WhenGettingRevisionIdThenCorrectIdIsReturned) {
136106
auto executionEnvironment = std::make_unique<ExecutionEnvironment>();
137107
executionEnvironment->prepareRootDeviceEnvironments(1);

0 commit comments

Comments
 (0)