History log of /openbmc/phosphor-fan-presence/control/json/zone.cpp (Results 1 – 25 of 45)
Revision Date Author Comments
# 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 ...


# 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 ...


# 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 ...


# 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 ...


# 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 ...


# 2541f99c 16-Aug-2022 Matt Spinler <spinler@us.ibm.com>

control: Display locked targets in debug dump

The override_fan_target action can lock individual fan targets to a
value that is different than the zone target that the rest of the fans
are set to.

control: Display locked targets in debug dump

The override_fan_target action can lock individual fan targets to a
value that is different than the zone target that the rest of the fans
are set to.

This change adds those locked target values to the 'zones' section of
the debug dump:

"target_locks": {
"fan0": [
11300
],
"fan3": [
11300
]
}

And when there are no locks:

"target_locks": {}

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I2c4cfa317028db8843d361e79b270d612aacdd87

show more ...


# a917e69a 13-Apr-2022 Matt Spinler <spinler@us.ibm.com>

control: Log target changes in flight recorder

With this there will be a history of how the fans were changing over
time. There's a 20 entry limit in the flight recorder so it will always
just show

control: Log target changes in flight recorder

With this there will be a history of how the fans were changing over
time. There's a 20 entry limit in the flight recorder so it will always
just show the 20 latest target changes.

Example:
zone-set-target0: Set target 10500 (from 11300)"

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I93b55eea5ef288bc069eb6c29a15770165067848

show more ...


# dc3152d3 16-Mar-2022 Matthew Barth <msbarth@us.ibm.com>

control:zone: Override floor to current ceiling

When a requested floor is above the currently set ceiling, override the
requested floor value with the current ceiling value. This ensures that
a floo

control:zone: Override floor to current ceiling

When a requested floor is above the currently set ceiling, override the
requested floor value with the current ceiling value. This ensures that
a floor is never above a set ceiling. If a floor is intended to be
higher than a current ceiling, then fan control must be configured to
change the ceiling value prior to the requested floor change being made.

Change-Id: I59daf32140d94a05a32652c4502b4a4ed5cb3fca
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>

show more ...


# 762e858b 07-Oct-2021 Mike Capps <mikepcapps@gmail.com>

control: action to override a single fan in a zone - Lock fan in Zone

The override Action can only reference fans by name. Thus, Zone is
modified to apply a target lock to a specific fan given by na

control: action to override a single fan in a zone - Lock fan in Zone

The override Action can only reference fans by name. Thus, Zone is
modified to apply a target lock to a specific fan given by name.
Additionally, the unlock method must pass the target value to allow
support for concurrent locks.

Signed-off-by: Mike Capps <mikepcapps@gmail.com>
Change-Id: Ic2ea81f318fb2c866198a4b24e38cc679147afc5

show more ...


# 98671610 09-Dec-2021 Matt Spinler <spinler@us.ibm.com>

control: Log target holds in flight recorder

Log when the holds are added and removed, and when it forces fan
changes.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: Id370f977e1b587bf2

control: Log target holds in flight recorder

Log when the holds are added and removed, and when it forces fan
changes.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: Id370f977e1b587bf23fc22b946ad8d9004dd1474

show more ...


# 077448a9 02-Dec-2021 Matthew Barth <msbarth@us.ibm.com>

control: Add zone ceiling to debug dump

Change-Id: I5e6e4b3de97a32aae0a21b7a201ec67f7b99239e
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>


# 40554d8c 26-Oct-2021 Matt Spinler <spinler@us.ibm.com>

control: Add setFloorHold to Zone

Similar to the existing Zone::setTargetHold function, setFloorHold
allows an action to set a floor and hold it, meaning the fans are not
allowed to decrease to a va

control: Add setFloorHold to Zone

Similar to the existing Zone::setTargetHold function, setFloorHold
allows an action to set a floor and hold it, meaning the fans are not
allowed to decrease to a value below that floor until the hold is
released. Adding this allows multiple actions to set the floor, without
worrying if one is overwriting another.

It also adds some flight recorder entries with the ID zone-floorX when
floor holds are added and removed. An example of that output is:

zone-floor0: count_state_floor-1 is setting floor hold to 7777
zone-floor0: Setting new floor to 7777
zone-floor0: mapped_floor-0 is setting floor hold to 10700
zone-floor0: Setting new floor to 10700
zone-floor0: count_state_floor-1 is removing floor hold

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I1756494e61ada60d44e58704431fb882ef7646a4

show more ...


# 9db6dd1d 29-Oct-2021 Matt Spinler <spinler@us.ibm.com>

control: Store zone data in the dump

Store the Zone class's attributes in the debug dump.

"zones": {
"0": {
"active": true,
"decrease_allowed": {},
"

control: Store zone data in the dump

Store the Zone class's attributes in the debug dump.

"zones": {
"0": {
"active": true,
"decrease_allowed": {},
"decrease_delta": 0,
"decrease_interval": 30,
"default_ceiling": 11200,
"default_floor": 8000,
"floor": 8000,
"floor_change": {},
"holds": {},
"increase_delay": 5,
"increase_delta": 0,
"persisted_props": {},
"power_on_target": 11200,
"requested_target_base": 0,
"target": 11200
}
}

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I9e84f95f892b1cb549b0c988e0f79e8bb5d659c2

show more ...


# 5894cd1e 23-Sep-2021 Matthew Barth <msbarth@us.ibm.com>

control: Remove deprecated `setActiveAllow` method

With the enhanced `setTargetHold` method addition, `setActiveAllow`
should no longer be used in favor of utilizing the `setTargetHold`
method for h

control: Remove deprecated `setActiveAllow` method

With the enhanced `setTargetHold` method addition, `setActiveAllow`
should no longer be used in favor of utilizing the `setTargetHold`
method for holding a zone at a given target.

Change-Id: I52c95c018e3a08e73ef294cf625940db1fcef6d8
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>

show more ...


# 5368011e 23-Sep-2021 Matthew Barth <msbarth@us.ibm.com>

control: Associate identifier with target holds

Create a zone method that associates a unique identifier to a target
hold so that if more than one hold exists, the highest target is always
used betw

control: Associate identifier with target holds

Create a zone method that associates a unique identifier to a target
hold so that if more than one hold exists, the highest target is always
used between all actions that could have set a target hold on the zone.

Change-Id: I7699769a2e271c8a63a0a0a05aef6b0888ce180a
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>

show more ...


# 65d07507 30-Aug-2021 Matthew Barth <msbarth@us.ibm.com>

control: Remove setting target = poweron target at startup

After constructing the zone objects, the fan objects are created with
their current target set to what's on dbus. This is then read and set

control: Remove setting target = poweron target at startup

After constructing the zone objects, the fan objects are created with
their current target set to what's on dbus. This is then read and set on
the zone as the fan(s) are added to their configured zone. Setting the
target to the configured poweron target of the zone should not be done
by default to ensure the zone is set to whatever the target is of its
contained fan(s).

Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
Change-Id: I13bb83e6c06c4220e56c5574ee26c607074c261a

show more ...


# 12e888fb 20-Aug-2021 Matthew Barth <msbarth@us.ibm.com>

control: Use `poweron_target` in place of `full_speed`

The use of `full_speed` as a zone configuration attribute is removed in
favor of `poweron_target`.

Change-Id: I1edb03f2c738105479d1ddf1236880a

control: Use `poweron_target` in place of `full_speed`

The use of `full_speed` as a zone configuration attribute is removed in
favor of `poweron_target`.

Change-Id: I1edb03f2c738105479d1ddf1236880aa28e667f3
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>

show more ...


# 5a2b5017 22-Jul-2021 Matt Spinler <spinler@us.ibm.com>

control: Remove target check in Zone::setTarget

In Zone::setTarget that sets fan targets, remove the check that exits
out if the new target value equals the previous target (_target) value.

Do this

control: Remove target check in Zone::setTarget

In Zone::setTarget that sets fan targets, remove the check that exits
out if the new target value equals the previous target (_target) value.

Do this because:

1) _target gets set to the power on speed in the constructor but doesn't
set fan speeds then. When the power turns on is when the code
acutally sets the fans to that value, which was then not doing
anything because the target was already the _target value.

2) The fan objects also check if the new requested speed matched their
previous one, so that check would also catch a duplicate speed
change.

Tested:
Verify the fan speeds were being written on a power on.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I1db60d9ea3a2e3ba04fc32e024da6c21e722b828

show more ...


# 2504c77c 27-May-2021 Matthew Barth <msbarth@us.ibm.com>

control: Make decrease interval optional

The `decrease_interval` configuration attribute should be optional where
it defaults to 0 when not given. A decrease interval of 0 disables the
decrease time

control: Make decrease interval optional

The `decrease_interval` configuration attribute should be optional where
it defaults to 0 when not given. A decrease interval of 0 disables the
decrease timer.

Change-Id: Ie88d94edb286870c7b8965a4ee778c89c08cc00e
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>

show more ...


# ab8e4b82 27-May-2021 Matthew Barth <msbarth@us.ibm.com>

control: Introduce `poweron_target` configuration attribute

Use a required `poweron_target` attribute to eventually replace
`full_speed` instead of using `default_ceiling`. This allows a different
t

control: Introduce `poweron_target` configuration attribute

Use a required `poweron_target` attribute to eventually replace
`full_speed` instead of using `default_ceiling`. This allows a different
target other than the default ceiling to be used at poweron. In
addition, the `default_ceiling` and `default_floor` attributes can be
made optional. A user that just wants to set fans to a speed and not
change them does not need to provide a default ceiling or floor. The
default ceiling will now default to the poweron target value, if not
given, and the default floor will now default to 0 when not given.

Change-Id: I232935c00c34086ebb286adc4f9b91f5e302e64f
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>

show more ...


# bc89a8a0 25-May-2021 Matthew Barth <msbarth@us.ibm.com>

control: Manage zones' dbus interfaces with a DBusZone object

Switch to using a DBusZone object to manage the dbus interfaces
configured on a zone. This allows the Zone objects' JSON configuration
t

control: Manage zones' dbus interfaces with a DBusZone object

Switch to using a DBusZone object to manage the dbus interfaces
configured on a zone. This allows the Zone objects' JSON configuration
to be reloaded using SIGHUP by separating the Zone object from its
associated dbus object.

Change-Id: I89e35282f96bfecffca8066682fb9f3506bfffa0
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>

show more ...


# 279183fe 25-May-2021 Matthew Barth <msbarth@us.ibm.com>

control: DBusZone object for dbus objects

Create a DBusZone object to handle zones configured to provide the
ThermalMode dbus interface on dbus. Each zone will have an instance of
this object when c

control: DBusZone object for dbus objects

Create a DBusZone object to handle zones configured to provide the
ThermalMode dbus interface on dbus. Each zone will have an instance of
this object when configured to provide the ThermalMode interface instead
of the zone object doing this directly. This was done to handle SIGHUP
signals that would reload the zone configuration which may or may not
affect what interfaces are put on dbus for each zone object.

Change-Id: I3e78c6d53a9690b9297c71ea3e0852d7d7b01746
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>

show more ...


# 14303a45 21-May-2021 Matthew Barth <msbarth@us.ibm.com>

control: Separate zone creation from enabling

Separate a zone object being created from its JSON configuration and
when the zone is enabled and active. This will allow support of the use
of SIGHUP t

control: Separate zone creation from enabling

Separate a zone object being created from its JSON configuration and
when the zone is enabled and active. This will allow support of the use
of SIGHUP to reload the zone configuration since the zones JSON
configuration must successfully be loaded before the newly created zones
can be enabled in place of the currently enabled zones.

Change-Id: Iea6fd632898d94f3702d2b00e2ddb7f771af9168
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>

show more ...


# 50219f50 18-May-2021 Matthew Barth <msbarth@us.ibm.com>

control: Handle `Current` property changing

It appears there's no longer a need to handle objects owned by fan
control that it may also be subscribed to for propertiesChanged signals.
This may be du

control: Handle `Current` property changing

It appears there's no longer a need to handle objects owned by fan
control that it may also be subscribed to for propertiesChanged signals.
This may be due to updates in sdbusplus's async capabilities, but in
case these signals begin to get dropped to the fan control service, an
issue was created to re-test the handling of the `Current` thermal mode
property changing (https://github.com/ibm-openbmc/dev/issues/3195)

This commit adds a `TODO` note along with some minor changes to updating
the value of the `Current` property.

Change-Id: Id26d80566318327982ac8c72406803e55059d9b8
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>

show more ...


# 5606ec86 17-May-2021 Matthew Barth <msbarth@us.ibm.com>

control: Support switch to 'default_ceiling'

To remove the term `speed`, the 'full_speed' zone configuration
attribute will be replaced with the use of 'default_ceiling'. Currently
need to support b

control: Support switch to 'default_ceiling'

To remove the term `speed`, the 'full_speed' zone configuration
attribute will be replaced with the use of 'default_ceiling'. Currently
need to support both until the upstream configs are updated to
'default_ceiling' and merged.

Change-Id: I2aaee1183e25b4b57969762bb978a1b127a732c0
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>

show more ...


12