Skip to content

Commit 570b4d3

Browse files
Revert "fix: align NEO to new Xe KMD header"
This reverts commit f68b8a2. Signed-off-by: Compute-Runtime-Validation <[email protected]>
1 parent 125848e commit 570b4d3

File tree

9 files changed

+14
-244
lines changed

9 files changed

+14
-244
lines changed

shared/source/debug_settings/debug_variables_base.inl

-1
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,6 @@ DECLARE_DEBUG_VARIABLE(int32_t, EnableInOrderRelaxedOrderingForEventsChaining, -
265265
DECLARE_DEBUG_VARIABLE(int32_t, InOrderAtomicSignallingEnabled, -1, "-1: default, 0: disabled, 1: Use atomic GPU operations in increment the counter. Otherwise use non-atomic commands like SDI.")
266266
DECLARE_DEBUG_VARIABLE(int32_t, InOrderDuplicatedCounterStorageEnabled, -1, "-1: default, 0: disabled, 1: Allocate additional host storage for signalling")
267267
DECLARE_DEBUG_VARIABLE(int32_t, SetProcessPowerThrottlingState, -1, "-1: default, 0: Disabled, 1: ECO, 2: HIGH. If set, will override process power throttling state on os context init. Windows only.")
268-
DECLARE_DEBUG_VARIABLE(int32_t, OverrideCpuCaching, -1, "-1: default, 1: DRM_XE_GEM_CPU_CACHING_WB, 2: DRM_XE_GEM_CPU_CACHING_WC")
269268

270269
/*LOGGING FLAGS*/
271270
DECLARE_DEBUG_VARIABLE(int32_t, PrintDriverDiagnostics, -1, "prints driver diagnostics messages to standard output, value corresponds to hint level")

shared/source/os_interface/linux/drm_neo.cpp

-1
Original file line numberDiff line numberDiff line change
@@ -1315,7 +1315,6 @@ int changeBufferObjectBinding(Drm *drm, OsContext *osContext, uint32_t vmHandleI
13151315
UNRECOVERABLE_IF(bo->peekPatIndex() == CommonConstants::unsupportedPatIndex);
13161316
ioctlHelper->fillVmBindExtSetPat(vmBindExtSetPat, bo->peekPatIndex(), castToUint64(extensions.get()));
13171317
vmBind.extensions = castToUint64(vmBindExtSetPat);
1318-
vmBind.patIndex = bo->peekPatIndex();
13191318
} else {
13201319
vmBind.extensions = castToUint64(extensions.get());
13211320
}

shared/source/os_interface/linux/ioctl_helper.h

-1
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,6 @@ struct VmBindParams {
6161
uint64_t length;
6262
uint64_t flags;
6363
uint64_t extensions;
64-
uint64_t patIndex;
6564
};
6665

6766
struct UuidRegisterResult {

shared/source/os_interface/linux/xe/ioctl_helper_xe.cpp

-12
Original file line numberDiff line numberDiff line change
@@ -533,15 +533,6 @@ void IoctlHelperXe::setDefaultEngine() {
533533
}
534534
}
535535

536-
uint16_t IoctlHelperXe::getCpuCachingMode() {
537-
uint16_t cpuCachingMode = DRM_XE_GEM_CPU_CACHING_WC;
538-
if (debugManager.flags.OverrideCpuCaching.get() != -1) {
539-
cpuCachingMode = debugManager.flags.OverrideCpuCaching.get();
540-
}
541-
542-
return cpuCachingMode;
543-
}
544-
545536
int IoctlHelperXe::createGemExt(const MemRegionsVec &memClassInstances, size_t allocSize, uint32_t &handle, uint64_t patIndex, std::optional<uint32_t> vmId, int32_t pairHandle, bool isChunked, uint32_t numOfChunks) {
546537
struct drm_xe_gem_create create = {};
547538
uint32_t regionsSize = static_cast<uint32_t>(memClassInstances.size());
@@ -562,7 +553,6 @@ int IoctlHelperXe::createGemExt(const MemRegionsVec &memClassInstances, size_t a
562553
memoryInstances.set(memoryClassInstance.memoryInstance);
563554
}
564555
create.flags = static_cast<uint32_t>(memoryInstances.to_ulong());
565-
create.cpu_caching = this->getCpuCachingMode();
566556

567557
auto ret = IoctlHelper::ioctl(DrmIoctl::gemCreate, &create);
568558
handle = create.handle;
@@ -596,7 +586,6 @@ uint32_t IoctlHelperXe::createGem(uint64_t size, uint32_t memoryBanks) {
596586
memoryInstances.set(regionClassAndInstance.memoryInstance);
597587
}
598588
create.flags = static_cast<uint32_t>(memoryInstances.to_ulong());
599-
create.cpu_caching = this->getCpuCachingMode();
600589
[[maybe_unused]] auto ret = ioctl(DrmIoctl::gemCreate, &create);
601590
DEBUG_BREAK_IF(ret != 0);
602591
updateBindInfo(create.handle, 0u, create.size);
@@ -1265,7 +1254,6 @@ int IoctlHelperXe::xeVmBind(const VmBindParams &vmBindParams, bool isBind) {
12651254
bind.bind.addr = gmmHelper->decanonize(vmBindParams.start);
12661255
bind.bind.flags = DRM_XE_VM_BIND_FLAG_ASYNC;
12671256
bind.bind.obj_offset = vmBindParams.offset;
1268-
bind.bind.pat_index = vmBindParams.patIndex;
12691257

12701258
if (isBind) {
12711259
bind.bind.op = DRM_XE_VM_BIND_OP_MAP;

shared/source/os_interface/linux/xe/ioctl_helper_xe.h

-1
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,6 @@ class IoctlHelperXe : public IoctlHelper {
118118
void fillBindInfoForIpcHandle(uint32_t handle, size_t size) override;
119119
bool getFdFromVmExport(uint32_t vmId, uint32_t flags, int32_t *fd) override;
120120
bool isImmediateVmBindRequired() const override;
121-
uint16_t getCpuCachingMode();
122121

123122
private:
124123
template <typename... XeLogArgs>

shared/test/common/test_files/igdrcl.config

-1
Original file line numberDiff line numberDiff line change
@@ -569,5 +569,4 @@ EnableDeviceStateVerificationAfterFailedSubmission = -1
569569
InOrderAtomicSignallingEnabled = -1
570570
SetProcessPowerThrottlingState = -1
571571
InOrderDuplicatedCounterStorageEnabled = -1
572-
OverrideCpuCaching = -1
573572
# Please don't edit below this line

shared/test/unit_test/os_interface/linux/xe/ioctl_helper_xe_tests.cpp

+2-56
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ TEST(IoctlHelperXeTest, whenChangingBufferBindingThenWaitIsNeededAlways) {
4545

4646
TEST(IoctlHelperXeTest, givenIoctlHelperXeWhenCallingGemCreateExtWithRegionsThenDummyValueIsReturned) {
4747
auto executionEnvironment = std::make_unique<MockExecutionEnvironment>();
48-
DrmMockXe drm{*executionEnvironment->rootDeviceEnvironments[0]};
48+
DrmMock drm{*executionEnvironment->rootDeviceEnvironments[0]};
4949
auto xeIoctlHelper = std::make_unique<MockIoctlHelperXe>(drm);
5050
ASSERT_NE(nullptr, xeIoctlHelper);
5151

@@ -62,12 +62,11 @@ TEST(IoctlHelperXeTest, givenIoctlHelperXeWhenCallingGemCreateExtWithRegionsThen
6262
EXPECT_TRUE(xeIoctlHelper->bindInfo.empty());
6363
EXPECT_NE(0, xeIoctlHelper->createGemExt(memRegions, 0u, handle, 0, {}, -1, false, numOfChunks));
6464
EXPECT_FALSE(xeIoctlHelper->bindInfo.empty());
65-
EXPECT_EQ(DRM_XE_GEM_CPU_CACHING_WC, drm.createParamsCpuCaching);
6665
}
6766

6867
TEST(IoctlHelperXeTest, givenIoctlHelperXeWhenCallingGemCreateExtWithRegionsAndVmIdThenDummyValueIsReturned) {
6968
auto executionEnvironment = std::make_unique<MockExecutionEnvironment>();
70-
DrmMockXe drm{*executionEnvironment->rootDeviceEnvironments[0]};
69+
DrmMock drm{*executionEnvironment->rootDeviceEnvironments[0]};
7170
auto xeIoctlHelper = std::make_unique<MockIoctlHelperXe>(drm);
7271
ASSERT_NE(nullptr, xeIoctlHelper);
7372

@@ -85,7 +84,6 @@ TEST(IoctlHelperXeTest, givenIoctlHelperXeWhenCallingGemCreateExtWithRegionsAndV
8584
EXPECT_TRUE(xeIoctlHelper->bindInfo.empty());
8685
EXPECT_NE(0, xeIoctlHelper->createGemExt(memRegions, 0u, handle, 0, test.vmId, -1, false, numOfChunks));
8786
EXPECT_FALSE(xeIoctlHelper->bindInfo.empty());
88-
EXPECT_EQ(DRM_XE_GEM_CPU_CACHING_WC, drm.createParamsCpuCaching);
8987
}
9088

9189
TEST(IoctlHelperXeTest, givenIoctlHelperXeWhenCallGemCreateAndNoLocalMemoryThenProperValuesSet) {
@@ -109,7 +107,6 @@ TEST(IoctlHelperXeTest, givenIoctlHelperXeWhenCallGemCreateAndNoLocalMemoryThenP
109107

110108
EXPECT_EQ(size, drm.createParamsSize);
111109
EXPECT_EQ(1u, drm.createParamsFlags);
112-
EXPECT_EQ(DRM_XE_GEM_CPU_CACHING_WC, drm.createParamsCpuCaching);
113110

114111
// dummy mock handle
115112
EXPECT_EQ(handle, drm.createParamsHandle);
@@ -137,7 +134,6 @@ TEST(IoctlHelperXeTest, givenIoctlHelperXeWhenCallGemCreateWhenMemoryBanksZeroTh
137134

138135
EXPECT_EQ(size, drm.createParamsSize);
139136
EXPECT_EQ(1u, drm.createParamsFlags);
140-
EXPECT_EQ(DRM_XE_GEM_CPU_CACHING_WC, drm.createParamsCpuCaching);
141137

142138
// dummy mock handle
143139
EXPECT_EQ(handle, drm.createParamsHandle);
@@ -165,7 +161,6 @@ TEST(IoctlHelperXeTest, givenIoctlHelperXeWhenCallGemCreateAndLocalMemoryThenPro
165161

166162
EXPECT_EQ(size, drm.createParamsSize);
167163
EXPECT_EQ(6u, drm.createParamsFlags);
168-
EXPECT_EQ(DRM_XE_GEM_CPU_CACHING_WC, drm.createParamsCpuCaching);
169164

170165
// dummy mock handle
171166
EXPECT_EQ(handle, drm.createParamsHandle);
@@ -592,7 +587,6 @@ TEST(IoctlHelperXeTest, whenCallingIoctlThenProperValueIsReturned) {
592587
test.handle = 0;
593588
test.flags = 1;
594589
test.size = 123;
595-
test.cpu_caching = DRM_XE_GEM_CPU_CACHING_WC;
596590
ret = mockXeIoctlHelper->ioctl(DrmIoctl::gemCreate, &test);
597591
EXPECT_EQ(0, ret);
598592
}
@@ -1659,51 +1653,3 @@ TEST(IoctlHelperXeTest, givenXeIoctlHelperWhenInitializeGetGpuTimeFunctionIsCall
16591653
xeIoctlHelper->initializeGetGpuTimeFunction();
16601654
EXPECT_EQ(xeIoctlHelper->getGpuTime, nullptr);
16611655
}
1662-
1663-
TEST(IoctlHelperXeTest, givenIoctlHelperXeAndDebugOverrideEnabledWhenGetCpuCachingModeCalledThenOverriddenValueIsReturned) {
1664-
DebugManagerStateRestore restorer;
1665-
auto executionEnvironment = std::make_unique<MockExecutionEnvironment>();
1666-
DrmMockXe drm{*executionEnvironment->rootDeviceEnvironments[0]};
1667-
1668-
auto xeIoctlHelper = std::make_unique<MockIoctlHelperXe>(drm);
1669-
drm.memoryInfo.reset(xeIoctlHelper->createMemoryInfo().release());
1670-
ASSERT_NE(nullptr, xeIoctlHelper);
1671-
1672-
debugManager.flags.OverrideCpuCaching.set(DRM_XE_GEM_CPU_CACHING_WB);
1673-
EXPECT_EQ(xeIoctlHelper->getCpuCachingMode(), DRM_XE_GEM_CPU_CACHING_WB);
1674-
1675-
debugManager.flags.OverrideCpuCaching.set(DRM_XE_GEM_CPU_CACHING_WC);
1676-
EXPECT_EQ(xeIoctlHelper->getCpuCachingMode(), DRM_XE_GEM_CPU_CACHING_WC);
1677-
}
1678-
1679-
TEST(IoctlHelperXeTest, whenCallingVmBindThenPatIndexIsSet) {
1680-
DebugManagerStateRestore restorer;
1681-
auto executionEnvironment = std::make_unique<MockExecutionEnvironment>();
1682-
DrmMockXe drm{*executionEnvironment->rootDeviceEnvironments[0]};
1683-
auto xeIoctlHelper = std::make_unique<MockIoctlHelperXe>(drm);
1684-
1685-
uint64_t fenceAddress = 0x4321;
1686-
uint64_t fenceValue = 0x789;
1687-
uint64_t expectedPatIndex = 0xba;
1688-
1689-
BindInfo mockBindInfo{};
1690-
mockBindInfo.handle = 0x1234;
1691-
xeIoctlHelper->bindInfo.push_back(mockBindInfo);
1692-
1693-
VmBindExtUserFenceT vmBindExtUserFence{};
1694-
1695-
xeIoctlHelper->fillVmBindExtUserFence(vmBindExtUserFence, fenceAddress, fenceValue, 0u);
1696-
1697-
VmBindParams vmBindParams{};
1698-
vmBindParams.handle = mockBindInfo.handle;
1699-
vmBindParams.extensions = castToUint64(&vmBindExtUserFence);
1700-
vmBindParams.patIndex = expectedPatIndex;
1701-
1702-
drm.vmBindInputs.clear();
1703-
drm.syncInputs.clear();
1704-
drm.waitUserFenceInputs.clear();
1705-
ASSERT_EQ(0, xeIoctlHelper->vmBind(vmBindParams));
1706-
ASSERT_EQ(1u, drm.vmBindInputs.size());
1707-
1708-
EXPECT_EQ(drm.vmBindInputs[0].bind.pat_index, expectedPatIndex);
1709-
}

shared/test/unit_test/os_interface/linux/xe/ioctl_helper_xe_tests.h

+1-3
Original file line numberDiff line numberDiff line change
@@ -151,8 +151,7 @@ class DrmMockXe : public DrmMockCustom {
151151
this->createParamsSize = createParams->size;
152152
this->createParamsFlags = createParams->flags;
153153
this->createParamsHandle = createParams->handle = testValueGemCreate;
154-
this->createParamsCpuCaching = createParams->cpu_caching;
155-
if (0 == this->createParamsSize || 0 == this->createParamsFlags || 0 == this->createParamsCpuCaching) {
154+
if (0 == this->createParamsSize || 0 == this->createParamsFlags) {
156155
return EINVAL;
157156
}
158157
ret = 0;
@@ -270,6 +269,5 @@ class DrmMockXe : public DrmMockCustom {
270269
StackVec<drm_xe_sync, 1> syncInputs;
271270
int waitUserFenceReturn = 0;
272271
uint32_t createParamsFlags = 0u;
273-
uint16_t createParamsCpuCaching = 0u;
274272
bool ioctlCalled = false;
275273
};

0 commit comments

Comments
 (0)