History log of /openbmc/phosphor-pid-control/ (Results 1 – 25 of 418)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
c8ad42ce16-Jan-2026 You-Peng Wu <twpeng50606@gmail.com>

build: allow buildjson directory in gitignore

- Add !buildjson/ as an explicit exception.
- Keep build*/ to avoid collisions with Docker CI scripts.

This follows maintainer feedback to track config

build: allow buildjson directory in gitignore

- Add !buildjson/ as an explicit exception.
- Keep build*/ to avoid collisions with Docker CI scripts.

This follows maintainer feedback to track config files while
ignoring build artifacts.

Tested: Verified 'buildjson' is tracked and 'builddir' is ignored.

Change-Id: Iff8724fc961d585ac6a92d98e4093e5922078fe1
Signed-off-by: You-Peng Wu <twpeng50606@gmail.com>

show more ...

c9b024f516-Dec-2025 Eric Yang <eric.yang.wiwynn@gmail.com>

Extend IgnoreFailIfHostOff to D-Bus configuration

Extend handling of "IgnoreFailIfHostOff" to the D-Bus configuration path
so controllers configured over D-Bus can mark inputs as dependent on
host p

Extend IgnoreFailIfHostOff to D-Bus configuration

Extend handling of "IgnoreFailIfHostOff" to the D-Bus configuration path
so controllers configured over D-Bus can mark inputs as dependent on
host power state.

With this flag, inputs do not trigger failsafe while the host power is
off, and normal failure handling resumes when the host power is on.

Motivation:
The "IgnoreFailIfHostOff" option was previously supported when loading
from the configuration file (config.json) [1].

This change extends the same behavior to configurations delivered over
D-Bus (e.g., via entity-manager), ensuring consistent handling
regardless of source and avoiding unnecessary failsafe during host
power-off while preserving expected behavior when the host power is on.

[1]: https://gerrit.openbmc.org/c/openbmc/phosphor-pid-control/+/83200

Change-Id: I9dca01a462273726b0837cdc92eac1fd3c9048fb
Signed-off-by: Eric Yang <eric.yang.wiwynn@gmail.com>

show more ...

ccb9e72713-Aug-2025 Eric Yang <eric.yang.wiwynn@gmail.com>

dbuspassive: Register signal before property fetch

Change modifies the initialization flow in createDbusPassive.

- Old flow:
createDbusPassive()
|
+-- getProperties from D-Bus
|
+--

dbuspassive: Register signal before property fetch

Change modifies the initialization flow in createDbusPassive.

- Old flow:
createDbusPassive()
|
+-- getProperties from D-Bus
|
+-- create DbusPassive object
|
+-- register signal handler
|
+-- initialize DbusPassive with settings info

- New flow:
createDbusPassive()
|
+-- create DbusPassive object
|
+-- register signal handler
|
+-- getProperties from D-Bus
|
+-- initialize DbusPassive with settings info

Motivation:
For certain sensors, such as CPU/DIMM temperature sensors, there is
only one opportunity during a host power-on for the sensor to
transition from unavailable to available.

With the previous initialization flow, if D-Bus is under heavy load,
fetching sensor properties can take a considerable amount of time.
If this delay occurs, and the properties fetched still show the sensor
as unavailable, there is a risk that during this window, before the
signal handler is registered—the transition signal indicating the
sensor has become available may be missed.

As a result, the sensor may remain in the unavailable state
indefinitely, even though it has already become available on D-Bus.

By registering the signal handler before fetching properties, all
state change signals are reliably captured, ensuring that the sensor's
available status is always consistent with its actual state on D-Bus.

Change-Id: I7b4e3e9749b3d5966a13ff9bc70096ca27e2901a
Signed-off-by: Eric Yang <eric.yang.wiwynn@gmail.com>

show more ...

11a1edcd12-Nov-2025 Alexander Hansen <alexander.hansen@9elements.com>

State.Decorator.*: use PDI constants

Use PDI constants instead of local definitions.

Tested: Unit Tests Pass

Change-Id: Ifacbc1379d6e1fc55709296178e2fb4b04531eeb
Signed-off-by: Alexander Hansen <a

State.Decorator.*: use PDI constants

Use PDI constants instead of local definitions.

Tested: Unit Tests Pass

Change-Id: Ifacbc1379d6e1fc55709296178e2fb4b04531eeb
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>

show more ...

d112f49312-Nov-2025 Alexander Hansen <alexander.hansen@9elements.com>

State.Host: use PDI constants

Use PDI constants instead of local definitions.

Tested: Unit Tests Pass

Change-Id: I0ba7796435d389caa4fdf6c00065a8292e9da52b
Signed-off-by: Alexander Hansen <alexande

State.Host: use PDI constants

Use PDI constants instead of local definitions.

Tested: Unit Tests Pass

Change-Id: I0ba7796435d389caa4fdf6c00065a8292e9da52b
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>

show more ...

eb1a35c512-Nov-2025 Alexander Hansen <alexander.hansen@9elements.com>

Association: use PDI constants

Use PDI constants instead of local definitions

Tested: Unit Tests Pass

Change-Id: Ie9053cd21249b7a6ea78a73ec1c395956b8d17f6
Signed-off-by: Alexander Hansen <alexande

Association: use PDI constants

Use PDI constants instead of local definitions

Tested: Unit Tests Pass

Change-Id: Ie9053cd21249b7a6ea78a73ec1c395956b8d17f6
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>

show more ...

d3e71ced12-Nov-2025 Alexander Hansen <alexander.hansen@9elements.com>

Sensor.Threshold.*: use PDI constants

Use PDI constants instead of local definitions.

Tested: Unit Tests Pass

Change-Id: I2472307d1f4f2d65ad99440243444057c652b85a
Signed-off-by: Alexander Hansen <

Sensor.Threshold.*: use PDI constants

Use PDI constants instead of local definitions.

Tested: Unit Tests Pass

Change-Id: I2472307d1f4f2d65ad99440243444057c652b85a
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>

show more ...

d766543712-Nov-2025 Alexander Hansen <alexander.hansen@9elements.com>

Control.ThermalMode: use PDI constants

Use PDI constants instead of local definitions.

Tested: Unit Tests Pass

Change-Id: Ia78d5696b21652db527184a8b65ccd1af58f34be
Signed-off-by: Alexander Hansen

Control.ThermalMode: use PDI constants

Use PDI constants instead of local definitions.

Tested: Unit Tests Pass

Change-Id: Ia78d5696b21652db527184a8b65ccd1af58f34be
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>

show more ...

ca86bf6f12-Nov-2025 Alexander Hansen <alexander.hansen@9elements.com>

Control.FanRedundancy: use PDI constants

Use PDI constants instead of local definitions.

Tested: Unit Tests Pass

Change-Id: I1c574df1a89c0ef0146036c2747fb04c42af13b9
Signed-off-by: Alexander Hanse

Control.FanRedundancy: use PDI constants

Use PDI constants instead of local definitions.

Tested: Unit Tests Pass

Change-Id: I1c574df1a89c0ef0146036c2747fb04c42af13b9
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>

show more ...

bd2c98e212-Nov-2025 Alexander Hansen <alexander.hansen@9elements.com>

Control.FanPwm: use PDI constants

Use PDI constants instead of local definitions.

Tested: Unit Tests Pass

Change-Id: Iac724d87ddac326d825b843675f314decd6e0de4
Signed-off-by: Alexander Hansen <alex

Control.FanPwm: use PDI constants

Use PDI constants instead of local definitions.

Tested: Unit Tests Pass

Change-Id: Iac724d87ddac326d825b843675f314decd6e0de4
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>

show more ...

0ded2c2d12-Nov-2025 Alexander Hansen <alexander.hansen@9elements.com>

Control.Mode: use PDI constants

Use PDI constants instead of local definitions.

Tested: Unit Tests Pass.

Change-Id: I556e87b2e4784a2653708adc919bdb5c10e9081a
Signed-off-by: Alexander Hansen <alexa

Control.Mode: use PDI constants

Use PDI constants instead of local definitions.

Tested: Unit Tests Pass.

Change-Id: I556e87b2e4784a2653708adc919bdb5c10e9081a
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>

show more ...

dae4a3ab11-Nov-2025 Alexander Hansen <alexander.hansen@9elements.com>

Sensor.Value: use PDI constants

Use PDI constants instead of local definitions.

Tested: Unit Tests Pass

Change-Id: I6b513155afa760da52dc7421eedcfe78ff3a816d
Signed-off-by: Alexander Hansen <alexan

Sensor.Value: use PDI constants

Use PDI constants instead of local definitions.

Tested: Unit Tests Pass

Change-Id: I6b513155afa760da52dc7421eedcfe78ff3a816d
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>

show more ...

35ae0bb528-Oct-2025 Alexander Hansen <alexander.hansen@9elements.com>

test: sensor host: use PDI constants

Use the PDI constants instead of re-defining them here.

Tested: Unit Tests Pass

Change-Id: I99b08fd35bc85a2c66514e7f0f19301151d5fbe7
Signed-off-by: Alexander H

test: sensor host: use PDI constants

Use the PDI constants instead of re-defining them here.

Tested: Unit Tests Pass

Change-Id: I99b08fd35bc85a2c66514e7f0f19301151d5fbe7
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>

show more ...

e907a81428-Oct-2025 Alexander Hansen <alexander.hansen@9elements.com>

test: PID Zone: use PDI constants

Use the PDI constants instead of re-defining them here.

Tested: Unit Tests Pass

Change-Id: I0f6c246675c2bc41698fc8721adc59864fadfd3f
Signed-off-by: Alexander Hans

test: PID Zone: use PDI constants

Use the PDI constants instead of re-defining them here.

Tested: Unit Tests Pass

Change-Id: I0f6c246675c2bc41698fc8721adc59864fadfd3f
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>

show more ...

dc6a050228-Oct-2025 Alexander Hansen <alexander.hansen@9elements.com>

test: DBus util: use PDI constants

Use the PDI constants instead of re-defining them here.

Tested: Unit Tests Pass

Change-Id: Ia8f2dedb02b5ae6bf4700e1d04d2fac8b934bdb4
Signed-off-by: Alexander Han

test: DBus util: use PDI constants

Use the PDI constants instead of re-defining them here.

Tested: Unit Tests Pass

Change-Id: Ia8f2dedb02b5ae6bf4700e1d04d2fac8b934bdb4
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>

show more ...

207730bd28-Oct-2025 Alexander Hansen <alexander.hansen@9elements.com>

test: DBus passive: use PDI constants

Use the PDI constants for interfaces and properties instead of
re-defining them here.

Tested: Unit Tests Pass

Change-Id: Ibf1475d9d5639842e1827baba3e123310fef

test: DBus passive: use PDI constants

Use the PDI constants for interfaces and properties instead of
re-defining them here.

Tested: Unit Tests Pass

Change-Id: Ibf1475d9d5639842e1827baba3e123310fefd0cf
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>

show more ...

1ec3d13527-Oct-2025 Alexander Hansen <alexander.hansen@9elements.com>

DBus: use PDI constants for ObjectMapper

Use the PDI-defined constants for ObjectMapper calls instead of
duplicating them here.

Tested: Inspection only.

Change-Id: I74cb19ff7c23131bb9d69256ae85e1c

DBus: use PDI constants for ObjectMapper

Use the PDI-defined constants for ObjectMapper calls instead of
duplicating them here.

Tested: Inspection only.

Change-Id: I74cb19ff7c23131bb9d69256ae85e1cf98785c99
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>

show more ...

46a755fc27-Oct-2025 Alexander Hansen <alexander.hansen@9elements.com>

Copyright: Move to SPDX-Identifier

Original copyright holders have been preserved, this patch moves the
copyright notice to the compact SPDX notation.

Change-Id: I910cbc8ee0127e380099e1fbb3e3fb7c0a

Copyright: Move to SPDX-Identifier

Original copyright holders have been preserved, this patch moves the
copyright notice to the compact SPDX notation.

Change-Id: I910cbc8ee0127e380099e1fbb3e3fb7c0abd24a9
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>

show more ...

3bfece8b26-Aug-2025 Eric Yang <eric.yang.wiwynn@gmail.com>

dbuspassive: Fail reason for missing D-Bus object

When handle-missing-object-paths is enabled and the expected D-Bus
object path is not exported, the sensor is marked as object-missing and
getFailRe

dbuspassive: Fail reason for missing D-Bus object

When handle-missing-object-paths is enabled and the expected D-Bus
object path is not exported, the sensor is marked as object-missing and
getFailReason() reports "Sensor D-Bus object missing".

Motivation:
Provide clearer diagnostics by distinguishing a missing D-Bus object
from bad readings.

Change-Id: I49d98b27a49c5c6d4f523e7af9fd7c5b80198b73
Signed-off-by: Eric Yang <eric.yang.wiwynn@gmail.com>

show more ...

e1fa859429-Aug-2025 Potin Lai <potin.lai@quantatw.com>

Introduce ignoreFailIfHostOff config setting

Some sensors only provide valid readings when the host is powered on.
This change introduces the `ignoreFailIfHostOff` configuration option to
differenti

Introduce ignoreFailIfHostOff config setting

Some sensors only provide valid readings when the host is powered on.
This change introduces the `ignoreFailIfHostOff` configuration option to
differentiate between unavailable readings based on host state.

- Host OFF: Sensor unavailable is acceptable and will not be treated as
a failure.
- Host ON (running): Sensor unavailable is unexpected, and the failsafe
mode will be triggered.

This ensures that sensors dependent on host power state are handled
correctly without causing unnecessary failsafe triggers during host-off.

Tested on Catalina: failsafe mode is not triggered when the host is off.
- config.json example: add `ignoreFailIfHostOff` for sensors only
available when the host is on.
```
{
"sensors": [
......
{
"name": "HDDBOARD_SSD0_TEMP_C",
"type": "temp",
"readPath": "/xyz/openbmc_project/sensors/temperature/HDDBOARD_SSD0_TEMP_C",
"timeout": 0,
"ignoreFailIfHostOff": true,
"ignoreDbusMinMax": true
},
{
"name": "HDDBOARD_SSD2_TEMP_C",
"type": "temp",
"readPath": "/xyz/openbmc_project/sensors/temperature/HDDBOARD_SSD2_TEMP_C",
"timeout": 0,
"ignoreFailIfHostOff": true,
"ignoreDbusMinMax": true
},
{
"name": "PDB_P48V_HSC1_TEMP_C",
"type": "temp",
"readPath": "/xyz/openbmc_project/sensors/temperature/PDB_P48V_HSC1_TEMP_C",
"timeout": 0,
"ignoreDbusMinMax": true
},
{
"name": "PDB_VR_P12V_N1_TEMP_C",
"type": "temp",
"readPath": "/xyz/openbmc_project/sensors/temperature/PDB_VR_P12V_N1_TEMP_C",
"timeout": 0,
"ignoreFailIfHostOff": true,
"ignoreDbusMinMax": true
},
{
"name": "PDB_VR_P12V_N2_TEMP_C",
"type": "temp",
"readPath": "/xyz/openbmc_project/sensors/temperature/PDB_VR_P12V_N2_TEMP_C",
"timeout": 0,
"ignoreFailIfHostOff": true,
"ignoreDbusMinMax": true
},
{
"name": "IOB0_NIC0_OSFP_TEMP_C",
"type": "temp",
"readPath": "/xyz/openbmc_project/sensors/temperature/IOB0_NIC0_OSFP_TEMP_C",
"timeout": 0,
"ignoreFailIfHostOff": true,
"ignoreDbusMinMax": true
},
{
"name": "IOB0_NIC1_OSFP_TEMP_C",
"type": "temp",
"readPath": "/xyz/openbmc_project/sensors/temperature/IOB0_NIC1_OSFP_TEMP_C",
"timeout": 0,
"ignoreFailIfHostOff": true,
"ignoreDbusMinMax": true
},
{
"name": "IOB1_NIC0_OSFP_TEMP_C",
"type": "temp",
"readPath": "/xyz/openbmc_project/sensors/temperature/IOB1_NIC0_OSFP_TEMP_C",
"timeout": 0,
"ignoreFailIfHostOff": true,
"ignoreDbusMinMax": true
},
{
"name": "IOB1_NIC1_OSFP_TEMP_C",
"type": "temp",
"readPath": "/xyz/openbmc_project/sensors/temperature/IOB1_NIC1_OSFP_TEMP_C",
"timeout": 0,
"ignoreFailIfHostOff": true,
"ignoreDbusMinMax": true
},
......
],

"zones": [
......
]
}
```

Change-Id: I5355c453ca3c6d918c197dcd2cc9119e471d615d
Signed-off-by: Potin Lai <potin.lai@quantatw.com>

show more ...

765a6d8023-Jul-2025 Pete O_o <pmb@meta.com>

meson option requires config.h for meson options to operate properly

This was removed in
https://github.com/openbmc/phosphor-pid-control/commit/f8b6e55

Change-Id: I42d21365516a104cc0372d1fa72477642

meson option requires config.h for meson options to operate properly

This was removed in
https://github.com/openbmc/phosphor-pid-control/commit/f8b6e55

Change-Id: I42d21365516a104cc0372d1fa72477642784c4d1
Signed-off-by: Pete O_o <pmb@meta.com>

show more ...

425ef84109-Jul-2025 Patrick Williams <patrick@stwcx.xyz>

meson: use non-deprecated systemd packageconfig

Systemd's packageconfig file has both `systemdsystemunitdir` and
`systemd_system_unit_dir` defined. The non-underscore one appears
to be a deprecated

meson: use non-deprecated systemd packageconfig

Systemd's packageconfig file has both `systemdsystemunitdir` and
`systemd_system_unit_dir` defined. The non-underscore one appears
to be a deprecated alias[1]. Move to the non-deprecated /
underscore-separated variant.

[1]: https://github.com/systemd/systemd/commit/4908de44b0a0409f84a7cdc5641b114d6ce8ba03

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

show more ...

92110f8d02-Jul-2025 George Liu <liuxiwei@ieisystem.com>

Use api.hpp instead of api.h

Since the api.h file has been gradually deprecated, this submission
will use api.hpp instead of api.h

Change-Id: Ic9c8ebe0ba96b0a11b9415cd52acdf58fe9d828e
Signed-off-by

Use api.hpp instead of api.h

Since the api.h file has been gradually deprecated, this submission
will use api.hpp instead of api.h

Change-Id: Ic9c8ebe0ba96b0a11b9415cd52acdf58fe9d828e
Signed-off-by: George Liu <liuxiwei@ieisystem.com>
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...

f8b6e55127-Jun-2025 Ed Tanous <etanous@nvidia.com>

Fix includes

Run misc-include-cleaner on the codebase and fix all the includes.

misc-include-cleaner gets some things wrong, so had edit those back to
previous. It doesn't seem to like nlohmann or

Fix includes

Run misc-include-cleaner on the codebase and fix all the includes.

misc-include-cleaner gets some things wrong, so had edit those back to
previous. It doesn't seem to like nlohmann or zone.hpp very much.

At some point in the future we could fix these, and get these enforced
at CI time.

Change-Id: Ie087e03dd26570db09e44e5b3f0641fb77668711
Signed-off-by: Ed Tanous <etanous@nvidia.com>

show more ...


conf.hpp
dbus/dbusconfiguration.cpp
dbus/dbusconfiguration.hpp
dbus/dbushelper.cpp
dbus/dbushelper.hpp
dbus/dbuspassive.cpp
dbus/dbuspassive.hpp
dbus/dbuspassiveredundancy.cpp
dbus/dbuspassiveredundancy.hpp
dbus/dbusutil.cpp
dbus/dbusutil.hpp
dbus/dbuswrite.cpp
dbus/dbuswrite.hpp
experiments/drive.cpp
failsafeloggers/builder.cpp
failsafeloggers/builder.hpp
failsafeloggers/failsafe_logger.cpp
failsafeloggers/failsafe_logger.hpp
failsafeloggers/failsafe_logger_utility.cpp
failsafeloggers/failsafe_logger_utility.hpp
interfaces.hpp
ipmi/dbus_mode.cpp
ipmi/main_ipmi.cpp
ipmi/manualcmds.cpp
ipmi/manualcmds.hpp
main.cpp
notimpl/writeonly.cpp
pid/builder.cpp
pid/builder.hpp
pid/buildjson.cpp
pid/buildjson.hpp
pid/controller.hpp
pid/ec/logging.cpp
pid/ec/logging.hpp
pid/ec/pid.cpp
pid/ec/pid.hpp
pid/ec/stepwise.cpp
pid/ec/stepwise.hpp
pid/fancontroller.cpp
pid/pidcontroller.cpp
pid/pidcontroller.hpp
pid/pidloop.cpp
pid/pidloop.hpp
pid/stepwisecontroller.cpp
pid/stepwisecontroller.hpp
pid/thermalcontroller.cpp
pid/zone.cpp
pid/zone.hpp
pid/zone_interface.hpp
sensors/build_utils.cpp
sensors/builder.cpp
sensors/builder.hpp
sensors/buildjson.cpp
sensors/host.cpp
sensors/host.hpp
sensors/manager.cpp
sensors/manager.hpp
sensors/pluggable.cpp
sensors/pluggable.hpp
sensors/sensor.hpp
setsensor.cpp
sysfs/sysfsread.cpp
sysfs/sysfswrite.cpp
sysfs/sysfswrite.hpp
sysfs/util.cpp
test/controller_mock.hpp
test/dbus_passive_unittest.cpp
test/dbus_util_unittest.cpp
test/dbushelper_mock.hpp
test/helpers.hpp
test/json_parse_unittest.cpp
test/pid_fancontroller_unittest.cpp
test/pid_json_unittest.cpp
test/pid_stepwisecontroller_unittest.cpp
test/pid_thermalcontroller_unittest.cpp
test/pid_zone_unittest.cpp
test/sensor_host_unittest.cpp
test/sensor_manager_unittest.cpp
test/sensor_mock.hpp
test/sensor_pluggable_unittest.cpp
test/sensors_json_unittest.cpp
test/util_unittest.cpp
test/writeinterface_mock.hpp
test/zone_mock.hpp
util.cpp
util.hpp
7d6e225b27-Jun-2025 Ed Tanous <etanous@nvidia.com>

Simplify string formatting

These are fairly complex string constructions that clang-tidy flags as a
performance problem. Replace with std::format.

Change-Id: I7f43dc0a87bd5059eca9cf7324f94707ff500

Simplify string formatting

These are fairly complex string constructions that clang-tidy flags as a
performance problem. Replace with std::format.

Change-Id: I7f43dc0a87bd5059eca9cf7324f94707ff500ad3
Signed-off-by: Ed Tanous <ed@tanous.net>

show more ...

12345678910>>...17