mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-07 04:48:08 +08:00
feature: Add support for late binding version on linux
Related-To: NEO-15216 Signed-off-by: shubham kumar <shubham.kumar@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
24906b3639
commit
5d4c23c4fb
@@ -30,9 +30,9 @@ void OsFirmware::getSupportedFwTypes(std::vector<std::string> &supportedFwTypes,
|
||||
} else {
|
||||
auto pSysmanProductHelper = pLinuxSysmanImp->getSysmanProductHelper();
|
||||
pSysmanProductHelper->getDeviceSupportedFwTypes(pFwInterface, supportedFwTypes);
|
||||
if (pSysmanProductHelper->isLateBindingSupported()) {
|
||||
pFwInterface->getLateBindingSupportedFwTypes(supportedFwTypes);
|
||||
}
|
||||
// get supported late binding fw handles
|
||||
auto pSysmanKmdInterface = pLinuxSysmanImp->getSysmanKmdInterface();
|
||||
pSysmanKmdInterface->getLateBindingSupportedFwTypes(supportedFwTypes);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -65,7 +65,7 @@ ze_result_t LinuxFirmwareImp::osGetFirmwareFlashProgress(uint32_t *pCompletionPe
|
||||
}
|
||||
|
||||
LinuxFirmwareImp::LinuxFirmwareImp(OsSysman *pOsSysman, const std::string &fwType) : osFwType(fwType) {
|
||||
LinuxSysmanImp *pLinuxSysmanImp = static_cast<LinuxSysmanImp *>(pOsSysman);
|
||||
pLinuxSysmanImp = static_cast<LinuxSysmanImp *>(pOsSysman);
|
||||
if (!pLinuxSysmanImp->isDeviceInSurvivabilityMode()) {
|
||||
pSysfsAccess = &pLinuxSysmanImp->getSysfsAccess();
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
|
||||
#include "level_zero/sysman/source/api/firmware/sysman_firmware_imp.h"
|
||||
#include "level_zero/sysman/source/api/firmware/sysman_os_firmware.h"
|
||||
#include "level_zero/sysman/source/shared/linux/kmd_interface/sysman_kmd_interface.h"
|
||||
#include "level_zero/sysman/source/shared/linux/zes_os_sysman_imp.h"
|
||||
|
||||
namespace L0 {
|
||||
@@ -17,6 +18,7 @@ namespace Sysman {
|
||||
|
||||
class FirmwareUtil;
|
||||
class SysFsAccessInterface;
|
||||
class LinuxSysmanImp;
|
||||
|
||||
class LinuxFirmwareImp : public OsFirmware, NEO::NonCopyableAndNonMovableClass {
|
||||
public:
|
||||
@@ -32,6 +34,7 @@ class LinuxFirmwareImp : public OsFirmware, NEO::NonCopyableAndNonMovableClass {
|
||||
~LinuxFirmwareImp() override = default;
|
||||
|
||||
protected:
|
||||
LinuxSysmanImp *pLinuxSysmanImp = nullptr;
|
||||
FirmwareUtil *pFwInterface = nullptr;
|
||||
SysFsAccessInterface *pSysfsAccess = nullptr;
|
||||
std::string osFwType;
|
||||
|
||||
@@ -54,6 +54,10 @@ ze_result_t LinuxFirmwareImp::getFirmwareVersion(std::string fwType, zes_firmwar
|
||||
return result;
|
||||
}
|
||||
if (std::find(lateBindingFirmwareTypes.begin(), lateBindingFirmwareTypes.end(), fwType) != lateBindingFirmwareTypes.end()) {
|
||||
if (pLinuxSysmanImp->getSysmanKmdInterface()->isLateBindingVersionAvailable(fwType, fwVersion)) {
|
||||
strncpy_s(static_cast<char *>(pProperties->version), ZES_STRING_PROPERTY_SIZE, fwVersion.c_str(), ZES_STRING_PROPERTY_SIZE - 1);
|
||||
return ZE_RESULT_SUCCESS;
|
||||
}
|
||||
return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE;
|
||||
}
|
||||
ze_result_t result = pFwInterface->getFwVersion(fwType, fwVersion);
|
||||
|
||||
Reference in New Issue
Block a user