@@ -1402,20 +1402,28 @@ HWTEST_F(CommandQueueSynchronizeTest, givenCallToSynchronizeThenCorrectEnableTim
1402
1402
~SynchronizeCsr () override {
1403
1403
delete tagAddress;
1404
1404
}
1405
+
1405
1406
SynchronizeCsr (const NEO::ExecutionEnvironment &executionEnvironment, const DeviceBitfield deviceBitfield)
1406
1407
: NEO::UltCommandStreamReceiver<FamilyType>(const_cast <NEO::ExecutionEnvironment &>(executionEnvironment), 0 , deviceBitfield) {
1407
1408
tagAddress = new uint32_t ;
1408
1409
}
1410
+
1409
1411
bool waitForCompletionWithTimeout (bool enableTimeout, int64_t timeoutMs, uint32_t taskCountToWait) override {
1410
1412
waitForComplitionCalledTimes++;
1411
1413
return true ;
1412
1414
}
1413
1415
1416
+ void waitForTaskCountWithKmdNotifyFallback (uint32_t taskCountToWait, FlushStamp flushStampToWait, bool quickKmdSleep, bool forcePowerSavingMode) override {
1417
+ waitForTaskCountWithKmdNotifyFallbackCalled++;
1418
+ NEO::UltCommandStreamReceiver<FamilyType>::waitForTaskCountWithKmdNotifyFallback (taskCountToWait, flushStampToWait, quickKmdSleep, forcePowerSavingMode);
1419
+ }
1420
+
1414
1421
volatile uint32_t *getTagAddress () const override {
1415
1422
return tagAddress;
1416
1423
}
1417
- uint32_t waitForComplitionCalledTimes = 0 ;
1418
1424
uint32_t *tagAddress;
1425
+ uint32_t waitForComplitionCalledTimes = 0 ;
1426
+ uint32_t waitForTaskCountWithKmdNotifyFallbackCalled = 0 ;
1419
1427
};
1420
1428
1421
1429
auto csr = std::unique_ptr<SynchronizeCsr>(new SynchronizeCsr (*device->getNEODevice ()->getExecutionEnvironment (),
@@ -1435,14 +1443,17 @@ HWTEST_F(CommandQueueSynchronizeTest, givenCallToSynchronizeThenCorrectEnableTim
1435
1443
1436
1444
queue->synchronize (timeout);
1437
1445
1438
- EXPECT_EQ (csr->waitForComplitionCalledTimes , 1u );
1446
+ EXPECT_EQ (1u , csr->waitForComplitionCalledTimes );
1447
+ EXPECT_EQ (0u , csr->waitForTaskCountWithKmdNotifyFallbackCalled );
1448
+
1439
1449
timeout = std::numeric_limits<uint64_t >::max ();
1440
1450
enableTimeoutExpected = false ;
1441
1451
timeoutMicrosecondsExpected = NEO::TimeoutControls::maxTimeout;
1442
1452
1443
1453
queue->synchronize (timeout);
1444
1454
1445
- EXPECT_EQ (csr->waitForComplitionCalledTimes , 2u );
1455
+ EXPECT_EQ (2u , csr->waitForComplitionCalledTimes );
1456
+ EXPECT_EQ (1u , csr->waitForTaskCountWithKmdNotifyFallbackCalled );
1446
1457
1447
1458
L0::CommandQueue::fromHandle (commandQueue)->destroy ();
1448
1459
}
0 commit comments