blob: 2be6a67aac146dc9d275e7d7c0a3be547421d0a4 [file] [edit]
#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_