firmware: Enhance the firmware utility module

- There are functions exposed through Firmware Util interface to get
the firmware version and perform firmware flash based on firmware type.
Instead this functionality is being handled with generic functions. Hence
this commit removes the redundant code.

Related-To: LOCI-2568
Signed-off-by: Pichika Uday Kiran <pichika.uday.kiran@intel.com>
This commit is contained in:
Pichika Uday Kiran
2021-10-23 19:32:19 +00:00
committed by Compute-Runtime-Automation
parent 586eaeaf2e
commit 52cf6bf383
8 changed files with 7 additions and 64 deletions

View File

@@ -1,18 +0,0 @@
#
# Copyright (C) 2020-2021 Intel Corporation
#
# SPDX-License-Identifier: MIT
#
get_filename_component(IGSC_DIR_tmp "${NEO_SOURCE_DIR}/../igsc" ABSOLUTE)
if(IS_DIRECTORY "${IGSC_DIR_tmp}")
set(NEO__IGSC_INCLUDE_DIR "${IGSC_DIR_tmp}/include")
set(NEO__IGSC_LIB_DIR "${IGSC_DIR_tmp}/lib")
endif()
find_path(libigsc_INCLUDE_DIR NAMES igsc_lib.h PATHS ${NEO__IGSC_INCLUDE_DIR} /usr/local/include /usr/include)
find_library(libigsc_LIBRARIES NAMES igsc libigsc PATHS ${NEO__IGSC_LIB_DIR} /usr/local/lib /usr/lib)
include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(libigsc DEFAULT_MSG libigsc_LIBRARIES libigsc_INCLUDE_DIR)

View File

@@ -26,12 +26,6 @@ class FirmwareUtil {
static FirmwareUtil *create(const std::string &pciBDF);
virtual ze_result_t fwDeviceInit() = 0;
virtual ze_result_t getFirstDevice(igsc_device_info *) = 0;
virtual ze_result_t fwGetVersion(std::string &fwVersion) = 0;
virtual ze_result_t opromGetVersion(std::string &fwVersion) = 0;
virtual ze_result_t pscGetVersion(std::string &fwVersion) = 0;
virtual ze_result_t fwFlashGSC(void *pImage, uint32_t size) = 0;
virtual ze_result_t fwFlashOprom(void *pImage, uint32_t size) = 0;
virtual ze_result_t fwFlashIafPsc(void *pImage, uint32_t size) = 0;
virtual ze_result_t getFwVersion(std::string fwType, std::string &firmwareVersion) = 0;
virtual ze_result_t flashFirmware(std::string fwType, void *pImage, uint32_t size) = 0;
virtual ze_result_t fwIfrApplied(bool &ifrStatus) = 0;

View File

@@ -67,12 +67,6 @@ class FirmwareUtilImp : public FirmwareUtil, NEO::NonCopyableOrMovableClass {
~FirmwareUtilImp();
ze_result_t fwDeviceInit() override;
ze_result_t getFirstDevice(igsc_device_info *) override;
ze_result_t fwGetVersion(std::string &fwVersion) override;
ze_result_t opromGetVersion(std::string &fwVersion) override;
ze_result_t pscGetVersion(std::string &fwVersion) override;
ze_result_t fwFlashGSC(void *pImage, uint32_t size) override;
ze_result_t fwFlashOprom(void *pImage, uint32_t size) override;
ze_result_t fwFlashIafPsc(void *pImage, uint32_t size) override;
ze_result_t getFwVersion(std::string fwType, std::string &firmwareVersion) override;
ze_result_t flashFirmware(std::string fwType, void *pImage, uint32_t size) override;
ze_result_t fwIfrApplied(bool &ifrStatus) override;
@@ -80,6 +74,13 @@ class FirmwareUtilImp : public FirmwareUtil, NEO::NonCopyableOrMovableClass {
ze_result_t fwRunDiagTests(std::string &osDiagType, zes_diag_result_t *pDiagResult, uint32_t subDeviceId) override;
void getDeviceSupportedFwTypes(std::vector<std::string> &fwTypes) override;
ze_result_t fwGetVersion(std::string &fwVersion);
ze_result_t opromGetVersion(std::string &fwVersion);
ze_result_t pscGetVersion(std::string &fwVersion);
ze_result_t fwFlashGSC(void *pImage, uint32_t size);
ze_result_t fwFlashOprom(void *pImage, uint32_t size);
ze_result_t fwFlashIafPsc(void *pImage, uint32_t size);
template <class T>
bool getSymbolAddr(const std::string name, T &proc);

View File

@@ -49,12 +49,4 @@ ze_result_t FirmwareUtilImp::flashFirmware(std::string fwType, void *pImage, uin
return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE;
}
ze_result_t FirmwareUtilImp::fwFlashIafPsc(void *pImage, uint32_t size) {
return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE;
}
ze_result_t FirmwareUtilImp::pscGetVersion(std::string &fwVersion) {
return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE;
}
} // namespace L0

View File

@@ -44,13 +44,7 @@ struct Mock<DiagnosticsInterface> : public FirmwareUtil {
Mock<DiagnosticsInterface>() = default;
MOCK_METHOD(ze_result_t, fwDeviceInit, (), (override));
MOCK_METHOD(ze_result_t, fwGetVersion, (std::string & fwVersion), (override));
MOCK_METHOD(ze_result_t, opromGetVersion, (std::string & fwVersion), (override));
MOCK_METHOD(ze_result_t, pscGetVersion, (std::string & fwVersion), (override));
MOCK_METHOD(ze_result_t, getFirstDevice, (igsc_device_info * info), (override));
MOCK_METHOD(ze_result_t, fwFlashGSC, (void *pImage, uint32_t size), (override));
MOCK_METHOD(ze_result_t, fwFlashOprom, (void *pImage, uint32_t size), (override));
MOCK_METHOD(ze_result_t, fwFlashIafPsc, (void *pImage, uint32_t size), (override));
MOCK_METHOD(ze_result_t, getFwVersion, (std::string fwType, std::string &firmwareVersion), (override));
MOCK_METHOD(ze_result_t, flashFirmware, (std::string fwType, void *pImage, uint32_t size), (override));
MOCK_METHOD(ze_result_t, fwIfrApplied, (bool &ifrStatus), (override));

View File

@@ -60,13 +60,7 @@ struct Mock<FirmwareInterface> : public FirmwareUtil {
Mock<FirmwareInterface>() = default;
MOCK_METHOD(ze_result_t, fwDeviceInit, (), (override));
MOCK_METHOD(ze_result_t, fwGetVersion, (std::string & fwVersion), (override));
MOCK_METHOD(ze_result_t, opromGetVersion, (std::string & fwVersion), (override));
MOCK_METHOD(ze_result_t, pscGetVersion, (std::string & fwVersion), (override));
MOCK_METHOD(ze_result_t, getFirstDevice, (igsc_device_info * info), (override));
MOCK_METHOD(ze_result_t, fwFlashGSC, (void *pImage, uint32_t size), (override));
MOCK_METHOD(ze_result_t, fwFlashOprom, (void *pImage, uint32_t size), (override));
MOCK_METHOD(ze_result_t, fwFlashIafPsc, (void *pImage, uint32_t size), (override));
MOCK_METHOD(ze_result_t, getFwVersion, (std::string fwType, std::string &firmwareVersion), (override));
MOCK_METHOD(ze_result_t, flashFirmware, (std::string fwType, void *pImage, uint32_t size), (override));
MOCK_METHOD(ze_result_t, fwIfrApplied, (bool &ifrStatus), (override));

View File

@@ -30,16 +30,8 @@ class ZesFirmwareFixture : public SysmanDeviceFixture {
pLinuxSysmanImp->pFwUtilInterface = pMockFwInterface.get();
ON_CALL(*pMockFwInterface.get(), fwDeviceInit())
.WillByDefault(::testing::Return(ZE_RESULT_SUCCESS));
ON_CALL(*pMockFwInterface.get(), fwGetVersion(_))
.WillByDefault(::testing::Invoke(pMockFwInterface.get(), &Mock<FirmwareInterface>::mockFwGetVersion));
ON_CALL(*pMockFwInterface.get(), opromGetVersion(_))
.WillByDefault(::testing::Invoke(pMockFwInterface.get(), &Mock<FirmwareInterface>::mockOpromGetVersion));
ON_CALL(*pMockFwInterface.get(), getFirstDevice(_))
.WillByDefault(::testing::Return(ZE_RESULT_SUCCESS));
ON_CALL(*pMockFwInterface.get(), fwFlashGSC(_, _))
.WillByDefault(::testing::Return(ZE_RESULT_SUCCESS));
ON_CALL(*pMockFwInterface.get(), fwFlashOprom(_, _))
.WillByDefault(::testing::Return(ZE_RESULT_SUCCESS));
ON_CALL(*pMockFwInterface.get(), getDeviceSupportedFwTypes(_))
.WillByDefault(::testing::SetArgReferee<0>(mockSupportedFwTypes));
ON_CALL(*pFsAccess.get(), read(_, _))

View File

@@ -400,13 +400,7 @@ struct Mock<FirmwareInterface> : public FirmwareUtil {
Mock<FirmwareInterface>() = default;
MOCK_METHOD(ze_result_t, fwDeviceInit, (), (override));
MOCK_METHOD(ze_result_t, fwGetVersion, (std::string & fwVersion), (override));
MOCK_METHOD(ze_result_t, opromGetVersion, (std::string & fwVersion), (override));
MOCK_METHOD(ze_result_t, pscGetVersion, (std::string & fwVersion), (override));
MOCK_METHOD(ze_result_t, getFirstDevice, (igsc_device_info * info), (override));
MOCK_METHOD(ze_result_t, fwFlashGSC, (void *pImage, uint32_t size), (override));
MOCK_METHOD(ze_result_t, fwFlashOprom, (void *pImage, uint32_t size), (override));
MOCK_METHOD(ze_result_t, fwFlashIafPsc, (void *pImage, uint32_t size), (override));
MOCK_METHOD(ze_result_t, getFwVersion, (std::string fwType, std::string &firmwareVersion), (override));
MOCK_METHOD(ze_result_t, flashFirmware, (std::string fwType, void *pImage, uint32_t size), (override));
MOCK_METHOD(ze_result_t, fwIfrApplied, (bool &ifrStatus), (override));