Disable cached PWM writes in tlBMC Thermal Control Google-Bug-Id:545704112 PiperOrigin-RevId: 978114615 Change-Id: I72b8f66ccfe550a744bb7806dc003c509161d910
diff --git a/tlbmc/collector/thermal_collector.cc b/tlbmc/collector/thermal_collector.cc index a55e2d4..a3af7d3 100644 --- a/tlbmc/collector/thermal_collector.cc +++ b/tlbmc/collector/thermal_collector.cc
@@ -1335,10 +1335,9 @@ ApplyPendingTuningRequests(zone_manager->GetId()); } - // Under manual mode, perform no thermal loop iterations. + // Under manual mode, simply trigger the next thermal control iteration, + // and then return, without executing the thermal and fan cycles. if (zone_manager->GetManualMode()) { - // Write cached PWM to fans to avoid triggering hardware failsafe. - zone_manager->WriteCurrentPwmToFans(); ProcessThermalControl(zone_manager, timer, /*first_run=*/false, ms_elapsed_in_current_cycle); return;
diff --git a/tlbmc/thermal/zone_manager.cc b/tlbmc/thermal/zone_manager.cc index 798fd57..f61cf35 100644 --- a/tlbmc/thermal/zone_manager.cc +++ b/tlbmc/thermal/zone_manager.cc
@@ -596,15 +596,6 @@ void ZoneManager::WriteCurrentPwmToFans() { for (const std::string& fan_name : GetFanNames()) { - { - absl::MutexLock lock(mutex_); - auto it = fan_name_to_manual_pwm_.find(fan_name); - if (it != fan_name_to_manual_pwm_.end()) { - WriteFanSpeed(fan_name, it->second); - continue; - } - } - std::shared_ptr<const Sensor> pwm_sensor = aggregator_->GetSensorBySensorKey(fan_name); if (pwm_sensor == nullptr || pwm_sensor->GetSensorData() == nullptr ||