Esempio n. 1
0
PowerControlDynamicCapsSet DomainPowerControl_001::getAdjustedDynamicCapsBasedOnConfigTdpMaxLimit(
    const PowerControlDynamicCapsSet& capsSet)
{
    std::vector<PowerControlDynamicCaps> newCapsList;
    for (UIntN capsIndex = 0; capsIndex < capsSet.getCount(); capsIndex++)
    {
        Power maxPowerLimit(Power::createInvalid());
        if (capsSet[capsIndex].getPowerControlType() == PowerControlType::pl1)
        {
            maxPowerLimit = capsSet[capsIndex].getMaxPowerLimit();
        }
        else
        {
            maxPowerLimit = capsSet[capsIndex].getMaxPowerLimit();
        }
        newCapsList.push_back(PowerControlDynamicCaps(
                                  capsSet[capsIndex].getPowerControlType(), capsSet[capsIndex].getMinPowerLimit(), maxPowerLimit,
                                  capsSet[capsIndex].getPowerStepSize(), capsSet[capsIndex].getMinTimeWindow(),
                                  capsSet[capsIndex].getMaxTimeWindow(), capsSet[capsIndex].getMinDutyCycle(),
                                  capsSet[capsIndex].getMaxDutyCycle()));
    }
    return PowerControlDynamicCapsSet(newCapsList);
}