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


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


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


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


# 9d76388d 30-Jun-2021 Matthew Barth <msbarth@us.ibm.com>

control: Ability to set default floor on zone

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


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

control: Set fans to `poweron_target` at poweron

Utilize the PowerState object to subscribe to power state changes so
fans can be set to their configured `poweron_target` values when the
system is p

control: Set fans to `poweron_target` at poweron

Utilize the PowerState object to subscribe to power state changes so
fans can be set to their configured `poweron_target` values when the
system is powered on. When a system is powered off, by design, nothing
is done to the fan speeds, that is left up to the configuration of
events to change the fans when a system is powered off, if desired.
Also, for any reason that fan control is restarted when the system is
already powered on, it will not change the fan targets to the
`poweron_target` value. Fan control will pick up on controlling the
configured fans from their current target.

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

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


# 9403a217 17-May-2021 Matthew Barth <msbarth@us.ibm.com>

control: Switch to using static instance of bus

Update main to use the static reference of the bus from
util::SDBusPlus.getBus() and have each object that needs the bus call
that same util::SDBusPlu

control: Switch to using static instance of bus

Update main to use the static reference of the bus from
util::SDBusPlus.getBus() and have each object that needs the bus call
that same util::SDBusPlus.getBus() function to retrieve the same static
reference.

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

show more ...


# 6f787309 25-Mar-2021 Matthew Barth <msbarth@us.ibm.com>

control: Update zone target on startup

To handle restarting of the fan control service, set the zone's target
to what's initialized on one of the fan's target that's included in the
zone.

Change-Id

control: Update zone target on startup

To handle restarting of the fan control service, set the zone's target
to what's initialized on one of the fan's target that's included in the
zone.

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

show more ...


# a4483746 25-Mar-2021 Matthew Barth <msbarth@us.ibm.com>

control: Restore `Current` property for each zone

Each JSON based zone object restores the persisted state of their
`Current` property when constructed. If no `Current` property value is
found for t

control: Restore `Current` property for each zone

Each JSON based zone object restores the persisted state of their
`Current` property when constructed. If no `Current` property value is
found for the zone, the default of the Control.ThermalMode interface is
used.

After the restore is done on each zone object, the `emit_object_added` for
that zone object can be done.

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

show more ...


# 007de099 25-Mar-2021 Matthew Barth <msbarth@us.ibm.com>

control: Add zone increase & decrease timers

Add the increase and decrease timers to the JSON based zone objects to
handle target increase and decrease on their configured intervals.

Change-Id: I55

control: Add zone increase & decrease timers

Add the increase and decrease timers to the JSON based zone objects to
handle target increase and decrease on their configured intervals.

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

show more ...


# 603ef164 24-Mar-2021 Matthew Barth <msbarth@us.ibm.com>

control: Update config loading

Change the method used to load objects' JSON configuration where a list
of arguments specific to the object's class is given. This allows each
class to be constructed

control: Update config loading

Change the method used to load objects' JSON configuration where a list
of arguments specific to the object's class is given. This allows each
class to be constructed with its specific set of required arguments.
With this change, the zones require a pointer to their manager object
along with a reference to the event loop for their increment and
decrement timers. The manager object stores the cache for all zones,
each zone needs a pointer to its manager to be able to provide access
to that cache.

With the change in how the objects are created from their JSON
configuration files, loading the information into the YAML based
ZoneDefinitions structure is no longer needed.

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

show more ...


# 45c44ea0 03-Mar-2021 Matthew Barth <msbarth@us.ibm.com>

control: Add net target decrease action

Add the YAML based set_net_speed_decrease action function as an action
class for JSON configs to use.

Change-Id: Ibbd784586318dffd795123128f0988faec46ce8f
Si

control: Add net target decrease action

Add the YAML based set_net_speed_decrease action function as an action
class for JSON configs to use.

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

show more ...


# dc776c8f 25-Feb-2021 Matthew Barth <msbarth@us.ibm.com>

control: Add net target increase action

Add the YAML based set_net_speed_increase action function as an action
class for JSON configs to use.

Change-Id: Ia7e5cb8bcdb4bba0ebf356d9dc774ab292f0e8fc
Si

control: Add net target increase action

Add the YAML based set_net_speed_increase action function as an action
class for JSON configs to use.

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

show more ...


# 07fecfc6 29-Jan-2021 Matthew Barth <msbarth@us.ibm.com>

control: Add request target base action

Add the YAML based set_request_speed_base_with_max action function as an
action class for JSON configs to use. This action required to be
enhanced to handle t

control: Add request target base action

Add the YAML based set_request_speed_base_with_max action function as an
action class for JSON configs to use. This action required to be
enhanced to handle the different supported data types of groups that
could be configured in the JSON with this action.

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

show more ...


# 8ba715e1 05-Mar-2021 Matthew Barth <msbarth@us.ibm.com>

control: Add zone setTarget required functions

Copy over the setTarget required functions to the JSON based zone
object. This enables JSON based zone objects to set fan targets based on
actions.

Ch

control: Add zone setTarget required functions

Copy over the setTarget required functions to the JSON based zone
object. This enables JSON based zone objects to set fan targets based on
actions.

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

show more ...


# b584d818 11-Mar-2021 Matthew Barth <msbarth@us.ibm.com>

control: Use JSON zone object's dbus property methods

Return a set property function handler for dbus interfaces/properties
configured in the zone's JSON configuration file. Each interface's
propert

control: Use JSON zone object's dbus property methods

Return a set property function handler for dbus interfaces/properties
configured in the zone's JSON configuration file. Each interface's
property configuration is parsed by a method that returns a set property
function handler that is called providing the pointer to the zone object
that the property should be set on. This completes the separation of the
JSON based binary and YAML based binary of fan control.

Since this is the last thing to finalize the separation of the two ways
to configure fan control, the config base class was updated to remove
the reference to the YAML defined types.

Also, since this change dealt with what is hosted on dbus by the fan
control application, it can now claim the configured bus name after the
JSON based zone objects are created.

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

show more ...


# 75627720 11-Mar-2021 Matthew Barth <msbarth@us.ibm.com>

control: Remove ZoneHandlers from JSON zone object

The ZoneHandlers will not be needed once the properties configured for a
JSON based zone object are parsed and set on the object. This was
somethin

control: Remove ZoneHandlers from JSON zone object

The ZoneHandlers will not be needed once the properties configured for a
JSON based zone object are parsed and set on the object. This was
something needed for YAML based zone objects to correctly configure
interfaces/properties on the zone objects since they came from a YAML
configuration file.

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

show more ...


12