6ef0d514 | 07-Mar-2025 |
Matt Spinler <spinler@us.ibm.com> |
control:p10bmc: Force retry on OCC active group
Thirty seconds after fan control has started, check again if the service hosting the OccActive property can be found, and release the existing target
control:p10bmc: Force retry on OCC active group
Thirty seconds after fan control has started, check again if the service hosting the OccActive property can be found, and release the existing target hold if there was one from when the set_target_on_missing_owner action originally ran.
Thirty seconds was chosen to be far out enough to let thing settle down a bit.
This is to work around a problem where the OCC service wasn't running the first time fan control checked, and then it somehow missed the NameOwnerChanged signal so the target hold from the set_target_on_missing_owner action was permanently set.
There is also a change to switch the order of the triggers in the 'service(s) missing' action to add the NameOwnerChanged match before checking if the name has an owner, closing a very small window where it was possible the signal came in after the check but before the match was added.
Tested: By adding traces, viewed that the new action ran 30 seconds after startup, and that the order of the triggers was changed.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I5a74a09a066757207fbf9a598aa7282aae2b58ce
show more ...
|
e5049b25 | 04-Feb-2025 |
Matt Spinler <spinler@us.ibm.com> |
Fix custom_target breakage
The recent meson format commit reordered arguments of some custom_target calls, where the code expected the first input to be the script being run. Hardcode that argument
Fix custom_target breakage
The recent meson format commit reordered arguments of some custom_target calls, where the code expected the first input to be the script being run. Hardcode that argument instead.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I2d895da8ad2ddb0aba3a545129ff698438f8eaa7
show more ...
|
4fa67aa1 | 03-Feb-2025 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: update latest spec and reformat
Copy the latest format file from the docs repository and apply.
Change-Id: If152304b21dd2daaa2f79255a4f98218615efb05 Signed-off-by: Patrick Williams <p
clang-format: update latest spec and reformat
Copy the latest format file from the docs repository and apply.
Change-Id: If152304b21dd2daaa2f79255a4f98218615efb05 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
f5f87cae | 01-Feb-2025 |
Patrick Williams <patrick@stwcx.xyz> |
meson: reformat with meson formatter
Apply the `meson format` results.
Change-Id: I0992e665c16f369772eb0cb5ac65553654fd464a Signed-off-by: Patrick Williams <patrick@stwcx.xyz> |
7d07cb1e | 21-Jan-2025 |
Matt Spinler <spinler@us.ibm.com> |
fanctl: Add option to display sensors
Add a new 'sensors' option to fanctl to display sensor values for debug, which the code gets straight from D-Bus.
The help: $ fanctl sensors -h ``` Retrieve se
fanctl: Add option to display sensors
Add a new 'sensors' option to fanctl to display sensor values for debug, which the code gets straight from D-Bus.
The help: $ fanctl sensors -h ``` Retrieve sensor values Usage: fanctl sensors [OPTIONS]
Options: -h,--help Retrieve sensor values -t,--type TEXT Only show sensors of this type (i.e. 'temperature'). Optional -n,--name TEXT Only show sensors with this string in the name. Optional -v,--verbose Verbose: Use sensor object path for the name ```
Example output:
$ fanctl sensors Altitude: 110.901 Ambient_0_Temp: 22.562 Ambient_1_Temp: 22.604 Ambient_2_Temp: 22.4047 Ambient_Virtual_Temp: 22.562 Battery_Voltage: 3.144 NVMe_1_Temp: 31 NVMe_2_Temp: 31 NVMe_JBOF_Card_C10_Local_Temp: 33.938 NVMe_JBOF_Card_C10_Temp: 44 ...
Display the object path for the sensor name: ``` $ fanctl sensors -v /xyz/openbmc_project/sensors/altitude/Altitude: 110.901 /xyz/openbmc_project/sensors/current/ps0_output_current: 20.375 /xyz/openbmc_project/sensors/current/ps1_output_current: 18.218 /xyz/openbmc_project/sensors/current/vcs_p0_dcm0_rail_iout: 1.75 /xyz/openbmc_project/sensors/current/vcs_p0_dcm0_rail_iout_peak: 6.5 /xyz/openbmc_project/sensors/current/vcs_p0_dcm0_rail_iout_valley: 0 /xyz/openbmc_project/sensors/current/vcs_p0_dcm1_rail_iout: 0.75 /xyz/openbmc_project/sensors/current/vcs_p0_dcm1_rail_iout_peak: 3 /xyz/openbmc_project/sensors/current/vcs_p0_dcm1_rail_iout_valley: 0 /xyz/openbmc_project/sensors/current/vcs_p1_dcm0_rail_iout: 2.75 ... ```
Display only voltage sensors: ``` $ fanctl sensors -t voltage Battery_Voltage: 3.144 ps0_input_voltage: 207 ps0_input_voltage_rating: 220 ps0_output_voltage: 12.296 ... ```
Display only sensors that contain the substring 'core': $ fanctl sensors -n core ``` proc0_core0_0_temp: 44 proc0_core0_1_temp: 44 proc0_core10_0_temp: 45 proc0_core10_1_temp: 45 ... ```
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Ib93f00c457a6972e9eba1f74adca904baa2bf28c
show more ...
|
3e485596 | 15-Jan-2025 |
Matt Spinler <spinler@us.ibm.com> |
control:ibm,Rainier: Add hot PCIe card
Add the 'Moso' card to all Rainier models.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I2ad38ea9926f76fe9324052ef68045bd086dcb63 |
79f2e819 | 09-Jan-2025 |
Matt Spinler <spinler@us.ibm.com> |
control:configs:Everest: Add a new floor index
Add a new floor index of 4, and change the Cedar Lake and Haleakala cards to use it.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Icd8f
control:configs:Everest: Add a new floor index
Add a new floor index of 4, and change the Cedar Lake and Haleakala cards to use it.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Icd8fd365f756e3d36199237dec2d478aa8091f0e
show more ...
|
f6767f4e | 07-Jan-2025 |
Matt Spinler <spinler@us.ibm.com> |
control:configs: BlueRidge 2U fan support
The BlueRidge 2U is similar to the Rainier 2U but uses different fans. The only difference from Rainier so far is the fan ceiling is changing from 18000 to
control:configs: BlueRidge 2U fan support
The BlueRidge 2U is similar to the Rainier 2U but uses different fans. The only difference from Rainier so far is the fan ceiling is changing from 18000 to 17000.
Copy over the Rainier files that reference this and change the values. The groups.json and pcie_cards.json used will still be obtained from the Rainier directory.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Ib935e0d168d6b6cad2f26b5d455aec957af204e5
show more ...
|
3d0c3696 | 12-Dec-2024 |
Matt Spinler <spinler@us.ibm.com> |
control: Load only 1 pcie_cards.json
The pcie_cards.json file contains PCIe cards that need special fan floor values. The previous code would attempt to load multiple files, based on the thinking t
control: Load only 1 pcie_cards.json
The pcie_cards.json file contains PCIe cards that need special fan floor values. The previous code would attempt to load multiple files, based on the thinking that there might be a common file that is shared between systems and then other system specific files with just the cards that are different.
In practice this feature was never used, and made systems harder to patch in /etc/ since even after a file was found in /etc the file would also be loaded out of /usr, overwriting the values.
Tested: A file was put in each non default location of:
``` /etc/phosphor-fan-presence/control/ /etc/phosphor-fan-presence/control/com.ibm.Hardware.Chassis.Model.Rainier4U/
/usr/share/phosphor-fan-presence/control/ /usr/share/phosphor-fan-presence/control/com.ibm.Hardware.Chassis.Model.Rainier/ ```
With the existing file in flash at: /usr/share/ ... /com.ibm.Hardware.Chassis.Model.Rainier4U/
And in each case the correct file was chosen. Verified using the traces shown on startup like:
``` Loading configuration from /etc/phosphor-fan-presence/control/pcie_cards.json ```
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I14b849a2bff65402508ef92e293f3237729721e5
show more ...
|
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 ...
|