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