8dab554b | 11-Oct-2024 |
Matt Spinler <spinler@us.ibm.com> |
control:ibm,Bonnell: Add hot PCIe card
Add the 'GTO' PCIe card to the list of hot PCIe cards, and add floor values for its floor index.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I
control:ibm,Bonnell: Add hot PCIe card
Add the 'GTO' PCIe card to the list of hot PCIe cards, and add floor values for its floor index.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Ie2863a08cdf9c85ca5e6c25d56d4cc367da60218
show more ...
|
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 ...
|
6781491c | 11-Jun-2024 |
Chau Ly <chaul@amperecomputing.com> |
control: json: Correct hysteresis definitions
The action target_from_group_max has been implementing the reversed definitions of positive hysteresis and negative hysteresis. The positive hysteresis
control: json: Correct hysteresis definitions
The action target_from_group_max has been implementing the reversed definitions of positive hysteresis and negative hysteresis. The positive hysteresis should be for the value increasing case and vice versa. This commit corrects that in source code and events.md.
Signed-off-by: Chau Ly <chaul@amperecomputing.com> Change-Id: I1b84884d16d5f20d0fdcd9033188ffd31e91f907
show more ...
|
078c0a86 | 11-Jun-2024 |
Chau Ly <chaul@amperecomputing.com> |
control: manager: Services with no managed objs
When a D-Bus object used in events is under a service that has the "org.freedesktop.DBus.ObjectManager", the control::json::Manager will try to get al
control: manager: Services with no managed objs
When a D-Bus object used in events is under a service that has the "org.freedesktop.DBus.ObjectManager", the control::json::Manager will try to get all the managed objects under the service and add to cache. However, in case when the results from the GetManagedObjects are empty, it omits the attempt to directly read the object from D-Bus using the configured information.
This patch handles this situation and allows services that have the ObjectManager interface but empty managed objects can be read.
Example: Objects under xyz.openbmc_project.State.Host service.
root@mtmitchell-dcscm:~# busctl call xyz.openbmc_project.State.Host \ /xyz/openbmc_project/state/host0 org.freedesktop.DBus.ObjectManager \ GetManagedObjects
a{oa{sa{sv}}} 0
Signed-off-by: Chau Ly <chaul@amperecomputing.com> Change-Id: I5eca78fdfbc8a26fb7effb861440dc3cf28959d0
show more ...
|
950ff459 | 24-Apr-2024 |
Matt Spinler <spinler@us.ibm.com> |
control:Bonnell: Increase ambient values by 4.5
Increase any values referencing the ambient temperature by 4.5 degrees to account for the fact that the actual temperature is 4.5 degrees higher than
control:Bonnell: Increase ambient values by 4.5
Increase any values referencing the ambient temperature by 4.5 degrees to account for the fact that the actual temperature is 4.5 degrees higher than what the sensor shows.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I2441c68676a716f7d5324b81bb48102187ab600f
show more ...
|
51465352 | 09-Apr-2024 |
Matt Spinler <spinler@us.ibm.com> |
control:Bonnell: Remove hot PCIe cards
It turns out that Bonnell doesn't have any 'hot' pcie cards, so the floor can just be based on ambient and altitude.
This commit removes the cards from pcie_c
control:Bonnell: Remove hot PCIe cards
It turns out that Bonnell doesn't have any 'hot' pcie cards, so the floor can just be based on ambient and altitude.
This commit removes the cards from pcie_cards.json and removes any PCIe floor index values from the mapped_floor action in events.json. It still leaves the infrastructure to keep things more common with the other IBM systems, and to make it easier to add in a card if/when a hot one comes into plan.
There is also a code update needed to allow an empty pcie_cards.json file.
Tested: Floors are set appropriately based on the altitude and ambient.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I10e6904602c7abf61121f7c610059f164405b758
show more ...
|
338b3e3d | 03-Apr-2024 |
Matt Spinler <spinler@us.ibm.com> |
control:Bonnell: Config updates
The following updates were made to the Bonnell fan control config: - Change max RPMs to 17000 from 18000 - The fans could never actually hit 18000 - Add the real PC
control:Bonnell: Config updates
The following updates were made to the Bonnell fan control config: - Change max RPMs to 17000 from 18000 - The fans could never actually hit 18000 - Add the real PCIe card list - Update the floor table and the associated parameters - Some unused floor indices are left in the table to make it easier for future expansion.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Ia7f4627f9458322e250452e67f330ede063c7efe
show more ...
|
8ef2c86b | 07-Feb-2024 |
Matt Spinler <spinler@us.ibm.com> |
control:Bonnell: Update dram temp thresholds
Move the dram temp range to 64-61 from 68-65.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I0f3847e70e59e8cd15e5934827c9d3df23530bb6 |
0931ad1f | 05-Feb-2024 |
Matt Spinler <spinler@us.ibm.com> |
control:configs:Everest: Update hot cards
The Lassen and Glacier Park EDR cards need to use a value 3 for their PCIe floor index on Everest.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-
control:configs:Everest: Update hot cards
The Lassen and Glacier Park EDR cards need to use a value 3 for their PCIe floor index on Everest.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Idf7c34793f7a9e514886e0ba04997c6a5adc569d
show more ...
|
5d76e652 | 26-Jan-2024 |
Matt Spinler <spinler@us.ibm.com> |
control:configs:rainier: Add new hot card
Add the Narwhal adapter to the hot card list for all of the Rainier models.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Iebf50f3d170aa1a1df
control:configs:rainier: Add new hot card
Add the Narwhal adapter to the hot card list for all of the Rainier models.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Iebf50f3d170aa1a1dfbf2aeec06d00f666f48007
show more ...
|
a8c1cf50 | 04-Jan-2024 |
Matt Spinler <spinler@us.ibm.com> |
control:config:ibm: Use count_state_floor delay
Add a 5 second delay to the count_state_floor action that watches for non functional sensors to all IBM configurations. With this change, a sensor ha
control:config:ibm: Use count_state_floor delay
Add a 5 second delay to the count_state_floor action that watches for non functional sensors to all IBM configurations. With this change, a sensor has to be nonfunctional for at least 5 seconds for the floor to change.
This is being done because the NVMe temperature sensors would briefly be set to nonfunctional when a drive is removed.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I6fa70f2551c11b2cfe8ee4696b6d72d57a3a7bd5
show more ...
|
7fa4d16e | 04-Jan-2024 |
Matt Spinler <spinler@us.ibm.com> |
control: Add optional delay to count_state_floor
Add an optional delay field to the count_state_floor action that takes a value in seconds. When set to a nonzero value, the action will then require
control: Add optional delay to count_state_floor
Add an optional delay field to the count_state_floor action that takes a value in seconds. When set to a nonzero value, the action will then require the count condition to be satisfied for that amount of time before setting the floor. This can be used to prevent the floor from jumping when there is just short change to a property value, for example if a sensor set to not functional for a short amount of time.
For example:
{ "name": "count_state_floor", "count": 1, "state": false, "delay": 5, "floor": 18000 }
This says that the floor won't be set to 18000 until at least 1 group member has its property value set to false for a continuous 5 seconds.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I67409ce651d9592b1cabb3f7cb36ba998c3ef545
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 ...
|
1d6b445a | 09-Nov-2023 |
Matt Spinler <spinler@us.ibm.com> |
control:configs:rainier-4u: Use memory DVFS temps
Instead of hardcoding the increase and decrease temperatures for the memory related sensors, do the same as what was done for the processor core and
control:configs:rainier-4u: Use memory DVFS temps
Instead of hardcoding the increase and decrease temperatures for the memory related sensors, do the same as what was done for the processor core and ioring temps and use an offset from the DVFS (dynamic voltage and frequency scaling) sensor for that sensor type.
This is being done because DDR4 and DDR5 memory have different DVFS temperatures where the OCC starts throttling/slewing, and so just hardcoding a single temperature value wouldn't work.
The *_increase_temp and *_decrease_temp modifier values were chosen such that the final increase and decrease parameter temperature values were the same as what the hardcoded temperatures were for DDR4. They were calculated by subtracting the old increase/decrease temp values from the DVFS value.
Note: The 4U and 1S4U Use the same values for everything.
Tested: Checked the parameters that were present on a Rainier-4U: "dram_extmb_dvfs_decrease_temp": 63.0, "dram_extmb_dvfs_increase_temp": 66.0, "pmic_dvfs_decrease_temp": 62.0, "pmic_dvfs_increase_temp": 65.0,
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Ia162046dc376d514284303337ba192a79d705b3d
show more ...
|
22fa6e3f | 09-Nov-2023 |
Matt Spinler <spinler@us.ibm.com> |
control:configs:everest: Use memory DVFS temps
Instead of hardcoding the increase and decrease temperatures for the memory related sensors, do the same as what was done for the processor core and io
control:configs:everest: Use memory DVFS temps
Instead of hardcoding the increase and decrease temperatures for the memory related sensors, do the same as what was done for the processor core and ioring temps and use an offset from the DVFS (dynamic voltage and frequency scaling) sensor for that sensor type.
This is being done because DDR4 and DDR5 memory have different DVFS temperatures where the OCC starts throttling/slewing, and so just hardcoding a single temperature value wouldn't work.
The *_increase_temp and *_decrease_temp modifier values were chosen such that the final increase and decrease parameter temperature values were the same as what the hardcoded temperatures were for DDR4. They were calculated by subtracting the old increase/decrease temp values from the DVFS value.
Tested: Checked the parameters that were present on an Everest: "dram_extmb_dvfs_decrease_temp": 52.0, "dram_extmb_dvfs_increase_temp": 55.0, "pmic_dvfs_decrease_temp": 55.0, "pmic_dvfs_increase_temp": 58.0,
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I4e76cfc13325df3a3c3d0a993381f2418c088c24
show more ...
|
667922d9 | 09-Nov-2023 |
Matt Spinler <spinler@us.ibm.com> |
control:configs:rainier-2u: Use memory DVFS temps
Instead of hardcoding the increase and decrease temperatures for the memory related sensors, do the same as what was done for the processor core and
control:configs:rainier-2u: Use memory DVFS temps
Instead of hardcoding the increase and decrease temperatures for the memory related sensors, do the same as what was done for the processor core and ioring temps and use an offset from the DVFS (dynamic voltage and frequency scaling) sensor for that sensor type.
This is being done because DDR4 and DDR5 memory have different DVFS temperatures where the OCC starts throttling/slewing, and so just hardcoding a single temperature value wouldn't work.
The *_increase_temp and *_decrease_temp modifier values were chosen such that the final increase and decrease parameter temperature values were the same as what the hardcoded temperatures were for DDR4. They were calculated by subtracting the old increase/decrease temp values from the DVFS value.
Tested: Checked the parameters that were present on a Rainier-2U: "dram_extmb_dvfs_decrease_temp": 52.0, "dram_extmb_dvfs_increase_temp": 55.0, "pmic_dvfs_decrease_temp": 65.0, "pmic_dvfs_increase_temp": 68.0,
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I339df9e803f81ba0e6c1f05bb9403dc4a59ade8e
show more ...
|
8d9c391a | 08-Nov-2023 |
Matt Spinler <spinler@us.ibm.com> |
control: Add power on/offs to flight recorder
Add entries for when the power state changes to the flight recorder. This can help provide context to other entries that may occur due to the power on/o
control: Add power on/offs to flight recorder
Add entries for when the power state changes to the flight recorder. This can help provide context to other entries that may occur due to the power on/off, as well as give a history of the state changes without needing to search journal output, if there is any.
Tested: ``` "Nov 08 18:04:53.922812: pcie_card_floors-58: Found 0 hot cards, 1 with temp sensors, 0 uninteresting", "Nov 08 18:05:12.104198: power: Power off", "Nov 08 18:05:24.830231: pcie_card_floors-58: Found 0 hot cards, 0 with temp sensors, 0 uninteresting", "Nov 08 18:08:24.172855: power: Power On", ```
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I7605401c1dac5162903e13ae8ad71de2928ddd13
show more ...
|
1b3bcc32 | 31-Oct-2023 |
Matt Spinler <spinler@us.ibm.com> |
control:cnfgs:ibm,bonnell: Enable fan control
Check in the JSON files to enable fan control on IBM's Bonnell system. It is a 1 socket 4 DIMM 2 fan system. It uses the same fan model as the Rainier
control:cnfgs:ibm,bonnell: Enable fan control
Check in the JSON files to enable fan control on IBM's Bonnell system. It is a 1 socket 4 DIMM 2 fan system. It uses the same fan model as the Rainier 2U, and uses mostly the same settings as the Rainier 2U with the exception of having some lower floors, though only when there are no hot PCIe cards present.
The floor values when there are hot PCIe card present may change in the future.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I30b42fa4f2c2715ba26bbfef4a3d28dc77373390
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 ...
|
785f6d68 | 16-Oct-2023 |
Matt Spinler <spinler@us.ibm.com> |
control:configs:rainier-*4u: Add new hot card
Add the Shale PCIe card to the hot cards list pcie_cards.json for the Rainier 4U and 1S4U.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id:
control:configs:rainier-*4u: Add new hot card
Add the Shale PCIe card to the hot cards list pcie_cards.json for the Rainier 4U and 1S4U.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I84ad11d790f48584fe6fffd850a474532e5214fe
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 ...
|
854abad4 | 15-Aug-2023 |
George Liu <liuxiwei@inspur.com> |
control: 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: I4f4283f2d1
control: 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: I4f4283f2d1c9a096a921814156ba81fea72eab34
show more ...
|
fc4be0d6 | 17-Jul-2023 |
Patrick Williams <patrick@stwcx.xyz> |
control: add missing phosphor-logging dependency
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Iefa68e90bf03255119f7dd38dd4de96ac6589fd1 |