#
af97d8ef |
| 02-Jan-2024 |
Jonico Eustaquio <jonico.eustaquio@fii-na.com> |
Add UNC crossing option for FailSafe condition
Added a unc-failsafe meson option that if set to true, would then check if any temperature sensor PIDs exceed their upper non-critical threshold. If a
Add UNC crossing option for FailSafe condition
Added a unc-failsafe meson option that if set to true, would then check if any temperature sensor PIDs exceed their upper non-critical threshold. If a sensor is detected to have exceeded their UNC, then the zone associated with that PID would go to FailSafe.
By default, this option will be set to false for backwards compatibility.
Change-Id: I2fbc6000e8d37b34c51d3578becdaf18d449b0e8 Signed-off-by: Jonico Eustaquio <jonico.eustaquio@fii-na.com>
show more ...
|
#
8dc277cc |
| 25-Apr-2024 |
Konstantin Aladyshev <aladyshev22@gmail.com> |
meson: Enable link time optimization
Currently local boost subproject compilation fails with a message: """ ../subprojects/boost-1.84.0/libs/container/src/dlmalloc_ext_2_8_6.c: 1085:41: error: itera
meson: Enable link time optimization
Currently local boost subproject compilation fails with a message: """ ../subprojects/boost-1.84.0/libs/container/src/dlmalloc_ext_2_8_6.c: 1085:41: error: iteration 2305843009213693951 invokes undefined behavior [-Werror=aggressive-loop-optimizations] 1085 | size = request2size(sizes[i]*element_size);
...
cc1: all warnings being treated as errors """ To solve the issue enable link time optimization.
Tested: "meson setup build && cd build && meson compile" finishes successfully.
Change-Id: I6a146c5067d4d9eda163b18f9307b8b36eaedac5 Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
show more ...
|
#
7e63502a |
| 13-Oct-2023 |
Patrick Rudolph <patrick.rudolph@9elements.com> |
pid/fancontroller: Set failsafe PWM in destructor
Introduce a new feature that's guarded by a new meson option 'offline-failsafe-pwm':
After the FanController object was destroyed it can no longer
pid/fancontroller: Set failsafe PWM in destructor
Introduce a new feature that's guarded by a new meson option 'offline-failsafe-pwm':
After the FanController object was destroyed it can no longer regulate the fans. To prevent system failure set all fans to the FailSafePercent defined in the configuration.
In addition to rebuilding configuration it also allows to keep the fans in FailSafe mode as long as the phosphor-pid-control.service is stopped or the system reboots. However this change doesn't cover the case of a program crash where the destructor won't be executed. Abnormal program termination must be handled by systemd and it out of scope of this change.
Tested: 'systemctl stop phosphor-pid-control.service' and see the fans ramp up to FailSafePercent.
Change-Id: I81262b07fd4c1212efc1a4ba4635bde8bc7b5215 Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
show more ...
|
#
efda1ced |
| 08-Dec-2023 |
Patrick Williams <patrick@stwcx.xyz> |
meson: adjust nlohmann-json dependency
Simplify dependency detection logic and align wrap file name with other repositories.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Iab3ae4b3
meson: adjust nlohmann-json dependency
Simplify dependency detection logic and align wrap file name with other repositories.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Iab3ae4b39677f40e88801865b6c3ddfe77d43d40
show more ...
|
#
397e6bcb |
| 29-Nov-2023 |
Patrick Williams <patrick@stwcx.xyz> |
build: use allowed over enabled
Meson feature options are typically in a tri-state of enabled, disabled, or auto. The enabled and disabled functions on an option (from `get_option`) no longer retur
build: use allowed over enabled
Meson feature options are typically in a tri-state of enabled, disabled, or auto. The enabled and disabled functions on an option (from `get_option`) no longer return true for auto features. Instead, the expectation is to use `allowed()` which is true for both enabled and auto.
Switch all uses of `enabled` to `allowed`.
Change-Id: I816b3334e4bb65384a49bc34af6ae5fe092c923e Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
#
a83fae58 |
| 13-Jul-2023 |
Patrick Williams <patrick@stwcx.xyz> |
meson: add necessary subprojects
Enable the project to build outside of the OpenBMC Docker or Yocto environments by providing subproject wrap files as necessary. In some cases, this requires adding
meson: add necessary subprojects
Enable the project to build outside of the OpenBMC Docker or Yocto environments by providing subproject wrap files as necessary. In some cases, this requires adding additional dependencies in the meson file due to them not currently being expressed.
Supply a .gitignore that is appropriate for a Meson project as the current one seems to be from the time when this project used autoconf.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Iea2ae8cb9e00d2aa726800ff09b42d93efc886fc
show more ...
|
#
2aaf936f |
| 12-Jul-2023 |
Patrick Williams <patrick@stwcx.xyz> |
build: upgrade to C++23
Meson 1.1.1 and GCC-13 both support C++23 and a sufficient portion of the standard has been implemented. Upgrade the build to leverage it.
Change-Id: Idf4240e5b3f67681568e4
build: upgrade to C++23
Meson 1.1.1 and GCC-13 both support C++23 and a sufficient portion of the standard has been implemented. Upgrade the build to leverage it.
Change-Id: Idf4240e5b3f67681568e489eebbe9db71f7a44f4 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
#
7e6130aa |
| 12-Apr-2023 |
Patrick Williams <patrick@stwcx.xyz> |
meson: remove deprecated get_pkgconfig_variable
Since meson 0.56, the `get_pkgconfig_variable` has been deprecated. In meson 0.58 the `get_variable` was enhanced to no longer require the `pkgconfig
meson: remove deprecated get_pkgconfig_variable
Since meson 0.56, the `get_pkgconfig_variable` has been deprecated. In meson 0.58 the `get_variable` was enhanced to no longer require the `pkgconfig` keyword argument. Ensure meson 0.58 is required and update the usage of all `get_pkgconfig_variable` and `get_variable` to be the modern variant.
Change-Id: I1ec9e9a8efcfe37f0439a15e986bf6e7a754dc00 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
#
de74542c |
| 07-Nov-2020 |
Josh Lehan <krellan@google.com> |
Adding new feature of core PID loop logging
This differs from the normal logging, as this focuses on the core of the PID loop computations.
All variables within the core pid/ec/pid.cpp pid() functi
Adding new feature of core PID loop logging
This differs from the normal logging, as this focuses on the core of the PID loop computations.
All variables within the core pid/ec/pid.cpp pid() function are now logged, so math can be debugged.
Output is throttled to only log a new line when it changes, or when 60 seconds have elapsed.
Creates 2 files for each PID loop, one showing coefficients that were configured for it, and one showing the variables changing over time.
Enable by --corelogging command line option, or by creating /etc/thermal.d/corelogging file.
Tested: Log files appear as expected, when enabled. No changes noticed, when this feature is disabled.
Signed-off-by: Josh Lehan <krellan@google.com> Change-Id: I3f37fe918e7cbc6fb885ffa2f268600d5a317d32
show more ...
|
#
b1225b26 |
| 28-Oct-2022 |
Harvey.Wu <Harvey.Wu@quantatw.com> |
meson: Add meson and meson_option files
Tested: compile and run successfully
tests log using run-unit-test-docker.sh : 1/14 dbus_active_unittest OK 0.03s 2/14 dbus
meson: Add meson and meson_option files
Tested: compile and run successfully
tests log using run-unit-test-docker.sh : 1/14 dbus_active_unittest OK 0.03s 2/14 dbus_util_unittest OK 0.02s 3/14 json_parse_unittest OK 0.02s 4/14 pid_json_unittest OK 0.02s 5/14 pid_stepwisecontroller_unittest OK 0.03s 6/14 pid_fancontroller_unittest OK 0.04s 7/14 pid_thermalcontroller_unittest OK 0.03s 8/14 dbus_passive_unittest OK 0.05s 9/14 sensor_pluggable_unittest OK 0.02s 10/14 sensor_manager_unittest OK 0.02s 11/14 sensor_host_unittest OK 0.03s 12/14 sensors_json_unittest OK 0.01s 13/14 util_unittest OK 0.01s 14/14 pid_zone_unittest OK 0.04s
Ok: 14 Expected Fail: 0 Fail: 0 Unexpected Pass: 0 Skipped: 0 Timeout: 0
systemctl status phosphor-pid-control.service * phosphor-pid-control.service - Phosphor-Pid-Control Margin-based Fan Control Daemon Loaded: loaded (/lib/systemd/system/phosphor-pid-control.service; enabled; preset: enabled) Drop-In: /lib/systemd/system/phosphor-pid-control.service.d `-service-override.conf Active: active (running) since Fri 2018-03-09 04:36:30 PST; 1min 37s ago Process: 2561 ExecStartPre=/usr/bin/fan-table-init.sh (code=exited, status=0/SUCCESS) Main PID: 2633 (swampd) CGroup: /system.slice/phosphor-pid-control.service `-2633 /usr/bin/swampd
Mar 09 04:36:45 qbmc swampd[2633]: PID name: pwm 5 Mar 09 04:36:45 qbmc swampd[2633]: inputs: fan2_tachfan5_pwm, fan3_tachfan5_pwm, fan5_tachfan5_pwm, Mar 09 04:36:45 qbmc swampd[2633]: PID name: tray_dt PID Mar 09 04:36:45 qbmc swampd[2633]: inputs: tray_dt, Mar 09 04:36:45 qbmc swampd[2633]: pushing zone 2 Mar 09 04:36:45 qbmc swampd[2633]: PID Zone 2 max SetPoint 4200 requested by CPU0 PID fan0_tachfan4_pwm fan1_tachfan4_pwm fan2_tachfan5_pwm fan3_tachfan5_pwm fan4_tachfan4_pwm fan5_tachfan5_pwm Mar 09 04:36:45 qbmc swampd[2633]: pushing zone 1 Mar 09 04:36:45 qbmc swampd[2633]: PID Zone 1 max SetPoint 4200 requested by CPU1 PID fan2_tachfan2_pwm fan3_tachfan3_pwm Mar 09 04:36:45 qbmc swampd[2633]: pushing zone 0 Mar 09 04:36:45 qbmc swampd[2633]: PID Zone 0 max SetPoint 4200 requested by CPU0 PID fan0_tachfan0_pwm fan1_tachfan1_pwm
Signed-off-by: Harvey.Wu <Harvey.Wu@quantatw.com> Change-Id: I779fed7a5deef262a0e65d4eb00116072beb28e8
show more ...
|