mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-30 01:35:20 +08:00
feature(sysman): Update Power Module to replace CARD domain with PACKAGE domain
Related-To: NEO-13985 Signed-off-by: Anvesh Bakwad <anvesh.bakwad@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
05977f6158
commit
c645f84663
@@ -57,7 +57,7 @@ ze_result_t LinuxPowerImp::getDefaultLimit(int32_t &defaultLimit) {
|
||||
}
|
||||
|
||||
ze_result_t LinuxPowerImp::getPropertiesExt(zes_power_ext_properties_t *pExtPoperties) {
|
||||
pExtPoperties->domain = isSubdevice ? ZES_POWER_DOMAIN_PACKAGE : powerDomain;
|
||||
pExtPoperties->domain = powerDomain;
|
||||
if (pExtPoperties->defaultLimit) {
|
||||
if (!isSubdevice) {
|
||||
uint64_t val = 0;
|
||||
@@ -184,6 +184,7 @@ ze_result_t LinuxPowerImp::setLimits(const zes_power_sustained_limit_t *pSustain
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
ze_result_t LinuxPowerImp::getEnergyThreshold(zes_energy_threshold_t *pThreshold) {
|
||||
NEO::printDebugString(NEO::debugManager.flags.PrintDebugMessages.get(), stderr, "Error@ %s() returning UNSUPPORTED_FEATURE \n", __FUNCTION__);
|
||||
return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE;
|
||||
@@ -340,8 +341,8 @@ LinuxPowerImp::LinuxPowerImp(OsSysman *pOsSysman, ze_bool_t onSubdevice, uint32_
|
||||
pSysmanProductHelper = pLinuxSysmanImp->getSysmanProductHelper();
|
||||
}
|
||||
|
||||
std::vector<zes_power_domain_t> OsPower::getNumberOfPowerDomainsSupported(OsSysman *pOsSysman) {
|
||||
std::vector<zes_power_domain_t> powerDomains = {ZES_POWER_DOMAIN_CARD};
|
||||
std::vector<zes_power_domain_t> OsPower::getSupportedPowerDomains(OsSysman *pOsSysman) {
|
||||
std::vector<zes_power_domain_t> powerDomains = {ZES_POWER_DOMAIN_PACKAGE};
|
||||
return powerDomains;
|
||||
}
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@ class LinuxPowerImp : public OsPower, NEO::NonCopyableOrMovableClass {
|
||||
bool isSubdevice = false;
|
||||
uint32_t subdeviceId = 0;
|
||||
uint32_t powerLimitCount = 0;
|
||||
zes_power_domain_t powerDomain = ZES_POWER_DOMAIN_CARD;
|
||||
zes_power_domain_t powerDomain = ZES_POWER_DOMAIN_UNKNOWN;
|
||||
|
||||
ze_result_t getErrorCode(ze_result_t result) {
|
||||
if (result == ZE_RESULT_ERROR_NOT_AVAILABLE) {
|
||||
|
||||
@@ -29,7 +29,7 @@ class OsPower {
|
||||
|
||||
virtual bool isPowerModuleSupported() = 0;
|
||||
static OsPower *create(OsSysman *pOsSysman, ze_bool_t onSubdevice, uint32_t subdeviceId, zes_power_domain_t powerDomain);
|
||||
static std::vector<zes_power_domain_t> getNumberOfPowerDomainsSupported(OsSysman *pOsSysman);
|
||||
static std::vector<zes_power_domain_t> getSupportedPowerDomains(OsSysman *pOsSysman);
|
||||
|
||||
virtual ~OsPower() = default;
|
||||
};
|
||||
|
||||
@@ -35,21 +35,15 @@ void PowerHandleContext::createHandle(ze_bool_t isSubDevice, uint32_t subDeviceI
|
||||
delete pPower;
|
||||
}
|
||||
}
|
||||
ze_result_t PowerHandleContext::init(uint32_t subDeviceCount) {
|
||||
|
||||
auto totalDomains = OsPower::getNumberOfPowerDomainsSupported(pOsSysman);
|
||||
|
||||
void PowerHandleContext::init(uint32_t subDeviceCount) {
|
||||
auto totalDomains = OsPower::getSupportedPowerDomains(pOsSysman);
|
||||
for (auto &powerDomain : totalDomains) {
|
||||
createHandle(false, 0, powerDomain);
|
||||
}
|
||||
|
||||
for (uint32_t subDeviceId = 0; subDeviceId < subDeviceCount; subDeviceId++) {
|
||||
for (auto &powerDomain : totalDomains) {
|
||||
for (uint32_t subDeviceId = 0; subDeviceId < subDeviceCount; subDeviceId++) {
|
||||
createHandle(true, subDeviceId, powerDomain);
|
||||
}
|
||||
}
|
||||
|
||||
return ZE_RESULT_SUCCESS;
|
||||
}
|
||||
|
||||
void PowerHandleContext::initPower() {
|
||||
|
||||
@@ -38,7 +38,7 @@ struct PowerHandleContext {
|
||||
PowerHandleContext(OsSysman *pOsSysman) : pOsSysman(pOsSysman){};
|
||||
~PowerHandleContext();
|
||||
|
||||
ze_result_t init(uint32_t subDeviceCount);
|
||||
void init(uint32_t subDeviceCount);
|
||||
ze_result_t powerGet(uint32_t *pCount, zes_pwr_handle_t *phPower);
|
||||
ze_result_t powerGetCardDomain(zes_pwr_handle_t *phPower);
|
||||
|
||||
|
||||
@@ -68,7 +68,7 @@ PowerImp::PowerImp(OsSysman *pOsSysman, ze_bool_t isSubDevice, uint32_t subDevic
|
||||
|
||||
pOsPower = OsPower::create(pOsSysman, isSubDevice, subDeviceId, powerDomain);
|
||||
UNRECOVERABLE_IF(nullptr == pOsPower);
|
||||
this->isCardPower = isSubDevice ? false : true;
|
||||
this->isCardPower = (powerDomain == ZES_POWER_DOMAIN_CARD);
|
||||
init();
|
||||
}
|
||||
|
||||
|
||||
@@ -611,7 +611,7 @@ WddmPowerImp::WddmPowerImp(OsSysman *pOsSysman, ze_bool_t onSubdevice, uint32_t
|
||||
isPowerHandleEnergyCounterOnly();
|
||||
}
|
||||
|
||||
std::vector<zes_power_domain_t> OsPower::getNumberOfPowerDomainsSupported(OsSysman *pOsSysman) {
|
||||
std::vector<zes_power_domain_t> OsPower::getSupportedPowerDomains(OsSysman *pOsSysman) {
|
||||
WddmSysmanImp *pWddmSysmanImp = static_cast<WddmSysmanImp *>(pOsSysman);
|
||||
KmdSysManager *pKmdSysManager = &pWddmSysmanImp->getKmdSysManager();
|
||||
KmdSysman::RequestProperty request;
|
||||
|
||||
Reference in New Issue
Block a user