Support for lazy init in zeInit flow

Modifications for firmware lazy init implementation

Related-To: LOCI-3127

Signed-off-by: Kulkarni, Ashwin Kumar <ashwin.kumar.kulkarni@intel.com>
This commit is contained in:
Kulkarni, Ashwin Kumar
2022-06-22 13:51:54 +00:00
committed by Compute-Runtime-Automation
parent 0d42fdf38c
commit d066e2d5a7
4 changed files with 33 additions and 6 deletions

View File

@@ -38,7 +38,6 @@ class ZesFirmwareFixture : public SysmanDeviceFixture {
delete handle;
}
pSysmanDeviceImp->pFirmwareHandleContext->handleList.clear();
pSysmanDeviceImp->pFirmwareHandleContext->init();
}
void TearDown() override {
if (!sysmanUltsEnable) {
@@ -48,7 +47,11 @@ class ZesFirmwareFixture : public SysmanDeviceFixture {
pLinuxSysmanImp->pFsAccess = pFsAccessOriginal;
SysmanDeviceFixture::TearDown();
}
void initFirmware() {
uint32_t count = 0;
ze_result_t result = zesDeviceEnumFirmwares(device->toHandle(), &count, nullptr);
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
}
std::vector<zes_firmware_handle_t> getFirmwareHandles(uint32_t count) {
std::vector<zes_firmware_handle_t> handles(count, nullptr);
EXPECT_EQ(zesDeviceEnumFirmwares(device->toHandle(), &count, handles.data()), ZE_RESULT_SUCCESS);
@@ -99,6 +102,8 @@ TEST_F(ZesFirmwareFixture, GivenComponentCountZeroWhenCallingzesFirmwareGetThenZ
}
TEST_F(ZesFirmwareFixture, GivenValidFirmwareHandleWhenGettingFirmwarePropertiesThenVersionIsReturned) {
initFirmware();
FirmwareImp *ptestFirmwareImp = new FirmwareImp(pSysmanDeviceImp->pFirmwareHandleContext->pOsSysman, mockSupportedFwTypes[0]);
pSysmanDeviceImp->pFirmwareHandleContext->handleList.push_back(ptestFirmwareImp);
@@ -114,6 +119,8 @@ TEST_F(ZesFirmwareFixture, GivenValidFirmwareHandleWhenGettingFirmwareProperties
}
TEST_F(ZesFirmwareFixture, GivenValidFirmwareHandleWhenGettingOpromPropertiesThenVersionIsReturned) {
initFirmware();
FirmwareImp *ptestFirmwareImp = new FirmwareImp(pSysmanDeviceImp->pFirmwareHandleContext->pOsSysman, mockSupportedFwTypes[1]);
pSysmanDeviceImp->pFirmwareHandleContext->handleList.push_back(ptestFirmwareImp);
@@ -153,6 +160,8 @@ TEST_F(ZesFirmwareFixture, GivenRepeatedFWTypesWhenInitializingFirmwareContextTh
}
TEST_F(ZesFirmwareFixture, GivenValidFirmwareHandleWhenFlashingGscFirmwareThenSuccessIsReturned) {
initFirmware();
FirmwareImp *ptestFirmwareImp = new FirmwareImp(pSysmanDeviceImp->pFirmwareHandleContext->pOsSysman, mockSupportedFwTypes[0]);
pSysmanDeviceImp->pFirmwareHandleContext->handleList.push_back(ptestFirmwareImp);
@@ -194,6 +203,22 @@ TEST_F(ZesFirmwareFixture, GivenFirmwareInitializationFailureThenCreateHandleMus
pSysmanDeviceImp->pFirmwareHandleContext->init();
EXPECT_EQ(0u, pSysmanDeviceImp->pFirmwareHandleContext->handleList.size());
}
TEST_F(ZesFirmwareFixture, GivenNewFirmwareContextWithHandleSizeZeroWhenFirmwareEnumerateIsCalledThenSuccessResultIsReturned) {
uint32_t count = 0;
OsSysman *pOsSysman = pSysmanDeviceImp->pFirmwareHandleContext->pOsSysman;
for (const auto &handle : pSysmanDeviceImp->pFirmwareHandleContext->handleList) {
delete handle;
}
pSysmanDeviceImp->pFirmwareHandleContext->handleList.clear();
delete pSysmanDeviceImp->pFirmwareHandleContext;
pSysmanDeviceImp->pFirmwareHandleContext = new FirmwareHandleContext(pOsSysman);
EXPECT_EQ(0u, pSysmanDeviceImp->pFirmwareHandleContext->handleList.size());
ze_result_t result = zesDeviceEnumFirmwares(device->toHandle(), &count, nullptr);
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
EXPECT_EQ(true, (count > 0));
}
TEST_F(ZesFirmwareFixture, GivenValidFirmwareHandleFirmwareLibraryCallFailureWhenGettingFirmwarePropertiesThenUnknownIsReturned) {
for (const auto &handle : pSysmanDeviceImp->pFirmwareHandleContext->handleList) {