void PolicyServicesDomainTemperature::setTemperatureThresholds( UIntN participantIndex, UIntN domainIndex, const TemperatureThresholds& temperatureThresholds) { throwIfNotWorkItemThread(); #ifdef ONLY_LOG_TEMPERATURE_THRESHOLDS // Added to help debug issue with missing temperature threshold events ManagerMessage message = ManagerMessage( getDptfManager(), FLF, "Policy is calling PolicyServicesDomainTemperature::setTemperatureThresholds()."); message.addMessage("Aux0", temperatureThresholds.getAux0()); message.addMessage("Aux1", temperatureThresholds.getAux1()); message.setParticipantAndDomainIndex(participantIndex, domainIndex); message.setPolicyIndex(getPolicyIndex()); getDptfManager()->getEsifServices()->writeMessageDebug(message, MessageCategory::TemperatureThresholds); #endif getParticipantManager() ->getParticipantPtr(participantIndex) ->setTemperatureThresholds(domainIndex, getPolicyIndex(), temperatureThresholds); }
Bool TemperatureThresholdArbitrator::arbitrate(UIntN policyIndex, const TemperatureThresholds& temperatureThresholds, const Temperature& currentTemperature) { #ifdef ONLY_LOG_TEMPERATURE_THRESHOLDS ManagerMessage message = ManagerMessage(m_dptfManager, FLF, "Temperature arbitration data is being updated for a policy request."); message.setPolicyIndex(policyIndex); message.addMessage("Current Temperature", currentTemperature); message.addMessage("Requested Aux0/Aux1", temperatureThresholds.getAux0().toString() + "/" + temperatureThresholds.getAux1().toString()); addArbitrationDataToMessage(message, "Arbitration data before applying update"); #endif throwIfTemperatureThresholdsInvalid(policyIndex, temperatureThresholds, currentTemperature); updateTemperatureDataForPolicy(policyIndex, temperatureThresholds); Bool result = findNewTemperatureThresholds(currentTemperature); #ifdef ONLY_LOG_TEMPERATURE_THRESHOLDS addArbitrationDataToMessage(message, "Arbitration data after applying update"); m_dptfManager->getEsifServices()->writeMessageDebug(message, MessageCategory::TemperatureThresholds); #endif return result; }