History log of /openbmc/phosphor-power/phosphor-power-supply/ (Results 1 – 25 of 185)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
f540219716-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: I7b90380845efee6bf6a1fe342a793d71aa9ff181
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


/openbmc/phosphor-power/.clang-format
/openbmc/phosphor-power/cold-redundancy/cold_redundancy.cpp
/openbmc/phosphor-power/compatible_system_types_finder.cpp
/openbmc/phosphor-power/compatible_system_types_finder.hpp
/openbmc/phosphor-power/dbus_interfaces_finder.cpp
/openbmc/phosphor-power/dbus_interfaces_finder.hpp
/openbmc/phosphor-power/elog-errors.hpp
/openbmc/phosphor-power/format_utils.hpp
/openbmc/phosphor-power/phosphor-power-sequencer/src/device_finder.cpp
/openbmc/phosphor-power/phosphor-power-sequencer/src/pmbus_driver_device.cpp
/openbmc/phosphor-power/phosphor-power-sequencer/src/pmbus_driver_device.hpp
/openbmc/phosphor-power/phosphor-power-sequencer/src/power_control.cpp
/openbmc/phosphor-power/phosphor-power-sequencer/src/power_interface.cpp
/openbmc/phosphor-power/phosphor-power-sequencer/src/power_interface.hpp
/openbmc/phosphor-power/phosphor-power-sequencer/src/rail.hpp
/openbmc/phosphor-power/phosphor-power-sequencer/src/services.hpp
/openbmc/phosphor-power/phosphor-power-sequencer/src/standard_device.cpp
/openbmc/phosphor-power/phosphor-power-sequencer/src/standard_device.hpp
/openbmc/phosphor-power/phosphor-power-sequencer/src/ucd90320_device.cpp
/openbmc/phosphor-power/phosphor-power-sequencer/test/meson.build
/openbmc/phosphor-power/phosphor-power-sequencer/test/pmbus_driver_device_tests.cpp
/openbmc/phosphor-power/phosphor-power-sequencer/test/standard_device_tests.cpp
/openbmc/phosphor-power/phosphor-power-sequencer/test/ucd90160_device_tests.cpp
/openbmc/phosphor-power/phosphor-power-sequencer/test/ucd90320_device_tests.cpp
/openbmc/phosphor-power/phosphor-power-sequencer/test/ucd90x_device_tests.cpp
power_supply.cpp
psu_manager.cpp
test/power_supply_tests.cpp
util.cpp
util.hpp
util_base.hpp
/openbmc/phosphor-power/phosphor-regulators/config_files/BlueRidge.json
/openbmc/phosphor-power/phosphor-regulators/config_files/Bonnell.json
/openbmc/phosphor-power/phosphor-regulators/config_files/Everest.json
/openbmc/phosphor-power/phosphor-regulators/config_files/Fuji.json
/openbmc/phosphor-power/phosphor-regulators/config_files/Rainier.json
/openbmc/phosphor-power/phosphor-regulators/src/actions/action_environment.hpp
/openbmc/phosphor-power/phosphor-regulators/src/actions/compare_vpd_action.hpp
/openbmc/phosphor-power/phosphor-regulators/src/actions/i2c_compare_byte_action.hpp
/openbmc/phosphor-power/phosphor-regulators/src/actions/i2c_compare_bytes_action.hpp
/openbmc/phosphor-power/phosphor-regulators/src/actions/i2c_write_byte_action.hpp
/openbmc/phosphor-power/phosphor-regulators/src/actions/i2c_write_bytes_action.hpp
/openbmc/phosphor-power/phosphor-regulators/src/actions/pmbus_read_sensor_action.cpp
/openbmc/phosphor-power/phosphor-regulators/src/actions/pmbus_read_sensor_action.hpp
/openbmc/phosphor-power/phosphor-regulators/src/actions/pmbus_write_vout_command_action.cpp
/openbmc/phosphor-power/phosphor-regulators/src/actions/pmbus_write_vout_command_action.hpp
/openbmc/phosphor-power/phosphor-regulators/src/chassis.cpp
/openbmc/phosphor-power/phosphor-regulators/src/chassis.hpp
/openbmc/phosphor-power/phosphor-regulators/src/config_file_parser.cpp
/openbmc/phosphor-power/phosphor-regulators/src/configuration.hpp
/openbmc/phosphor-power/phosphor-regulators/src/dbus_sensor.cpp
/openbmc/phosphor-power/phosphor-regulators/src/dbus_sensor.hpp
/openbmc/phosphor-power/phosphor-regulators/src/dbus_sensors.cpp
/openbmc/phosphor-power/phosphor-regulators/src/device.hpp
/openbmc/phosphor-power/phosphor-regulators/src/ffdc_file.cpp
/openbmc/phosphor-power/phosphor-regulators/src/id_map.cpp
/openbmc/phosphor-power/phosphor-regulators/src/id_map.hpp
/openbmc/phosphor-power/phosphor-regulators/src/journal.cpp
/openbmc/phosphor-power/phosphor-regulators/src/journal.hpp
/openbmc/phosphor-power/phosphor-regulators/src/manager.cpp
/openbmc/phosphor-power/phosphor-regulators/src/manager.hpp
/openbmc/phosphor-power/phosphor-regulators/src/phase_fault_detection.cpp
/openbmc/phosphor-power/phosphor-regulators/src/phase_fault_detection.hpp
/openbmc/phosphor-power/phosphor-regulators/src/pmbus_error.hpp
/openbmc/phosphor-power/phosphor-regulators/src/presence_detection.cpp
/openbmc/phosphor-power/phosphor-regulators/src/rail.hpp
/openbmc/phosphor-power/phosphor-regulators/src/regsctl/main.cpp
/openbmc/phosphor-power/phosphor-regulators/src/regsctl/utility.hpp
/openbmc/phosphor-power/phosphor-regulators/src/rule.hpp
/openbmc/phosphor-power/phosphor-regulators/src/system.hpp
/openbmc/phosphor-power/phosphor-regulators/src/write_verification_error.hpp
/openbmc/phosphor-power/phosphor-regulators/test/actions/compare_vpd_action_tests.cpp
/openbmc/phosphor-power/phosphor-regulators/test/actions/i2c_compare_bit_action_tests.cpp
/openbmc/phosphor-power/phosphor-regulators/test/actions/set_device_action_tests.cpp
/openbmc/phosphor-power/phosphor-regulators/test/chassis_tests.cpp
/openbmc/phosphor-power/phosphor-regulators/test/device_tests.cpp
/openbmc/phosphor-power/phosphor-regulators/test/id_map_tests.cpp
/openbmc/phosphor-power/phosphor-regulators/test/phase_fault_detection_tests.cpp
/openbmc/phosphor-power/phosphor-regulators/test/system_tests.cpp
/openbmc/phosphor-power/phosphor-regulators/test/test_utils.hpp
/openbmc/phosphor-power/pmbus.cpp
/openbmc/phosphor-power/pmbus.hpp
/openbmc/phosphor-power/power-sequencer/pgood_monitor.hpp
/openbmc/phosphor-power/power-sequencer/runtime_monitor.hpp
/openbmc/phosphor-power/power-supply/main.cpp
/openbmc/phosphor-power/power-supply/power_supply.cpp
/openbmc/phosphor-power/temporary_file.cpp
/openbmc/phosphor-power/temporary_subdirectory.cpp
/openbmc/phosphor-power/test/format_utils_tests.cpp
/openbmc/phosphor-power/test/meson.build
/openbmc/phosphor-power/tools/i2c/i2c.cpp
/openbmc/phosphor-power/tools/i2c/i2c.hpp
/openbmc/phosphor-power/tools/i2c/i2c_interface.hpp
/openbmc/phosphor-power/tools/power-utils/updater.cpp
/openbmc/phosphor-power/tools/power-utils/version.cpp
/openbmc/phosphor-power/utility.cpp
716366ae05-Aug-2024 George Liu <liuxiwei@ieisystem.com>

Fix MD034 warnings

The following warnings are generated by using markdownlint analysis:
```
phosphor-power-supply/README.md:4:1 MD034/no-bare-urls Bare URL used [Context: "https://github.com/openbmc

Fix MD034 warnings

The following warnings are generated by using markdownlint analysis:
```
phosphor-power-supply/README.md:4:1 MD034/no-bare-urls Bare URL used [Context: "https://github.com/openbmc/doc..."]
```
Refer to markdown-lint [1] to fix MD034
[1]: https://github.com/updownpress/markdown-lint/blob/master/rules/034-no-bare-urls.md

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

show more ...

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

Fix MD041 warnings

The following warnings are generated by using markdownlint analysis:
```
phosphor-power-sequencer/docs/README.md:1 MD041/first-line-heading/first-line-h1 First line in a file shou

Fix MD041 warnings

The following warnings are generated by using markdownlint analysis:
```
phosphor-power-sequencer/docs/README.md:1 MD041/first-line-heading/first-line-h1 First line in a file should be a top-level heading [Context: "## Overview"]
phosphor-power-sequencer/docs/testing.md:1 MD041/first-line-heading/first-line-h1 First line in a file should be a top-level heading [Context: "## Overview"]
phosphor-power-sequencer/README.md:1 MD041/first-line-heading/first-line-h1 First line in a file should be a top-level heading [Context: "## Overview"]
phosphor-power-supply/README.md:1 MD041/first-line-heading/first-line-h1 First line in a file should be a top-level heading [Context: "OpenBMC power supply monitoring..."]
phosphor-regulators/README.md:1 MD041/first-line-heading/first-line-h1 First line in a file should be a top-level heading [Context: "## Overview"]
README.md:1 MD041/first-line-heading/first-line-h1 First line in a file should be a top-level heading [Context: "## Overview"]
```
Refer to markdown-lint [1] to fix MD041
[1]: https://github.com/updownpress/markdown-lint/blob/master/rules/041-first-line-h1.md

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

show more ...


/openbmc/phosphor-power/README.md
/openbmc/phosphor-power/phosphor-power-sequencer/README.md
/openbmc/phosphor-power/phosphor-power-sequencer/docs/README.md
/openbmc/phosphor-power/phosphor-power-sequencer/docs/config_file/config_file.md
/openbmc/phosphor-power/phosphor-power-sequencer/docs/config_file/gpio.md
/openbmc/phosphor-power/phosphor-power-sequencer/docs/config_file/rail.md
/openbmc/phosphor-power/phosphor-power-sequencer/docs/testing.md
/openbmc/phosphor-power/phosphor-power-sequencer/src/config_file_parser.hpp
README.md
/openbmc/phosphor-power/phosphor-regulators/README.md
/openbmc/phosphor-power/phosphor-regulators/docs/config_file/README.md
/openbmc/phosphor-power/phosphor-regulators/docs/config_file/action.md
/openbmc/phosphor-power/phosphor-regulators/docs/config_file/and.md
/openbmc/phosphor-power/phosphor-regulators/docs/config_file/chassis.md
/openbmc/phosphor-power/phosphor-regulators/docs/config_file/compare_presence.md
/openbmc/phosphor-power/phosphor-regulators/docs/config_file/compare_vpd.md
/openbmc/phosphor-power/phosphor-regulators/docs/config_file/config_file.md
/openbmc/phosphor-power/phosphor-regulators/docs/config_file/configuration.md
/openbmc/phosphor-power/phosphor-regulators/docs/config_file/device.md
/openbmc/phosphor-power/phosphor-regulators/docs/config_file/i2c_capture_bytes.md
/openbmc/phosphor-power/phosphor-regulators/docs/config_file/i2c_compare_bit.md
/openbmc/phosphor-power/phosphor-regulators/docs/config_file/i2c_compare_byte.md
/openbmc/phosphor-power/phosphor-regulators/docs/config_file/i2c_compare_bytes.md
/openbmc/phosphor-power/phosphor-regulators/docs/config_file/i2c_interface.md
/openbmc/phosphor-power/phosphor-regulators/docs/config_file/i2c_write_bit.md
/openbmc/phosphor-power/phosphor-regulators/docs/config_file/i2c_write_byte.md
/openbmc/phosphor-power/phosphor-regulators/docs/config_file/i2c_write_bytes.md
/openbmc/phosphor-power/phosphor-regulators/docs/config_file/if.md
/openbmc/phosphor-power/phosphor-regulators/docs/config_file/log_phase_fault.md
/openbmc/phosphor-power/phosphor-regulators/docs/config_file/not.md
/openbmc/phosphor-power/phosphor-regulators/docs/config_file/or.md
/openbmc/phosphor-power/phosphor-regulators/docs/config_file/phase_fault_detection.md
/openbmc/phosphor-power/phosphor-regulators/docs/config_file/pmbus_read_sensor.md
/openbmc/phosphor-power/phosphor-regulators/docs/config_file/pmbus_write_vout_command.md
/openbmc/phosphor-power/phosphor-regulators/docs/config_file/presence_detection.md
/openbmc/phosphor-power/phosphor-regulators/docs/config_file/rail.md
/openbmc/phosphor-power/phosphor-regulators/docs/config_file/rule.md
/openbmc/phosphor-power/phosphor-regulators/docs/config_file/run_rule.md
/openbmc/phosphor-power/phosphor-regulators/docs/config_file/sensor_monitoring.md
/openbmc/phosphor-power/phosphor-regulators/docs/config_file/set_device.md
/openbmc/phosphor-power/phosphor-regulators/src/config_file_parser.hpp
768d226909-Jul-2024 Shawn McCarney <shawnmm@us.ibm.com>

Move to std::format

The OpenBMC project is moving from the fmt project to the built-in
std::format() support.

Update source files and meson files to move to std::format().

Tested:
* Verified build

Move to std::format

The OpenBMC project is moving from the fmt project to the built-in
std::format() support.

Update source files and meson files to move to std::format().

Tested:
* Verified builds cleanly in local CI
* Verified all automated tests run successfully
* Verified builds cleanly in bitbake
* Verified an affected phosphor-psu-monitor journal message still works
correctly.
* Verified an affected phosphor-power-sequencer journal message still
works correctly.

Change-Id: I97b63cf9d132e2b6f173afb30953a9083d68133f
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>

show more ...


/openbmc/phosphor-power/README.md
/openbmc/phosphor-power/compatible_system_types_finder.cpp
/openbmc/phosphor-power/compatible_system_types_finder.hpp
/openbmc/phosphor-power/dbus_interfaces_finder.cpp
/openbmc/phosphor-power/dbus_interfaces_finder.hpp
/openbmc/phosphor-power/meson.build
/openbmc/phosphor-power/phosphor-power-sequencer/README.md
/openbmc/phosphor-power/phosphor-power-sequencer/config_files/BlueRidge.json
/openbmc/phosphor-power/phosphor-power-sequencer/config_files/Bonnell.json
/openbmc/phosphor-power/phosphor-power-sequencer/config_files/Everest.json
/openbmc/phosphor-power/phosphor-power-sequencer/config_files/Fuji.json
/openbmc/phosphor-power/phosphor-power-sequencer/config_files/Rainier.json
/openbmc/phosphor-power/phosphor-power-sequencer/docs/README.md
/openbmc/phosphor-power/phosphor-power-sequencer/docs/config_file/README.md
/openbmc/phosphor-power/phosphor-power-sequencer/docs/config_file/rail.md
/openbmc/phosphor-power/phosphor-power-sequencer/docs/testing.md
/openbmc/phosphor-power/phosphor-power-sequencer/src/config_file_parser.cpp
/openbmc/phosphor-power/phosphor-power-sequencer/src/config_file_parser.hpp
/openbmc/phosphor-power/phosphor-power-sequencer/src/device_finder.cpp
/openbmc/phosphor-power/phosphor-power-sequencer/src/device_finder.hpp
/openbmc/phosphor-power/phosphor-power-sequencer/src/meson.build
/openbmc/phosphor-power/phosphor-power-sequencer/src/pmbus_driver_device.cpp
/openbmc/phosphor-power/phosphor-power-sequencer/src/pmbus_driver_device.hpp
/openbmc/phosphor-power/phosphor-power-sequencer/src/power_control.cpp
/openbmc/phosphor-power/phosphor-power-sequencer/src/power_control.hpp
/openbmc/phosphor-power/phosphor-power-sequencer/src/power_interface.cpp
/openbmc/phosphor-power/phosphor-power-sequencer/src/power_sequencer_device.hpp
/openbmc/phosphor-power/phosphor-power-sequencer/src/rail.cpp
/openbmc/phosphor-power/phosphor-power-sequencer/src/rail.hpp
/openbmc/phosphor-power/phosphor-power-sequencer/src/services.cpp
/openbmc/phosphor-power/phosphor-power-sequencer/src/services.hpp
/openbmc/phosphor-power/phosphor-power-sequencer/src/standard_device.cpp
/openbmc/phosphor-power/phosphor-power-sequencer/src/standard_device.hpp
/openbmc/phosphor-power/phosphor-power-sequencer/src/ucd90160_device.cpp
/openbmc/phosphor-power/phosphor-power-sequencer/src/ucd90160_device.hpp
/openbmc/phosphor-power/phosphor-power-sequencer/src/ucd90320_device.cpp
/openbmc/phosphor-power/phosphor-power-sequencer/src/ucd90320_device.hpp
/openbmc/phosphor-power/phosphor-power-sequencer/src/ucd90x_device.cpp
/openbmc/phosphor-power/phosphor-power-sequencer/src/ucd90x_device.hpp
/openbmc/phosphor-power/phosphor-power-sequencer/test/config_file_parser_tests.cpp
/openbmc/phosphor-power/phosphor-power-sequencer/test/meson.build
/openbmc/phosphor-power/phosphor-power-sequencer/test/mock_device.hpp
/openbmc/phosphor-power/phosphor-power-sequencer/test/mock_services.hpp
/openbmc/phosphor-power/phosphor-power-sequencer/test/pmbus_driver_device_tests.cpp
/openbmc/phosphor-power/phosphor-power-sequencer/test/rail_tests.cpp
/openbmc/phosphor-power/phosphor-power-sequencer/test/standard_device_tests.cpp
/openbmc/phosphor-power/phosphor-power-sequencer/test/ucd90160_device_tests.cpp
/openbmc/phosphor-power/phosphor-power-sequencer/test/ucd90320_device_tests.cpp
/openbmc/phosphor-power/phosphor-power-sequencer/test/ucd90x_device_tests.cpp
meson.build
power_supply.cpp
psu_manager.cpp
util.cpp
util.hpp
/openbmc/phosphor-power/phosphor-regulators/config_files/ibm_blueridge.json
/openbmc/phosphor-power/phosphor-regulators/config_files/ibm_fuji.json
/openbmc/phosphor-power/temporary_subdirectory.cpp
/openbmc/phosphor-power/temporary_subdirectory.hpp
/openbmc/phosphor-power/test/meson.build
/openbmc/phosphor-power/test/temporary_subdirectory_tests.cpp
/openbmc/phosphor-power/utility.hpp
fb0ccb8e24-Apr-2024 Shawn McCarney <shawnmm@us.ibm.com>

Promote getPath() to PMBusBase

Promote the getPath() method from the PMBus class to the PMBusBase
parent class. This allows the method to be called from automated tests
using mock subclasses of PMB

Promote getPath() to PMBusBase

Promote the getPath() method from the PMBus class to the PMBusBase
parent class. This allows the method to be called from automated tests
using mock subclasses of PMBusBase.

Change-Id: I01dc6c314294e0de8919f78c79cbdc395020728f
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>

show more ...

2ae827a820-Mar-2024 Faisal Awada <faisal@us.ibm.com>

psu-ng: Fix log error for missing PSU

Fixed missing PSU log error during power on. The issue was replicated
as follow:
1 - Chassis powered off
2 - Remove power cable from PSUx
3 - Remove PSUx from t

psu-ng: Fix log error for missing PSU

Fixed missing PSU log error during power on. The issue was replicated
as follow:
1 - Chassis powered off
2 - Remove power cable from PSUx
3 - Remove PSUx from the carrier
4 - Power on chassis

Expect to see error log entry for missing PSUx. Fixed validateConfig to
only restart validationTimeout when there is a input fault and PSU
present or VINUVFault and PSU present.

Test:
1 - System at standby
a - Removed PSU0
b - Reset BMC
c - Power on chassis
d - Verified error logged
2 - System at standby
a - Pull PSU cable
b - Wait 10 seconds
d - Remove PSU and power on the chassis
d - Verified error logged
3 - System at standby
a - Remove power cord from PSU
b - Chassis power on
c - Verified an error is logged

Change-Id: Ife099d2d4871cb5905e4e382180b6b8cce97c66d
Signed-off-by: Faisal Awada <faisal@us.ibm.com>

show more ...

e4fa48c219-Feb-2024 George Liu <liuxiwei@ieisystem.com>

phosphor-power-supply: Fix code security vulnerabilities

Using the invpath variable after calling std::move(invpath) may
result in unexpected or undefined behavior.

Signed-off-by: George Liu <liuxi

phosphor-power-supply: Fix code security vulnerabilities

Using the invpath variable after calling std::move(invpath) may
result in unexpected or undefined behavior.

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

show more ...

7affb1f219-Jan-2024 Patrick Williams <patrick@stwcx.xyz>

State.Chassis: update service name

Both phosphor-state-manager and x86-power-control have code that exposes
both the Chassis and Chassis0 bus names as a backwards compatibility
when multi-chassis su

State.Chassis: update service name

Both phosphor-state-manager and x86-power-control have code that exposes
both the Chassis and Chassis0 bus names as a backwards compatibility
when multi-chassis support was added. Switch to the numbered bus name,
which is expected to be the non-deprecated one.

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

show more ...

6869acb303-Nov-2021 Brandon Wyman <bjwyman@gmail.com>

psu-ng: Disable Communication, Logic, and Memory (CML) fault

Turn off CML fault logging as some of the power supplies don't support
all PMBus commands that could be sent from device driver or applic

psu-ng: Disable Communication, Logic, and Memory (CML) fault

Turn off CML fault logging as some of the power supplies don't support
all PMBus commands that could be sent from device driver or application.
The PSU sets the CML fault bit on when it receives unsupported PMBus
command.

Testing:
- Tested the change on simulation by setting the CML status bit on and
verified no error log reported.
- Tested the change on BMC System as follow and verified no error log
reported
* Powered on the chassis
* i2cget -f -y 3 0x68 0x6c w # causes information error log for
tracing purpose.

Change-Id: Ie1b52e5350a29f65bd517ad11293c6dc522ac83e
Signed-off-by: Brandon Wyman <bjwyman@gmail.com>
Signed-off-by: Faisal Awada <faisal@us.ibm.com>

show more ...

3a49252730-Nov-2023 Andrew Geissler <geissonator@yahoo.com>

power-supply: don't fail if synch gpio not found

Working on a new system, aptly named system1, I hit issues utilizing the
psu monitor on power on where it was failing and putting the BMC state
into

power-supply: don't fail if synch gpio not found

Working on a new system, aptly named system1, I hit issues utilizing the
psu monitor on power on where it was failing and putting the BMC state
into Quiesced.

The reason was that the power-ffs-sync-history GPIO is not defined in
the device tree for system1. The power supply details are still being
worked but they are going to look a lot like the p10bmc supplies so
would like to utilize the psu-monitoring features. With this change I
confirmed that the system1 simulation model powers on and everything
looks good with the d-bus objects for the power supplies.

If the current behavior is desired, then we could look into a meson
config option to define whether the power synch function is wanted.

Tested:
- Confirmed system1 chassis poweron works without psu-monitor service
failing

Change-Id: I3c8f50c6ae3c4ca150762e3828ab8a1935f7773f
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>

show more ...

5c6a693e29-Nov-2023 Patrick Williams <patrick@stwcx.xyz>

build: use allowed over enabled

Meson feature options are typically in a tri-state of enabled, disabled,
or auto. The enabled and disabled functions on an option (from
`get_option`) no longer retur

build: use allowed over enabled

Meson feature options are typically in a tri-state of enabled, disabled,
or auto. The enabled and disabled functions on an option (from
`get_option`) no longer return true for auto features. Instead, the
expectation is to use `allowed()` which is true for both enabled and auto.

Switch all uses of `enabled` to `allowed`.

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

show more ...

03e2a02815-Nov-2023 Faisal Awada <faisal@us.ibm.com>

psu-ng: Fixed PSU monitor app not to report error on valid configuration

Modified the PSU monitor app not to report error when the PSU is not present and the PSU validation timer active; or PSU pres

psu-ng: Fixed PSU monitor app not to report error on valid configuration

Modified the PSU monitor app not to report error when the PSU is not present and the PSU validation timer active; or PSU present but we don't have infomation from Entity Manager (EM),the application will have to wait for EM info while the validation timer active before reporting error.

Note: The fix was done due to sometime Entity manager gets busy may delay to post PSU information which causes this application to post invalid PSU error.

Tested:
1 - On system with 4 PSUs and chassis powered on, with modified code
to allow 3 PSU interfaces and ignore the 4th interface.
* Verified error reported after the validation timer expired.
2 - On system requires 4 PSUs I removed 1 PSU, powered on the chassis
rebooted BMC with the fix.
* Verified the system reported error after the validation timer
expired.
3 - Ran a good machine pass with the fix and verified no error
reported.

Change-Id: I7c99f64b589fbe7db86cb16b720cf3ff9b62baab
Signed-off-by: Faisal Awada <faisal@us.ibm.com>

show more ...

b7131a1226-Oct-2023 Faisal Awada <faisal@us.ibm.com>

psu-ng: Fixed PSU monitor app to bind/unbind device driver appropriately.

Modified bindOrUnbind function:
Bind the device driver when the PSU present and i2cbus-i2caddr
does not exist.

psu-ng: Fixed PSU monitor app to bind/unbind device driver appropriately.

Modified bindOrUnbind function:
Bind the device driver when the PSU present and i2cbus-i2caddr
does not exist. Unbind the device driver when i2cbus-i2caddr exists
and the PSU not present.

bindOrUnbind does not do anything when:
* PSU device driver bind exist and the device present
* PSU device driver bind does not exist and device not present

Added new function populateDriverName:
Search for device driver name in all PSUs, then assign the device
driver name to all PSUs including missing PSUs.

Testing:
Verified in the following test, there is no bind/unbind error log.
1 - Removed 1 PSU and powered on the BMC with 3 PSUs
2 - Use step 1, after power on plugged in the 4th PSU and verified
/sys/bus/i2c/drivers/-ibm-cffps/3-006b exist
3 - Removed 2 PSUs and powered on the BMC with 2 PSUs.
4 - Use step 3, after power on plugged in the missing PSUs, verified
bind/Unbind /sys/bus/i2c/drivers/-ibm-cffps/3-006x for appropriate PSU.
5 - Powered on system with 4 PSUs then removed 2 PSUs. Verified
unbind done for appropriate PSU.

Change-Id: I325fc0dbb16f9c3b582b739e8440a74e34aae753
Signed-off-by: Faisal Awada <faisal@us.ibm.com>

show more ...

319b0ddd20-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: I49d4d5d177ce54d7e1bff7d734666a3a935b38a0
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...

67f71b9e30-Aug-2023 Matt Spinler <spinler@us.ibm.com>

psu-ng: Remove previous input history code

As mentioned in a previous commit, the org.open_power D-Bus interfaces
that host the 30 second maximum and average input power values are no
longer necessa

psu-ng: Remove previous input history code

As mentioned in a previous commit, the org.open_power D-Bus interfaces
that host the 30 second maximum and average input power values are no
longer necessary, and have been replaced by a single peak input power
sensor object.

Remove all of the code that dealt with them.

For now, the code remains that toggles the GPIO to sync up the input
history values between the power supplies on boots and plugs. As the
input history is used to populate the new peak sensor, its values across
power supplies will then be using the same time intervals.

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

show more ...

592bd27c30-Aug-2023 Matt Spinler <spinler@us.ibm.com>

psu-ng: Add peak input power sensor for some PSs

Some models of the ibm-cffps power supplies support an 'input history'
command that reports 30 second maximum and average input power values.
The cod

psu-ng: Add peak input power sensor for some PSs

Some models of the ibm-cffps power supplies support an 'input history'
command that reports 30 second maximum and average input power values.
The code was currently putting those on an 'org.open_power' D-Bus
interface so that the history of those values could be captured in a
single D-Bus call.

Now that there is a real telemetry feature in Redfish that can capture
the history of a single sensor value, we can drop the custom D-Bus
interface and just use the normal Sensor.Value interface that contains
the most recent maximum value from the input history command, The sensor
name will be 'psX_input_power_peak' where X is the PS instance number.

The average input power telemetry will now just be obtained from the
psX_input_power sensor provided by phosphor-hwmon so an equivalent
sensor to the peak isn't needed here.

This commit will add support for putting the new sensor on D-Bus, and a
future one will remove the previous input history support.

Like sensors in other daemons, it will be set to not available when a PS
is removed, and not functional when it has an access problem. There
will be associations to the parent chassis and to the power supply so it
will show up in Redfish output with the other sensors.

This commit did remove one of the input history testcases, as trying to
get the right sequence of EXPECT_CALLs would get tricky when both the
old and new are running together.

Tested:
- New sensor shows up when PS is present and supports it.
- All interfaces on the object path are correct.
- Sensor value matches what org.open_power Max property had.
- Works correctly when:
- PS is missing on startup
- PS is removed
- Previously present PS is replaced.

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

show more ...

d676026530-Aug-2023 Matt Spinler <spinler@us.ibm.com>

psu-ng: Group all private PS class attributes

Private functions and attributes have gotten interleaved over the years,
so go back to putting all the attributes at the bottom.

Change-Id: Id98128b7c3

psu-ng: Group all private PS class attributes

Private functions and attributes have gotten interleaved over the years,
so go back to putting all the attributes at the bottom.

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

show more ...

9ef7a04328-Aug-2023 Faisal Awada <faisal@us.ibm.com>

psu-ng: Fix race condition within PSU monitor.

Modified validationTimeout to 30 seconds to give entity manager
enough time to post PSU information. Previous timer was set to 10
seconds, it was goin

psu-ng: Fix race condition within PSU monitor.

Modified validationTimeout to 30 seconds to give entity manager
enough time to post PSU information. Previous timer was set to 10
seconds, it was going off before the PSU information available
which caused PSUManager::analyze() method to log incorrect error

"The power supply configuration is not supported"

During analysis found out on some IBM systems took the entity manager
15 seconds after boot to post the PSU information.

Test:

* Tested on the system where the defect was consistent to reproduce
* Tested IBM systems with supported PSUs.

Change-Id: Ib96c5bd4dbe9b989e0e22763a70d746ff1578a23
Signed-off-by: Faisal Awada <faisal@us.ibm.com>

show more ...

e9b3726430-Jul-2023 Faisal Awada <faisal@us.ibm.com>

psu-ng: Bypass ACBEL unsupported features

ACBEL does not support input history and sync history, therefore a
condition statement was added to prevent execution of input history,
sync history.

Test

psu-ng: Bypass ACBEL unsupported features

ACBEL does not support input history and sync history, therefore a
condition statement was added to prevent execution of input history,
sync history.

Test:
* Verified no error logged when powered on/off
* Verified no sync history when ACBEL PSU present
* Verified no change to sync history on IBM PSU
* Verified PSU metrics listed in redfish for ACBEL PSU and IBM PSU.

Change-Id: I62db9ef63cddd144afe9eafc8c3de06dd808a30a
Signed-off-by: Faisal Awada <faisal@us.ibm.com>

show more ...

9582d9cc11-Jul-2023 Faisal Awada <faisal@us.ibm.com>

psu-ng: Add ACBEL PSU pmbus supported commands.

Update PSU monitor to use the following pmbus commands supported
by ACBEL PSU DD:

- To clear STATUS_INPUT use curr1_crit_alarm instead of
in1_cri

psu-ng: Add ACBEL PSU pmbus supported commands.

Update PSU monitor to use the following pmbus commands supported
by ACBEL PSU DD:

- To clear STATUS_INPUT use curr1_crit_alarm instead of
in1_crit_alarm fault.
- Update ACBEL PSU firmware version to be read from
/sys/kernel/debug/pmbus/hwmonX instead from
/sys/kernel/debug/pmbus/hwmonX/3-005a/ and update the ACBEL
FW version size to 6 bytes.
- On/off config not supported on ACBEL PSU.

Testing:
* Unplugged power cord from the ACBEL PSU, and verified an error
reported on the system.
* Set IIN_OC_FAULT_LIMIT fault and verified curr1_crit_alarm clears
the STATUS_INPUT.
* Verified the code reading the ACBEL FW revision correctly.
* Verified in1_input clears all faults on ACBEL PSU.
* Tested modified the code on IBMCFFPS and verified the ACBEL PSU
modification did not change the behavior on IBMCFFPS.

Change-Id: I5fef87043adb5d677723eb8a20b0aedc4574b7fd
Signed-off-by: Faisal Awada <faisal@us.ibm.com>

show more ...

888bebde31-May-2023 Patrick Williams <patrick@stwcx.xyz>

meson: add necessary subprojects

Add subprojects for all the direct dependencies of the project such
that the project can be built outside of a Yocto SDK on a typical
Linux development system.

-

meson: add necessary subprojects

Add subprojects for all the direct dependencies of the project such
that the project can be built outside of a Yocto SDK on a typical
Linux development system.

- Update the .gitignore to ignore the subproject source directories.
- Update the .gitignore to ignore alternative build subdirectory
names as is typical with most projects in the openbmc organization.
- Add wrap files for direct dependencies, copied from other
repositories that already have the same dependencies.
- Modify the meson.build dependency for libgpiod so that the C++
bindings are included.
- Add many missing dependencies throughout.
- Sort all dependencies alphabetically for consistency.

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

show more ...

41a6b9f331-May-2023 Patrick Williams <patrick@stwcx.xyz>

remove unnecessary std::move calls

GCC 13 now flags a std::move of an returned temporary as unnecessary and
likely preventing RVO. Remove the unnecessary std::move.

Signed-off-by: Patrick Williams

remove unnecessary std::move calls

GCC 13 now flags a std::move of an returned temporary as unnecessary and
likely preventing RVO. Remove the unnecessary std::move.

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

show more ...

aded7a0d10-May-2023 faisal <faisal@gfwa601.aus.stglabs.ibm.com>

psu-ng: Retrieve PSU VPD keyword from D-Bus.

Extract PSU VPD keyword from D-Bus and assign associated string value to
VPD string.

Change-Id: Iaf8112df7e388e6fd4363798c92d76f0a67e3b69
Signed-off-by:

psu-ng: Retrieve PSU VPD keyword from D-Bus.

Extract PSU VPD keyword from D-Bus and assign associated string value to
VPD string.

Change-Id: Iaf8112df7e388e6fd4363798c92d76f0a67e3b69
Signed-off-by: Faisal Awada <faisal@us.ibm.com>

show more ...

48781aef10-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: If66f68c96df4baf8dc07abf8729a3cb7657e932d
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


/openbmc/phosphor-power/.clang-format
/openbmc/phosphor-power/cold-redundancy/cold_redundancy.cpp
/openbmc/phosphor-power/device.hpp
/openbmc/phosphor-power/file_descriptor.hpp
/openbmc/phosphor-power/phosphor-power-sequencer/src/power_control.cpp
power_supply.cpp
power_supply.hpp
psu_manager.cpp
test/mock.hpp
util.hpp
/openbmc/phosphor-power/phosphor-regulators/src/actions/i2c_write_bytes_action.cpp
/openbmc/phosphor-power/phosphor-regulators/src/actions/log_phase_fault_action.hpp
/openbmc/phosphor-power/phosphor-regulators/src/actions/pmbus_read_sensor_action.cpp
/openbmc/phosphor-power/phosphor-regulators/src/actions/pmbus_write_vout_command_action.cpp
/openbmc/phosphor-power/phosphor-regulators/src/actions/run_rule_action.hpp
/openbmc/phosphor-power/phosphor-regulators/src/config_file_parser.cpp
/openbmc/phosphor-power/phosphor-regulators/src/device.hpp
/openbmc/phosphor-power/phosphor-regulators/src/error_logging.hpp
/openbmc/phosphor-power/phosphor-regulators/src/journal.cpp
/openbmc/phosphor-power/phosphor-regulators/src/manager.cpp
/openbmc/phosphor-power/phosphor-regulators/src/presence_service.hpp
/openbmc/phosphor-power/phosphor-regulators/src/rail.hpp
/openbmc/phosphor-power/phosphor-regulators/src/regsctl/main.cpp
/openbmc/phosphor-power/phosphor-regulators/src/regsctl/utility.hpp
/openbmc/phosphor-power/phosphor-regulators/src/services.hpp
/openbmc/phosphor-power/phosphor-regulators/src/temporary_file.cpp
/openbmc/phosphor-power/phosphor-regulators/src/vpd.hpp
/openbmc/phosphor-power/phosphor-regulators/test/actions/i2c_write_byte_action_tests.cpp
/openbmc/phosphor-power/phosphor-regulators/test/actions/set_device_action_tests.cpp
/openbmc/phosphor-power/phosphor-regulators/test/device_tests.cpp
/openbmc/phosphor-power/phosphor-regulators/test/id_map_tests.cpp
/openbmc/phosphor-power/phosphor-regulators/test/phase_fault_detection_tests.cpp
/openbmc/phosphor-power/phosphor-regulators/test/system_tests.cpp
/openbmc/phosphor-power/phosphor-regulators/test/test_sdbus_error.hpp
/openbmc/phosphor-power/phosphor-regulators/test/validate-regulators-config_tests.cpp
/openbmc/phosphor-power/pmbus.cpp
/openbmc/phosphor-power/power-sequencer/mihawk-cpld.hpp
/openbmc/phosphor-power/power-sequencer/ucd90160.cpp
/openbmc/phosphor-power/power-sequencer/ucd90160.hpp
/openbmc/phosphor-power/power-supply/main.cpp
/openbmc/phosphor-power/power-supply/power_supply.cpp
/openbmc/phosphor-power/power-supply/record_manager.cpp
/openbmc/phosphor-power/power-supply/record_manager.hpp
/openbmc/phosphor-power/tools/power-utils/main.cpp
/openbmc/phosphor-power/tools/power-utils/version.cpp
/openbmc/phosphor-power/utility.cpp
0659422901-May-2023 Matt Spinler <spinler@us.ibm.com>

psu-ng: Fix chassis association call

The association name from a power supply to its chassis changed from
'chassis' to 'powering', so change that in the code.

Also update the code to find the assoc

psu-ng: Fix chassis association call

The association name from a power supply to its chassis changed from
'chassis' to 'powering', so change that in the code.

Also update the code to find the association using the new
GetAssociatedSubTreePaths mapper method which is like the existing
GetSubTreePaths but also ensures the results are an endpoint of the
passed in association path. This way if the 'powering' association is
used to show the power supply powers other things it will still work.

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

show more ...

12345678