mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-31 12:11:31 +08:00
Add new IOCTL call to disable persistence on given context
Change-Id: Ia91c8240fe2fac40c067e91ce70867edb2263463 Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com> Related-To: NEO-4048
This commit is contained in:
@@ -173,7 +173,6 @@ TEST(DrmTest, GivenDrmWhenAskedForContextThatFailsThenFalseIsReturned) {
|
||||
|
||||
TEST(DrmTest, givenDrmWhenOsContextIsCreatedThenCreateAndDestroyNewDrmOsContext) {
|
||||
DrmMock drmMock;
|
||||
|
||||
uint32_t drmContextId1 = 123;
|
||||
uint32_t drmContextId2 = 456;
|
||||
|
||||
@@ -199,6 +198,30 @@ TEST(DrmTest, givenDrmWhenOsContextIsCreatedThenCreateAndDestroyNewDrmOsContext)
|
||||
EXPECT_EQ(0u, drmMock.receivedContextParamRequestCount);
|
||||
}
|
||||
|
||||
TEST(DrmTest, givenDrmAndNegativeCheckNonPersistentSupportWhenOsContextIsCreatedThenReceivedContextParamRequestCountReturnsCorrectValue) {
|
||||
|
||||
DrmMock drmMock;
|
||||
uint32_t drmContextId1 = 123;
|
||||
drmMock.StoredCtxId = drmContextId1;
|
||||
auto expectedCount = 0u;
|
||||
|
||||
{
|
||||
drmMock.StoredRetValForPersistant = -1;
|
||||
drmMock.checkNonPersistentSupport();
|
||||
++expectedCount;
|
||||
OsContextLinux osContext(drmMock, 0u, 1, aub_stream::ENGINE_RCS, PreemptionMode::Disabled, false);
|
||||
EXPECT_EQ(expectedCount, drmMock.receivedContextParamRequestCount);
|
||||
}
|
||||
{
|
||||
drmMock.StoredRetValForPersistant = 0;
|
||||
drmMock.checkNonPersistentSupport();
|
||||
++expectedCount;
|
||||
OsContextLinux osContext(drmMock, 0u, 1, aub_stream::ENGINE_RCS, PreemptionMode::Disabled, false);
|
||||
++expectedCount;
|
||||
EXPECT_EQ(expectedCount, drmMock.receivedContextParamRequestCount);
|
||||
}
|
||||
}
|
||||
|
||||
TEST(DrmTest, givenDrmPreemptionEnabledAndLowPriorityEngineWhenCreatingOsContextThenCallSetContextPriorityIoctl) {
|
||||
DrmMock drmMock;
|
||||
drmMock.StoredCtxId = 123;
|
||||
@@ -332,6 +355,16 @@ TEST(DrmTest, givenPlatformWhereGetSseuRetFailureWhenCallSetQueueSliceCountThenS
|
||||
EXPECT_NE(drm->getSliceMask(newSliceCount), drm->storedParamSseu);
|
||||
}
|
||||
|
||||
TEST(DrmTest, whenCheckNonPeristentSupportIsCalledThenIsNonPersistentSupportedReturnsCorrectValues) {
|
||||
std::unique_ptr<DrmMock> drm = std::make_unique<DrmMock>();
|
||||
drm->StoredRetValForPersistant = -1;
|
||||
drm->checkNonPersistentSupport();
|
||||
EXPECT_FALSE(drm->isNonPersistentSupported());
|
||||
drm->StoredRetValForPersistant = 0;
|
||||
drm->checkNonPersistentSupport();
|
||||
EXPECT_TRUE(drm->isNonPersistentSupported());
|
||||
}
|
||||
|
||||
TEST(DrmTest, givenPlatformWhereSetSseuRetFailureWhenCallSetQueueSliceCountThenReturnFalse) {
|
||||
uint64_t newSliceCount = 1;
|
||||
std::unique_ptr<DrmMock> drm = std::make_unique<DrmMock>();
|
||||
|
||||
Reference in New Issue
Block a user