Updating Sysman Power APIs for Set/Get thresholds

- APIs zetSysmanPowerGetEnergyThreshold & zetSysmanPowerSetEnergyThreshold

Change-Id: I052d4df989bc02549936cff5b0f9a801a34e320b
Signed-off-by: SaiKishore Konda <saikishore.konda@intel.com>
This commit is contained in:
SaiKishore Konda
2020-06-12 15:32:52 +05:30
committed by sys_ocldev
parent cf9d338178
commit 1a90061d54
6 changed files with 38 additions and 2 deletions

View File

@@ -16,6 +16,16 @@ ze_result_t LinuxPowerImp::getEnergyCounter(uint64_t &energy) {
return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE;
}
ze_result_t LinuxPowerImp::getEnergyThreshold(zet_energy_threshold_t *pThreshold) {
return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE;
}
ze_result_t LinuxPowerImp::setEnergyThreshold(double threshold) {
return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE;
}
LinuxPowerImp::LinuxPowerImp(OsSysman *pOsSysman) {
LinuxSysmanImp *pLinuxSysmanImp = static_cast<LinuxSysmanImp *>(pOsSysman);
pSysfsAccess = &pLinuxSysmanImp->getSysfsAccess();

View File

@@ -16,6 +16,8 @@ class SysfsAccess;
class LinuxPowerImp : public OsPower, public NEO::NonCopyableClass {
public:
ze_result_t getEnergyCounter(uint64_t &energy) override;
ze_result_t getEnergyThreshold(zet_energy_threshold_t *pThreshold) override;
ze_result_t setEnergyThreshold(double threshold) override;
bool isPowerModuleSupported() override;
LinuxPowerImp(OsSysman *pOsSysman);
LinuxPowerImp() = default;

View File

@@ -15,6 +15,8 @@ struct OsSysman;
class OsPower {
public:
virtual ze_result_t getEnergyCounter(uint64_t &energy) = 0;
virtual ze_result_t getEnergyThreshold(zet_energy_threshold_t *pThreshold) = 0;
virtual ze_result_t setEnergyThreshold(double threshold) = 0;
virtual bool isPowerModuleSupported() = 0;
static OsPower *create(OsSysman *pOsSysman);
virtual ~OsPower() = default;

View File

@@ -45,10 +45,10 @@ ze_result_t PowerImp::powerSetLimits(const zet_power_sustained_limit_t *pSustain
return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE;
}
ze_result_t PowerImp::powerGetEnergyThreshold(zet_energy_threshold_t *pThreshold) {
return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE;
return (pOsPower->getEnergyThreshold(pThreshold));
}
ze_result_t PowerImp::powerSetEnergyThreshold(double threshold) {
return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE;
return (pOsPower->setEnergyThreshold(threshold));
}
PowerImp::PowerImp(OsSysman *pOsSysman) {
pOsPower = OsPower::create(pOsSysman);

View File

@@ -12,6 +12,8 @@ namespace L0 {
class WddmPowerImp : public OsPower {
public:
ze_result_t getEnergyCounter(uint64_t &energy) override;
ze_result_t getEnergyThreshold(zet_energy_threshold_t *pThreshold) override;
ze_result_t setEnergyThreshold(double threshold) override;
bool isPowerModuleSupported() override;
};
@@ -20,6 +22,16 @@ ze_result_t WddmPowerImp::getEnergyCounter(uint64_t &energy) {
return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE;
}
ze_result_t WddmPowerImp::getEnergyThreshold(zet_energy_threshold_t *pThreshold) {
return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE;
}
ze_result_t WddmPowerImp::setEnergyThreshold(double threshold) {
return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE;
}
bool WddmPowerImp::isPowerModuleSupported() {
return false;
}