| #ifndef THIRD_PARTY_MILOTIC_EXTERNAL_CC_TLBMC_THERMAL_DEBUG_MODE_H_ |
| #define THIRD_PARTY_MILOTIC_EXTERNAL_CC_TLBMC_THERMAL_DEBUG_MODE_H_ |
| |
| namespace milotic_tlbmc { |
| namespace thermal { |
| |
| // These flags will severely impact the performance of the thermal control |
| // service, and no dynamic updates should be allowed. |
| struct DebugMode { |
| // If true, `debug_enabled` will allow debug logs to be printed across the |
| // whole thermal control service. |
| const bool debug_enabled; |
| // If true, `debug_pid_enabled` will allow debug logs to be across all PID |
| // thermal control processes. |
| const bool debug_pid_enabled; |
| // If true, `debug_dff_enabled` will allow debug logs to be across all DFF |
| // thermal control processes. |
| const bool debug_dff_enabled; |
| |
| // If true, `tuning_enabled` will allow the thermal control service to be |
| // manually tuned for better efficacy (e.g., the thermal parameters can be |
| // manually updated during runtime). However, the performance may be |
| // downgraded when it is enabled, as the mutex will be locked when |
| // accessing/updating the params. |
| const bool tuning_enabled; |
| |
| DebugMode() |
| : debug_enabled(false), |
| debug_pid_enabled(false), |
| debug_dff_enabled(false), |
| tuning_enabled(false) {} |
| DebugMode(const DebugMode& debug_mode) = default; |
| explicit DebugMode(bool debug_enabled, bool debug_pid_enabled, |
| bool debug_dff_enabled, bool tuning_enabled) |
| : debug_enabled(debug_enabled), |
| debug_pid_enabled(debug_pid_enabled), |
| debug_dff_enabled(debug_dff_enabled), |
| tuning_enabled(tuning_enabled) {} |
| }; |
| |
| } // namespace thermal |
| } // namespace milotic_tlbmc |
| |
| #endif // THIRD_PARTY_MILOTIC_EXTERNAL_CC_TLBMC_THERMAL_DEBUG_MODE_H_ |