History log of /openbmc/phosphor-pid-control/ (Results 1 – 25 of 373)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
fc97b5cd24-Jan-2025 Patrick Williams <patrick@stwcx.xyz>

OWNERS: adjust Ed's email

Email in OWNERS file does not match the one used as the primary
email in Gerrit, so OWNERS plugin doesn't trigger adding Ed
as a reviewer. Adjust to match.

Signed-off-by:

OWNERS: adjust Ed's email

Email in OWNERS file does not match the one used as the primary
email in Gerrit, so OWNERS plugin doesn't trigger adding Ed
as a reviewer. Adjust to match.

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I86fb75689094184214d5c206c5155615cd421f49

show more ...

6df8bb5027-Nov-2024 James Zheng <alphetis@google.com>

Add failsafe logger for zones

Tested:
...
Nov 23 21:40:06 tmddp10-nfd01.prod.google.com swampd[4893]:
Zone `0` is in failsafe mode.
With update at `fleeting0`: The sensor has bad readings.
Nov 23 21

Add failsafe logger for zones

Tested:
...
Nov 23 21:40:06 tmddp10-nfd01.prod.google.com swampd[4893]:
Zone `0` is in failsafe mode.
With update at `fleeting0`: The sensor has bad readings.
Nov 23 21:40:06 tmddp10-nfd01.prod.google.com swampd[4893]:
Zone `1` is in failsafe mode.
With update at `fleeting1`: The sensor has bad readings.
Nov 23 21:40:06 tmddp10-nfd01.prod.google.com swampd[4893]:
Zone `1` leaves failsafe mode.
With update at `hotswap_in_Input_Power`: The sensor has recovered.
Nov 23 21:40:06 tmddp10-nfd01.prod.google.com swampd[4893]:
Zone `0` leaves failsafe mode.
With update at `hotswap_in_Input_Power`: The sensor has recovered.
...

Change-Id: I2c296addb7ad117c03c04a27de91204796cda036
Signed-off-by: James Zheng <alphetis@google.com>

show more ...

350343fd18-Dec-2024 Patrick Williams <patrick@stwcx.xyz>

clang-format: re-format for clang-19

clang-format-19 isn't compatible with the clang-format-18 output, so we
need to reformat the code with the latest version. A few parameters
in clang-tidy have b

clang-format: re-format for clang-19

clang-format-19 isn't compatible with the clang-format-18 output, so we
need to reformat the code with the latest version. A few parameters
in clang-tidy have been deprecated, so adjust the style file
accordingly.

See Ie2f6eb3b043f2d655c9df806815afd7971fd0947 for updated style.
See I88192b41ab7a95599a90915013579608af7bc56f for clang-19 enablement.

Change-Id: Ibd74a3fdc6d3740d6a1c0df2e43e1c56f5c43c0e
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...

60badc1118-Dec-2024 Patrick Williams <patrick@stwcx.xyz>

OWNERS: adjust Josh's email

Email in OWNERS file does not match the one used as the primary
email in Gerrit, so OWNERS plugin doesn't trigger adding Josh
as a reviewer. Adjust to match.

Signed-off

OWNERS: adjust Josh's email

Email in OWNERS file does not match the one used as the primary
email in Gerrit, so OWNERS plugin doesn't trigger adding Josh
as a reviewer. Adjust to match.

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I53307ef821b0141333267f1ad52b989e4f485efd

show more ...

7dc8010d05-Dec-2024 Jayanth Othayoth <ojayanth@gmail.com>

clang-tidy: Initial commit

The clang-tidy configuration file has been initialized with all
recommended C++ category checks. These category checks are currently
disabled, except for one, which has be

clang-tidy: Initial commit

The clang-tidy configuration file has been initialized with all
recommended C++ category checks. These category checks are currently
disabled, except for one, which has been enabled for initial
validation. This strategy allows developers to progressively
enable the necessary checks over time.

Tested: verified build.

Change-Id: I1ad81dd9360b02b1c74f47e7f288f79eea111427
Signed-off-by: Jayanth Othayoth <ojayanth@gmail.com>

show more ...

326cd76208-Dec-2024 Jayanth Othayoth <ojayanth@gmail.com>

clang-tidy: Add Tag Names to Anonymous Structs

The following errors were reported during clang-tidy enablement due to
anonymous non-C-compatible types being given names for linkage purposes
by typed

clang-tidy: Add Tag Names to Anonymous Structs

The following errors were reported during clang-tidy enablement due to
anonymous non-C-compatible types being given names for linkage purposes
by typedef declarations. This fix addresses the issue by adding tag
names to the anonymous structs, making them compatible with C.

'''
pid/ec/pid.hpp:20:15: error: anonymous non-C-compatible type given name for linkage purposes by typedef declaration; add a tag name here [-Werror
pid/ec/pid.hpp:11:15: error: anonymous non-C-compatible type given name for linkage purposes by typedef declaration; add a tag name here [-Werror
'''

Tested: Build and unit testing verified.

Change-Id: I1a998d23b515f2ff570867935cc1a6c8b040f4b1
Signed-off-by: Jayanth Othayoth <ojayanth@gmail.com>

show more ...

9bfba13808-Dec-2024 Jayanth Othayoth <ojayanth@gmail.com>

clang-tidy: Suppress Unused Private Field Warning

The following error was reported during clang-tidy enablement due to
the private field _bus not being used within the DbusActiveRead class.
This fix

clang-tidy: Suppress Unused Private Field Warning

The following error was reported during clang-tidy enablement due to
the private field _bus not being used within the DbusActiveRead class.
This fix addresses the issue by marking the _bus field as
[[maybe_unused]], indicating that it might be intentionally unused.

'''
./dbus/dbusactiveread.hpp:32:23: error: private field '_bus' is not used [-Werror
'''

Tested: Build and unit testing verified.

Change-Id: I608e632c60bb33fa18a122e82744e1a57279af35
Signed-off-by: Jayanth Othayoth <ojayanth@gmail.com>

show more ...

2922eebe08-Dec-2024 Jayanth Othayoth <ojayanth@gmail.com>

clang-tidy: Fix Move Prevents Copy Elision

The following errors were reported during clang-tidy enablement due
to moving temporary objects, which prevents copy elision. This fix
addresses the issue

clang-tidy: Fix Move Prevents Copy Elision

The following errors were reported during clang-tidy enablement due
to moving temporary objects, which prevents copy elision. This fix
addresses the issue by removing unnecessary std::move calls call,
allowing the compiler to optimize the code through copy elision,
resolving the error.

'''
test/dbus_passive_unittest.cpp:613:18: error: moving a temporary object prevents copy elision [-Werror
test/dbus_passive_unittest.cpp:71:18: error: moving a temporary object prevents copy elision [-Werror
test/dbus_passive_unittest.cpp:833:18: error: moving a temporary object prevents copy elision [-Werror
test/dbus_passive_unittest.cpp:877:18: error: moving a temporary object prevents copy elision [-Werror
dbus/dbuspassiveredundancy.cpp:52:11: error: moving a temporary object prevents copy elision [-Werror
'''

Tested: Build and unit tests passed successfully.

Change-Id: I320f048807085c3bbac0171a28c8505474aaf24a
Signed-off-by: Jayanth Othayoth <ojayanth@gmail.com>

show more ...

7f1253cd08-Dec-2024 Jayanth Othayoth <ojayanth@gmail.com>

clang-tidy: Fix Unused Variable Warnings

The following errors were reported during clang-tidy enablement due
to multiple unused variables.

'''
ipmi/dbus_mode.cpp:37:23: error: unused variable 'fail

clang-tidy: Fix Unused Variable Warnings

The following errors were reported during clang-tidy enablement due
to multiple unused variables.

'''
ipmi/dbus_mode.cpp:37:23: error: unused variable 'failsafeProperty' [-Werror
ipmi/dbus_mode.cpp:36:23: error: unused variable 'manualProperty' [-Werror
'''

This fix removes the unused variables to resolve the warnings.

Tested: Build and unit testing verified.

Change-Id: I3abf76b57b939df5cbeb4c71b7063705fe0ff3a8
Signed-off-by: Jayanth Othayoth <ojayanth@gmail.com>

show more ...

951aff4c05-Aug-2024 George Liu <liuxiwei@ieisystem.com>

Fix MD056 warnings

The following warnings are generated by using markdownlint analysis:
```
ipmi.md:41:23 MD056/table-column-count Table column count [Expected: 3; Actual: 2; Too few cells, row will

Fix MD056 warnings

The following warnings are generated by using markdownlint analysis:
```
ipmi.md:41:23 MD056/table-column-count Table column count [Expected: 3; Actual: 2; Too few cells, row will be missing data]
ipmi.md:67:23 MD056/table-column-count Table column count [Expected: 3; Actual: 2; Too few cells, row will be missing data]
```

Signed-off-by: George Liu <liuxiwei@ieisystem.com>
Change-Id: I98ce5491c734793a32c4849b5282b9b6e3a4092c

show more ...

20d3904a05-Aug-2024 George Liu <liuxiwei@ieisystem.com>

Fix MD030 warnings

The following warnings are generated by using markdownlint analysis:
```
tuning.md:68:1 MD030/list-marker-space Spaces after list markers [Expected: 1; Actual: 2]
tuning.md:69:1 M

Fix MD030 warnings

The following warnings are generated by using markdownlint analysis:
```
tuning.md:68:1 MD030/list-marker-space Spaces after list markers [Expected: 1; Actual: 2]
tuning.md:69:1 MD030/list-marker-space Spaces after list markers [Expected: 1; Actual: 2]
tuning.md:72:1 MD030/list-marker-space Spaces after list markers [Expected: 1; Actual: 2]
tuning.md:74:1 MD030/list-marker-space Spaces after list markers [Expected: 1; Actual: 2]
tuning.md:75:1 MD030/list-marker-space Spaces after list markers [Expected: 1; Actual: 2]
tuning.md:76:1 MD030/list-marker-space Spaces after list markers [Expected: 1; Actual: 2]
```
Refer to markdown-lint [1] to fix MD030
[1]: https://github.com/updownpress/markdown-lint/blob/master/rules/030-list-marker-space.md

Signed-off-by: George Liu <liuxiwei@ieisystem.com>
Change-Id: I6a44ef257f7786dbe6b6875ef3b83559360dc1ee

show more ...

608b939105-Aug-2024 George Liu <liuxiwei@ieisystem.com>

Fix MD040 warnings

The following warnings are generated by using markdownlint analysis:
```
MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
```
Refer

Fix MD040 warnings

The following warnings are generated by using markdownlint analysis:
```
MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
```
Refer to markdown-lint [1] to fix MD040
[1]: https://github.com/updownpress/markdown-lint/blob/master/rules/040-fenced-code-language.md

Signed-off-by: George Liu <liuxiwei@ieisystem.com>
Change-Id: I3106563ab231739d23314fc11de30082e959b87e

show more ...

92f9f3c806-Nov-2023 Harvey Wu <Harvey.Wu@quantatw.com>

Auto determine failsafe duty according sensor fail

- Auto determine the failsafe duty when sensor failed

example:
If PID config as follows, when "Die CPU0" sensor failed, fans in zone 0
will be set

Auto determine failsafe duty according sensor fail

- Auto determine the failsafe duty when sensor failed

example:
If PID config as follows, when "Die CPU0" sensor failed, fans in zone 0
will be set to 80%, when "DIMM0" sensor failed, since there is no
"FailSafePercent" setting in config, so set to zone's FailSafePercent
100%.
```
{
"Class": "temp",
...
...
...
"Inputs": [
"Die CPU0"
],
"Name": "CPU0 PID",
"FailSafePercent": 80.0,
...
...
...
"Type": "Pid",
"Zones": [
"Zone 0"
]
},
{
"Class": "temp",
...
...
...
"Inputs": [
"DIMM[0-9]",
"DIMM1[0-5]"
],
"Name": "DIMM CPU0 PID",
...
...
...
"Type": "Pid",
"Zones": [
"Zone 0"
]
},
{
"FailSafePercent": 100.0,
"MinThermalOutput": 0.0,
"Name": "Zone 0",
"Type": "Pid.Zone",
"ZoneIndex": 0
},
```

Tested:
If zone1 and zone2 into failsafe duty 40% =>
fan0_pwm | 1Dh | ok | 29.0 | 24.70 unspecifi
fan1_pwm | 1Eh | ok | 29.1 | 24.70 unspecifi
fan2_pwm | 1Fh | ok | 29.2 | 39.98 unspecifi
fan3_pwm | 20h | ok | 29.3 | 39.98 unspecifi
fan4_pwm | 21h | ok | 29.4 | 39.98 unspecifi
fan5_pwm | 22h | ok | 29.5 | 39.98 unspecifi

cpu0_nbm | 48h | ok | 7.79 | 36 degrees C

Let cpu0_nbm(zone0 and zone2) into failsafe which set failsafe duty as
100% =>
fan0_pwm | 1Dh | ok | 29.0 | 99.96 unspecifi
fan1_pwm | 1Eh | ok | 29.1 | 99.96 unspecifi
fan2_pwm | 1Fh | ok | 29.2 | 39.98 unspecifi
fan3_pwm | 20h | ok | 29.3 | 39.98 unspecifi
fan4_pwm | 21h | ok | 29.4 | 99.96 unspecifi
fan5_pwm | 22h | ok | 29.5 | 99.96 unspecifi

cpu0_nbm | 48h | ns | 7.79 | No Reading

Signed-off-by: Harvey Wu <Harvey.Wu@quantatw.com>
Change-Id: Iaf5ffd1853e5cd110a1ef66c7a1fd073bc894dda

show more ...

1b3b730404-Oct-2024 Harvey Wu <Harvey.Wu@quantatw.com>

fix CI failed

- Refs about removing add_object_vtable:
https://gerrit.openbmc.org/c/openbmc/phosphor-hwmon/+/73009

- initial some struct data

Signed-off-by: Harvey Wu <Harvey.Wu@quantatw.com>
Chan

fix CI failed

- Refs about removing add_object_vtable:
https://gerrit.openbmc.org/c/openbmc/phosphor-hwmon/+/73009

- initial some struct data

Signed-off-by: Harvey Wu <Harvey.Wu@quantatw.com>
Change-Id: Iacc62eb1b8cd2b1e092efdbcb3abafb8afb896c7

show more ...

bd63bcac16-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: I0f105c3310e87172c65a09a8787a2db5a4041cc0
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...

5d897e2a04-Jun-2024 Delphine CC Chiu <Delphine_CC_Chiu@wiwynn.com>

Modified the naming to get the value of checkhysterwithsetpt

Modified the naming to get the value of checkhysterwithsetpt in dbus
configuration and json configuration.

Change-Id: Ic9cc6a6bfd0da69ac

Modified the naming to get the value of checkhysterwithsetpt

Modified the naming to get the value of checkhysterwithsetpt in dbus
configuration and json configuration.

Change-Id: Ic9cc6a6bfd0da69acc1638ca7ebd6712211e2984
Signed-off-by: Delphine CC Chiu <Delphine_CC_Chiu@wiwynn.com>

show more ...

af97d8ef02-Jan-2024 Jonico Eustaquio <jonico.eustaquio@fii-na.com>

Add UNC crossing option for FailSafe condition

Added a unc-failsafe meson option that if set to true, would then check
if any temperature sensor PIDs exceed their upper non-critical
threshold. If a

Add UNC crossing option for FailSafe condition

Added a unc-failsafe meson option that if set to true, would then check
if any temperature sensor PIDs exceed their upper non-critical
threshold. If a sensor is detected to have exceeded their UNC, then the
zone associated with that PID would go to FailSafe.

By default, this option will be set to false for backwards
compatibility.

Change-Id: I2fbc6000e8d37b34c51d3578becdaf18d449b0e8
Signed-off-by: Jonico Eustaquio <jonico.eustaquio@fii-na.com>

show more ...

8dc277cc25-Apr-2024 Konstantin Aladyshev <aladyshev22@gmail.com>

meson: Enable link time optimization

Currently local boost subproject compilation fails with a message:
"""
../subprojects/boost-1.84.0/libs/container/src/dlmalloc_ext_2_8_6.c:
1085:41: error: itera

meson: Enable link time optimization

Currently local boost subproject compilation fails with a message:
"""
../subprojects/boost-1.84.0/libs/container/src/dlmalloc_ext_2_8_6.c:
1085:41: error: iteration 2305843009213693951 invokes undefined
behavior [-Werror=aggressive-loop-optimizations]
1085 | size = request2size(sizes[i]*element_size);

...

cc1: all warnings being treated as errors
"""
To solve the issue enable link time optimization.

Tested:
"meson setup build && cd build && meson compile" finishes successfully.

Change-Id: I6a146c5067d4d9eda163b18f9307b8b36eaedac5
Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>

show more ...

a7bbd45827-Feb-2024 Zhikui Ren <zhikui.ren@intel.com>

remove duplicated header include

This change fixes ci build error.

Change-Id: I613e90f107146bf35d34d72d4a8e78054176a582
Signed-off-by: Zhikui Ren <zhikui.ren@intel.com>

9f1532dd21-Dec-2023 Jonico Eustaquio <jonico.eustaquio@fii-na.com>

Include config.h for strict-failsafe-pwm option

The strict-failsafe-pwm meson option definition was not be seeing by
the #ifdefs since the config.h that meson creates that defines the
option is not

Include config.h for strict-failsafe-pwm option

The strict-failsafe-pwm meson option definition was not be seeing by
the #ifdefs since the config.h that meson creates that defines the
option is not included. The strict-failsafe-pwm option can now be
enabled by adding EXTRA_OEMESON:append = " -Dstrict-failsafe-pwm=true"
to the bbappend.

Change-Id: Ic4047bcd0e4599d14ab84744ffe22d23faa994dd
Signed-off-by: Jonico Eustaquio <jonico.eustaquio@fii-na.com>

show more ...

7e63502a13-Oct-2023 Patrick Rudolph <patrick.rudolph@9elements.com>

pid/fancontroller: Set failsafe PWM in destructor

Introduce a new feature that's guarded by a new meson option
'offline-failsafe-pwm':

After the FanController object was destroyed it can no longer

pid/fancontroller: Set failsafe PWM in destructor

Introduce a new feature that's guarded by a new meson option
'offline-failsafe-pwm':

After the FanController object was destroyed it can no longer regulate
the fans. To prevent system failure set all fans to the FailSafePercent
defined in the configuration.

In addition to rebuilding configuration it also allows to keep the fans
in FailSafe mode as long as the phosphor-pid-control.service is stopped
or the system reboots. However this change doesn't cover the case of
a program crash where the destructor won't be executed. Abnormal program
termination must be handled by systemd and it out of scope of this
change.

Tested: 'systemctl stop phosphor-pid-control.service' and see the fans
ramp up to FailSafePercent.

Change-Id: I81262b07fd4c1212efc1a4ba4635bde8bc7b5215
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>

show more ...

c7b2be3913-Oct-2023 Patrick Rudolph <patrick.rudolph@9elements.com>

main: Gracefully handle SIGTERM

When systemd stops phosphor-pid-control.service it sends a SIGTERM.
Catch SIGTERM in the existing boost signal handler and stop the all
control loops to make sure the

main: Gracefully handle SIGTERM

When systemd stops phosphor-pid-control.service it sends a SIGTERM.
Catch SIGTERM in the existing boost signal handler and stop the all
control loops to make sure the destructor is called in each of them.

This functionality will be used in the following commit.

Tested: systemctl stop phosphor-pid-control.service and see dtor
being invoked before process terminates.

Change-Id: I5b1fe8f9191d703351b96e7ae19348f7ccab03d4
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>

show more ...

9366089a13-Oct-2023 Patrick Rudolph <patrick.rudolph@9elements.com>

fancontroller: Add missing config.h

Include config.h to satisfy #ifdef used in those files.

Change-Id: I0f6a3aa750abdf7b7c263d05f0551ee481b98d51
Signed-off-by: Patrick Rudolph <patrick.rudolph@9ele

fancontroller: Add missing config.h

Include config.h to satisfy #ifdef used in those files.

Change-Id: I0f6a3aa750abdf7b7c263d05f0551ee481b98d51
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>

show more ...

9788963c05-Nov-2023 Delphine CC Chiu <Delphine_CC_Chiu@wiwynn.com>

Support to accumulate PWM of different controllers for same sensor

Description:
1. Add one property: accumulateSetPoint in zone of fan table that could
be used to enable accumulation of output PW

Support to accumulate PWM of different controllers for same sensor

Description:
1. Add one property: accumulateSetPoint in zone of fan table that could
be used to enable accumulation of output PWM of different controllers
with same sensor.

2. Add one property: checkHysterWithSetpt in pid info of fan table to
select to compare current input and setpoint to check hysteresis.

3. The purpose of accumulate the stepwise output and PID output for
one sensor is that the setting of stepwise could use to prevent
the fan speed from suddenly increasing from a very low speed to a
very high speed due to reaching the setpoint.

Use stepwise before setpoint could also keep the PWM steady at
low ambient temperature.

Design:
1. Search "accumulateSetPoint" field in fan table.
If the value was true, accumulate the output PWM of different
controllers with same profile name.

2. Support two method to calculate PID output that could be chosen by
setting the "checkHysterWithSetpt" to true in pid info of fan table.

If the flag was set to true, it won't calculate PWM output if the
input lower than setpoint.

Test Case:
1. Check the output PWM of different controllers with same profile
name could be accumulated - pass.

2. Set "checkHysterWithSetpt" to true and check PID output would not be
calculated if the input temperature was lower than setpoint - pass.

Please see more details in gist:
https://gist.github.com/DelphineCCChiu/a6170d3e1a12fc4ee76fad324382fba3

Change-Id: I9f38f250d72545784c6c11be2fde7d45f0b385c4
Signed-off-by: Delphine CC Chiu <Delphine_CC_Chiu@wiwynn.com>

show more ...

df59765719-Dec-2023 Josh Lehan <krellan@google.com>

Changing wording of failsafe transition messages

Cleaning up and unifying the logic around displaying diagnostic
messages when failsafe transitions happen, so that the true case and
the false case r

Changing wording of failsafe transition messages

Cleaning up and unifying the logic around displaying diagnostic
messages when failsafe transitions happen, so that the true case and
the false case run the same code path. This makes the messaging more
standard and coherent from the user point of view.

This will cause one additional logging message to appear during
startup. This is intentional: when the process is started up, this
counts as a state transition that is worth logging about, as it goes
from uncontrolled state (essentially manual mode) to either failsafe
mode or normal mode.

Tested: Installed and observed messages logged during startup

Change-Id: Ib80cc342611a78199410564f76a2c65b590ef511
Signed-off-by: Josh Lehan <krellan@google.com>

show more ...

12345678910>>...15