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 |
16e512d4 | 17-Jul-2023 |
Patrick Williams <patrick@stwcx.xyz> |
build: fix nlohmann-json dependency
Previously the json dependency was only added when `json-control` or `json-config` options were enabled, but there is now base code that utilizes nlohmann-json di
build: fix nlohmann-json dependency
Previously the json dependency was only added when `json-control` or `json-config` options were enabled, but there is now base code that utilizes nlohmann-json directly (such as logger.hpp). Add the dependency at the top level.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Ia92e54f9bd4812af0977bcfa5479f093f7bdbc67
show more ...
|
1a56c2bc | 17-Jul-2023 |
Patrick Williams <patrick@stwcx.xyz> |
build: add cereal dependencies
Numerous places are missing dependencies for Cereal, which makes the repository impossible to build with meson subprojects. Add them and the appropriate wrap file.
S
build: add cereal dependencies
Numerous places are missing dependencies for Cereal, which makes the repository impossible to build with meson subprojects. Add them and the appropriate wrap file.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: If20779983b9b062d7050dc323ccbae678ce58220
show more ...
|
12cb6906 | 12-May-2023 |
Matt Spinler <spinler@us.ibm.com> |
control:fanctl: Option to do dump before query
Add a -d option to the 'fanctl query_dump' command that will generate the dump and do the query in one step. Previously the dump had to be generated f
control:fanctl: Option to do dump before query
Add a -d option to the 'fanctl query_dump' command that will generate the dump and do the query in one step. Previously the dump had to be generated first with the 'fanctl dump' command.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Ibe0b60ca75f2390fea03ea450bfd4da6a57f57b6
show more ...
|
f2040133 | 10-May-2023 |
Matt Spinler <spinler@us.ibm.com> |
control: Trace which fan gets target locked
The override_fan_target action is used to lock a fan to a target in certain cases. It was already tracing when this was occurring, but it didn't say whic
control: Trace which fan gets target locked
The override_fan_target action is used to lock a fan to a target in certain cases. It was already tracing when this was occurring, but it didn't say which fan it was happening to. Add that information.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I074ddcbab32ff5606b7a1c7b3ceb03076a49ce30
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 ...
|
ab877f66 | 12-Apr-2023 |
Matt Spinler <spinler@us.ibm.com> |
control:configs:rainier-2u: Add new hot card
Add the Lassen InfiniBand adapter to the hot cards list for the Rainier 2U.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I88f84068f2e22e7
control:configs:rainier-2u: Add new hot card
Add the Lassen InfiniBand adapter to the hot cards list for the Rainier 2U.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I88f84068f2e22e743fdd764b17914383ea3371a0
show more ...
|
9431a37d | 05-Apr-2023 |
Matt Spinler <spinler@us.ibm.com> |
control:configs:rainier-*4u: Add new hot card
Add the Dragonhead 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
control:configs:rainier-*4u: Add new hot card
Add the Dragonhead 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: Idd355a350f39e0c8739fd3c68f16840f7da70cec
show more ...
|
c70bce2c | 16-Mar-2023 |
Matt Spinler <spinler@us.ibm.com> |
control: Expose fanctl dump option in YAML mode
While the fan control code that uses the YAML configuration doesn't have any dump capabilities, there are testcases in the openbmc-test-automation rep
control: Expose fanctl dump option in YAML mode
While the fan control code that uses the YAML configuration doesn't have any dump capabilities, there are testcases in the openbmc-test-automation repo that call fanctl dump that don't know if it's available or not.
This commit just exposes the 'dump' option even in YAML mode so that the testcase doesn't need to care about fan control's internal configuration. There was already code that would write the following to /tmp/fan_control_dump.json in YAML mode:
"msg": "Unable to create dump on non-JSON config based system"
I also changed the help text to a more generic statement about dumping data debug as opposed to saying it just dumps the flight recorder, since it does a lot more.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I119b733628402d0719fd42b90254d7072245d080
show more ...
|
0eeadc23 | 26-Jan-2023 |
Matt Spinler <spinler@us.ibm.com> |
control: Removed unused variable
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I65053bf7a2802eb3c1e5755c975b808978e75056 |
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 |
a97823a4 | 12-Jan-2023 |
Matt Spinler <spinler@us.ibm.com> |
control:configs: rainier-1s4u floor updates
If the model value of the first processor is 5CF9, use a different mapped_floor table with higher floors.
Signed-off-by: Matt Spinler <spinler@us.ibm.com
control:configs: rainier-1s4u floor updates
If the model value of the first processor is 5CF9, use a different mapped_floor table with higher floors.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I2ebea798e3c5e5bf60aa82d12b4139239f383a72
show more ...
|
e56672d5 | 10-Jan-2023 |
Matt Spinler <spinler@us.ibm.com> |
control: Trace around enabling events
Add flight recorder entries before and after fan control events are enabled on startup. This can be used for debug to tell how long the enables take.
e.g. ```
control: Trace around enabling events
Add flight recorder entries before and after fan control events are enabled on startup. This can be used for debug to tell how long the enables take.
e.g. ``` "Jan 10 16:03:11.329067: main: Enabling events", "Jan 10 16:03:11.385515: zone-floor0: mapped_floor-70(Fan floors) is setting floor hold to 7300", "Jan 10 16:03:11.385534: zone-floor0: Setting new floor to 7300", "Jan 10 16:03:13.951341: main: Done enabling events", ```
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I5753617a38972b28ab12b314576c8774ee73c37e
show more ...
|
70176506 | 03-Jan-2023 |
Matt Spinler <spinler@us.ibm.com> |
control:configs: Add altitude group to Rainier 4Us
The altitude is used by actions in the Rainier 4U and 1S4U, but was missing from the groups.json files. This caused the altitude offsets used by th
control:configs: Add altitude group to Rainier 4Us
The altitude is used by actions in the Rainier 4U and 1S4U, but was missing from the groups.json files. This caused the altitude offsets used by the mapped floor action to always be zero.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I46748a9dfe5f054964c11ae28009c0c73b23b1fc
show more ...
|
1a555607 | 08-Dec-2022 |
Matt Spinler <spinler@us.ibm.com> |
control: mapped_floor: Add conditions
Add the concept of a condition to the mapped_floor action such that it will only run if the condition is met. If the condition isn't met, the run() function wi
control: mapped_floor: Add conditions
Add the concept of a condition to the mapped_floor action such that it will only run if the condition is met. If the condition isn't met, the run() function will just exit immediately.
A condition is created by placing the following in the JSON:
* condition_group - The name of the group that has the property the condition will use. For now, it must be a single member group. * condition_value - The value the property has to be to meet the condition. * condition_op - Either 'equal' or 'not_equal', where the property has to either be equal to or not equal to the condition value.
For example, the following says the single member of the 'cpu 0' group must have its Model property be equal to "1234" for the action to run:
{ "groups": [{ "name": "cpu 0", "interface": "xyz.openbmc_project.Inventory.Decorator.Asset", "property": { "name": "Model" } } ... ], ... "name": "mapped_floor", "key_group": "ambient temp", "condition_group": "cpu 0", "condition_value": "1234", "condition_op": "equal", ... }
If a condition is present but isn't met, the action will remove its floor hold if it has one to support the case of the condition property changing values.
Change-Id: I3ede20efd334e2c5292a441c089534420959c7bc Signed-off-by: Matt Spinler <spinler@us.ibm.com>
show more ...
|
99911bab | 08-Dec-2022 |
Matt Spinler <spinler@us.ibm.com> |
control: Add Zone::hasFloorHold() function
Add this to the Zone class so actions can check if they currently have a floor hold.
Change-Id: I84d0cec7bc3d45feab0ae2c4b08acf6832337f8f Signed-off-by: M
control: Add Zone::hasFloorHold() function
Add this to the Zone class so actions can check if they currently have a floor hold.
Change-Id: I84d0cec7bc3d45feab0ae2c4b08acf6832337f8f Signed-off-by: Matt Spinler <spinler@us.ibm.com>
show more ...
|
cd34ac50 | 08-Dec-2022 |
Matt Spinler <spinler@us.ibm.com> |
control: Catch GetManagedObjects exceptions
The get_managed_objects action makes a GetManagedObjects D-Bus call to put D-bus properties from a service into the cache.
Handle exceptions thrown by it
control: Catch GetManagedObjects exceptions
The get_managed_objects action makes a GetManagedObjects D-Bus call to put D-bus properties from a service into the cache.
Handle exceptions thrown by it in case it was called from a name_owner_changed trigger when the service went off of D-Bus, which would cause it to fail.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I18ebcea327578073780b4658c8a1d897cbfa20e5
show more ...
|