dfddd648 | 16-Aug-2024 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: re-format for clang-18
clang-format-18 isn't compatible with the clang-format-17 output, so we need to reformat the code with the latest version. The way clang-18 handles lambda forma
clang-format: re-format for clang-18
clang-format-18 isn't compatible with the clang-format-17 output, so we need to reformat the code with the latest version. The way clang-18 handles lambda formatting also changed, so we have made changes to the organization default style format to better handle lambda formatting.
See I5e08687e696dd240402a2780158664b7113def0e for updated style. See Iea0776aaa7edd483fa395e23de25ebf5a6288f71 for clang-18 enablement.
Change-Id: Ica590f8613f1fb89ab1ca676ac51c1cc7e38d67f Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
613b5367 | 09-May-2024 |
Matt Spinler <spinler@us.ibm.com> |
control:Bonnell: Increase deviation value
Increase Bonnell's lower deviation setting from 18% to 22%. This is necessary because the lower end for the outlet rotors was raised by an earlier commit t
control:Bonnell: Increase deviation value
Increase Bonnell's lower deviation setting from 18% to 22%. This is necessary because the lower end for the outlet rotors was raised by an earlier commit that modified the factor and offset values so that a different fan type can be supported.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Ie68e6f2a60109b566328ab2bac1cdeb029f255b2
show more ...
|
705cd5ab | 03-Apr-2024 |
Matt Spinler <spinler@us.ibm.com> |
monitor:cnfgs:Bonnell: Update tach 1 equation
The Bonnell system will support fans from two different vendors where the equation: "tach1_rpm = (target_rpm * factor) + offset" is slightly different
monitor:cnfgs:Bonnell: Update tach 1 equation
The Bonnell system will support fans from two different vendors where the equation: "tach1_rpm = (target_rpm * factor) + offset" is slightly different between the two.
Change the factor and offset values to one that will work for both.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Iffb3f597f4d30b3c3b76edf8950702c0517a59f2
show more ...
|
cca2de0e | 15-Feb-2024 |
Matt Spinler <spinler@us.ibm.com> |
monitor:configs: Modify Rainier2U poweroff rules
Use the new 'fan_frus_with_nonfunc_rotors' power off cause in the Rainier 2U power off config, and adjust the other rules.
The new rules are to powe
monitor:configs: Modify Rainier2U poweroff rules
Use the new 'fan_frus_with_nonfunc_rotors' power off cause in the Rainier 2U power off config, and adjust the other rules.
The new rules are to power off if: 1. A fan is missing at any time. 2. Two fan FRUs have nonfunctional rotors.
So basically the system will stay up if there is one rotor fail or two fails in the same fan. As soon as there are fails in multiple fans the system will power off. If a fan is missing, it will also power off as that changes the airflow for the worse.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I6e4013f4ea4460718e8d1831e866ef6257da607a
show more ...
|
4c62fc77 | 14-Feb-2024 |
Matt Spinler <spinler@us.ibm.com> |
monitor: Add fan_frus_with_nonfunc_rotors cause
Create a new power off rule to power off when a specific number of fan FRUs have nonfunctional rotors. With this rule failing rotors can be treated d
monitor: Add fan_frus_with_nonfunc_rotors cause
Create a new power off rule to power off when a specific number of fan FRUs have nonfunctional rotors. With this rule failing rotors can be treated differently when they are spread across fans FRUS than when they are within the same fan FRU.
For example, if both rotors of a 2 rotor fan fail the system can stay up, but if 2 rotors in separate fans fail then the system could be made to power off.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Ia1d13596a9e8a6e3a361e5b631699a3c80e36fb8
show more ...
|
388fc572 | 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: I8d258c64711ba2cb2cdfb19f9cd827c489a417bd Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
3420426c | 06-Dec-2023 |
Matt Spinler <spinler@us.ibm.com> |
cnfgs:p10bmc: Rename the IBM config directories
Due to the fan applications now using the xyz.openbmc_project.Inventory.Decorator.Compatible interface instead of the xyz.openbmc_project.Configuratio
cnfgs:p10bmc: Rename the IBM config directories
Due to the fan applications now using the xyz.openbmc_project.Inventory.Decorator.Compatible interface instead of the xyz.openbmc_project.Configuration.IBMCompatibleSystem one, the names of the systems have changed as the new interface uses a different property value format.
Rename all of the directories that mirror those property names to the new ones.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Ie541d15b47a155e88800fb7def76c0e8fbd8182b
show more ...
|
ef17a25a | 07-Dec-2023 |
Patrick Williams <patrick@stwcx.xyz> |
meson: adjust nlohmann-json dependency
- Simplify the dependency logic in the meson.build. - Align the meson dep name with consistent practices from other repos. - Use the non-versioned wrap file.
meson: adjust nlohmann-json dependency
- Simplify the dependency logic in the meson.build. - Align the meson dep name with consistent practices from other repos. - Use the non-versioned wrap file.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I0e3052763bffe9f98d8ca10c5b523b58e000f636
show more ...
|
3494a579 | 28-Nov-2023 |
Matt Spinler <spinler@us.ibm.com> |
monitor: Remove presence check in startMonitor()
Before this fix, there was a window where if a fan was removed after power on but before the monitor start timer expired, no power off actions would
monitor: Remove presence check in startMonitor()
Before this fix, there was a window where if a fan was removed after power on but before the monitor start timer expired, no power off actions would run. This was because the tach sensor value was always zero, so there would be no tach changed signals so no handlers would run to start the countdown to the fan becoming nonfunctional.
The startMonitor() function was calling tachChanged() already manually, but only for present fans. Change the code to call it regardless of if the fan is present or not, so that tachChanged() can properly handle the tach sensor values of zero.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I554e297aeb3f9efb0007721bd8c6305fa706cfed
show more ...
|
83467409 | 31-Oct-2023 |
Matt Spinler <spinler@us.ibm.com> |
monitor:ibm,bonnell: Increase service mode delay
Change Bonnell's fan monitor service mode delay to 5 minutes. This is the delay that 2 rotors can be missing/faulted before a shutdown is requested.
monitor:ibm,bonnell: Increase service mode delay
Change Bonnell's fan monitor service mode delay to 5 minutes. This is the delay that 2 rotors can be missing/faulted before a shutdown is requested.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I89042efdca4d5dab7e8c58eff19d5604922e7b02
show more ...
|
5e15c3ba | 20-Oct-2023 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: copy latest and re-format
clang-format-17 has some backwards incompatible changes that require additional settings for best compatibility and re-running the formatter. Copy the latest
clang-format: copy latest and re-format
clang-format-17 has some backwards incompatible changes that require additional settings for best compatibility and re-running the formatter. Copy the latest .clang-format from the docs repository and reformat the repository.
Change-Id: I3e9e6350864ac267819a4b8d670bef7d3746976e Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
2e22b235 | 24-Aug-2023 |
Matt Spinler <spinler@us.ibm.com> |
Remove remaining fmt::format use
The only remaining use of the fmt::format library was for something std::format can't yet handle, printing ranges. This was only used twice, in the same file, so ju
Remove remaining fmt::format use
The only remaining use of the fmt::format library was for something std::format can't yet handle, printing ranges. This was only used twice, in the same file, so just manually build up the vectors in question into a string and use std::format. This was already being done in other places anyway.
Now the fmt::format subproject and dependencies can be completely removed.
An added benefit is that those two fmt::format calls were failing to build on my system when I was trying to build using subprojects, and without them everything works.
Tested: Can still see the traces, though I only have a 1 element vector to test with: Adding fan target lock of 11300 on fans [fan0] zone 0",
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I90055e9d1c8d0b79b151e1cfd0af2052005cef3c
show more ...
|
fbf4703f | 17-Jul-2023 |
Patrick Williams <patrick@stwcx.xyz> |
use std::format instead of fmt::format
The std::format is sufficient for the uses in this repository except for in one file (override_fan_target.cpp, since P2286 isn't supported by GCC yet). Switch
use std::format instead of fmt::format
The std::format is sufficient for the uses in this repository except for in one file (override_fan_target.cpp, since P2286 isn't supported by GCC yet). Switch to std::format whenever possible.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Ib2576fb530a4d7ce238e1b0bd95b40b476ec2107
show more ...
|
cb6129e0 | 14-Aug-2023 |
George Liu <liuxiwei@inspur.com> |
monitor: Replace Argument class with CLI11
Phosphor-fan already depends on cli11, delete Argument class and use cli11 instead.
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: I017ff2012f
monitor: Replace Argument class with CLI11
Phosphor-fan already depends on cli11, delete Argument class and use cli11 instead.
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: I017ff2012f73d0025ea04f6fe1d5d86710e04645
show more ...
|
bfe42adf | 10-May-2023 |
Matt Spinler <spinler@us.ibm.com> |
monitor:configs: Add ibm,bonnell upper deviation
Add an upper deviation of 40% to the Bonnell fan monitor config.
This helps in the case when a single rotor is stopped which causes the remaining ro
monitor:configs: Add ibm,bonnell upper deviation
Add an upper deviation of 40% to the Bonnell fan monitor config.
This helps in the case when a single rotor is stopped which causes the remaining rotor to spin faster than usual.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I07dcc0b551385a5024057f965d580f649dbeafce
show more ...
|
f724c16b | 10-May-2023 |
Matt Spinler <spinler@us.ibm.com> |
monitor: Support a separate upper deviation
Add an optional 'upper_deviation' field to the fan monitor config and if supplied it will be used for the allowed deviation when the fan value is over the
monitor: Support a separate upper deviation
Add an optional 'upper_deviation' field to the fan monitor config and if supplied it will be used for the allowed deviation when the fan value is over the target. If not supplied it will work as today and the single deviation value will be used for both the upper and lower bounds.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I085dc1996832e79b94bd1df3a05681d107f466eb
show more ...
|
18fb12b8 | 09-May-2023 |
Matt Spinler <spinler@us.ibm.com> |
monitor: Change Fan/Sensor def tuples to structs
The tuples were big and hard to read/use. Change them to structs so the members are always named.
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
monitor: Change Fan/Sensor def tuples to structs
The tuples were big and hard to read/use. Change them to structs so the members are always named.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I79826563faf44636b251e614f45ff86f1e02c607
show more ...
|
086e8168 | 09-May-2023 |
Matt Spinler <spinler@us.ibm.com> |
monitor:yaml: Fix generated code
An if statement in the mako template went around two FanDefinition members instead of one, leaving off the last value when a condition name was in the input yaml.
S
monitor:yaml: Fix generated code
An if statement in the mako template went around two FanDefinition members instead of one, leaving off the last value when a condition name was in the input yaml.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Ifa485174e7195b3738528236cc6c3344917ea37d
show more ...
|
61b73296 | 10-May-2023 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: copy latest and re-format
clang-format-16 has some backwards incompatible changes that require additional settings for best compatibility and re-running the formatter. Copy the latest
clang-format: copy latest and re-format
clang-format-16 has some backwards incompatible changes that require additional settings for best compatibility and re-running the formatter. Copy the latest .clang-format from the docs repository and reformat the repository.
Change-Id: I152f141a5e8343b92b5ce81d3ca16eec77b5606b Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
e145981b | 07-Mar-2023 |
Matt Spinler <spinler@us.ibm.com> |
monitor: ibm,bonnell: Add remaining rotors to config
Add the second rotor of each fan to the Bonnell fan monitor config. It's the same fan as used in the Rainier 2U so it has the same characteristic
monitor: ibm,bonnell: Add remaining rotors to config
Add the second rotor of each fan to the Bonnell fan monitor config. It's the same fan as used in the Rainier 2U so it has the same characteristics.
Also add the EPOW configuration, which is the same as the Rainier 2U's to start out with.
Change-Id: I3246638f46999732b50e4cc2e3dd81bd10555916 Signed-off-by: Matt Spinler <spinler@us.ibm.com>
show more ...
|
eb6aaee0 | 07-Feb-2023 |
Matt Spinler <spinler@us.ibm.com> |
monitor:configs:Rainier 4U: increase deviation
Increase the deviation setting from 15 to 18 on the two IBM Rainier 4U models to match that of the other IBM systems. There have been false fails with
monitor:configs:Rainier 4U: increase deviation
Increase the deviation setting from 15 to 18 on the two IBM Rainier 4U models to match that of the other IBM systems. There have been false fails with the value at 15.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I515738163960da7f1497c74575ede8e4954d4c86
show more ...
|
9b06243d | 26-Jan-2023 |
Matt Spinler <spinler@us.ibm.com> |
Add explicit keyword to 1 arg constructors
The cppcheck tool complains about it otherwise.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Id977a6c349b0b49354b52ac994ea7742e0a39307 |
fce14908 | 13-Jan-2023 |
Chau Ly <chaul@amperecomputing.com> |
monitor: Use host state to decide power state
phosphos-fan-monitor service is using pgood to decide the power state. When power state is off, phosphor-fan-monitor should not check functionality of f
monitor: Use host state to decide power state
phosphos-fan-monitor service is using pgood to decide the power state. When power state is off, phosphor-fan-monitor should not check functionality of fans. However, with Ampere's Softoff (e.g via power cycle), it takes long for pgood to change state after the command to power cycle host is taken, so phosphor-fan-monitor fails to detect the power state is off, and continues to check functionality. This results in fans being marked non-functional when host is off during power cycle. This patch offers a package configuration option for choosing to use CurrentHostState instead of pgood to decide the power state. When the CurrentHostState is TransitioningToOff, which is set right after the power cycle command, the power state will be considered as off.
Signed-off-by: Chau Ly <chaul@amperecomputing.com> Change-Id: I6f459384b1d536f61c5df787d696412acc04ba02
show more ...
|
751c8beb | 13-Jan-2023 |
Chau Ly <chaul@amperecomputing.com> |
monitor: Add delay for host control
Some OpenBMC platforms use dbus-sensor and entity-manager to create the fan sensors. In those systems, phosphor-fan-monitor starts before the fan sensors are crea
monitor: Add delay for host control
Some OpenBMC platforms use dbus-sensor and entity-manager to create the fan sensors. In those systems, phosphor-fan-monitor starts before the fan sensors are created during BMC boot up. phosphor-fan-monitor is designed to shutdown the host when there is no fan tach sensors which is not desirable in this case. This patch supports a package configuration option delay-host-control to add a desired delay before phosphor-fan-monitor turns off host. This can be configured to match with each system timing.
Signed-off-by: Chau Ly <chaul@amperecomputing.com> Change-Id: I63cd85eb5e6cb04069ce7b4c21c2f4621d243502
show more ...
|
466bd228 | 25-Jan-2023 |
Matt Spinler <spinler@us.ibm.com> |
monitor: Change 'input' to 'actual' in trace
Change the 'input' label in a trace to 'actual' to make it more obvious that it means the fan's actual speed.
Signed-off-by: Matt Spinler <spinler@us.ib
monitor: Change 'input' to 'actual' in trace
Change the 'input' label in a trace to 'actual' to make it more obvious that it means the fan's actual speed.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I76686bf8b68ad7b8fb5ad994a78a50eb1a60900c
show more ...
|