History log of /openbmc/phosphor-power/phosphor-power-supply/test/power_supply_tests.cpp (Results 26 – 38 of 38)
Revision Date Author Comments
# 85c7bf41 19-Oct-2021 Brandon Wyman <bjwyman@gmail.com>

psu-ng: Detect CML fault

If the STATUS_WORD has the CML (Communication, Memory, Logic) fault bit
on, bit 1 in lower byte of STATUS_WORD, then read STATUS_CML, and treat
the fault as

psu-ng: Detect CML fault

If the STATUS_WORD has the CML (Communication, Memory, Logic) fault bit
on, bit 1 in lower byte of STATUS_WORD, then read STATUS_CML, and treat
the fault as another variety of a communication fault/error.

Change-Id: Iba368683734777874ba54ec845cbc94b00010b68
Signed-off-by: Brandon Wyman <bjwyman@gmail.com>

show more ...


# f07bc797 12-Oct-2021 Brandon Wyman <bjwyman@gmail.com>

psu-ng: Include STATUS_INPUT in input fault error

Read the value of STATUS_INPUT if STATUS_WORD is not zero. Include the
value of STATUS_INPUT if logging an error for an input fault.

psu-ng: Include STATUS_INPUT in input fault error

Read the value of STATUS_INPUT if STATUS_WORD is not zero. Include the
value of STATUS_INPUT if logging an error for an input fault.

Signed-off-by: Brandon Wyman <bjwyman@gmail.com>
Change-Id: I0463377a3e67faf1f32ab4a4b30ff73cbb8f5631

show more ...


# 3ca062ae 20-Oct-2021 Adriana Kobylak <anoo@us.ibm.com>

psu-ng: Change the GPIOReader class to GPIOInterface

The GPIOReader class only contains a read function. A new write function
will be added so it makes sense for the class to be named In

psu-ng: Change the GPIOReader class to GPIOInterface

The GPIOReader class only contains a read function. A new write function
will be added so it makes sense for the class to be named Interface
instead of Reader.
Change GPIOReader to GPIOInterface, and change the base class from
GPIOInterface to GPIOInterfaceBase.

Tested: Ran CI.

Change-Id: I2a4abdabe0136a7f73337f0d054d2dd79712f53c
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>

show more ...


# 0c9a33d6 13-Sep-2021 Adriana Kobylak <anoo@us.ibm.com>

clang updates

The openbmc CI was recently updated to clang-12 which requires some
formatting updates to the code:
https://github.com/openbmc/openbmc-build-scripts/commit/4569bf49daae

clang updates

The openbmc CI was recently updated to clang-12 which requires some
formatting updates to the code:
https://github.com/openbmc/openbmc-build-scripts/commit/4569bf49daaebff06be0482426908bb5497fad08

Make those updates and refresh the clang-format file with the one from
docs:
https://github.com/openbmc/docs/blob/master/style/cpp/.clang-format

Change-Id: Ieb3626526373a053ec84431e7560003f229f338d
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>

show more ...


# 681b2a36 20-Apr-2021 B. J. Wyman <bjwyman@gmail.com>

psu-ng: Add in ability to get presence via GPIO

The device tree and entity-manager (D-Bus) properties have the power
supply GPIO presence lines named, so we can use those GPIO line names

psu-ng: Add in ability to get presence via GPIO

The device tree and entity-manager (D-Bus) properties have the power
supply GPIO presence lines named, so we can use those GPIO line names to
find the GPIO device to read for determining power supply presence.

Some systems have the power supply presence lines in a gpio-keys section
(notably IBM Rainier). To facilitate continued function while running
with a device tree that has not removed those device tree entries, allow
for a fallback to the old inventory D-Bus propertiesChanged or
interfaceAdded matches for presence.

Change-Id: I5002aa62e5b460463cc26328c889a3786b467a3c
Signed-off-by: B. J. Wyman <bjwyman@gmail.com>

show more ...


# 3c530fbd 13-Apr-2021 Brandon Wyman <bjwyman@gmail.com>

psu-ng: Fix failing CI tests due to IBM_VPD

When c12c53b985b9ac12c3c83df47371e7c2c70ae21b merged, the CI tests for
the phosphor-power repository started intermittently failing.

psu-ng: Fix failing CI tests due to IBM_VPD

When c12c53b985b9ac12c3c83df47371e7c2c70ae21b merged, the CI tests for
the phosphor-power repository started intermittently failing.

The expected calls for updateInventory() do not apply if the
ibm-vpd=false, which is the default.

Add #if IBM_VPD check around test calls that are only expected if that
is enabled.

Tested:
x86sdk
$ meson --reconfigure ... -Dibm-vpd=false ... x86build
$ ninja -C x86build
$ ./x86build/phosphor-power-supply/test/phosphor-power-supply-tests
Verify no tests FAILED.
x86sdk
$ meson --reconfigure ... -Dibm-vpd=true ... x86build
$ ninja -C x86build
$ ./x86build/phosphor-power-supply/test/phosphor-power-supply-tests
Verify no tests FAILED.
Run openbmc-build-scripts/scripts/build-unit-test-docker
Verify SUCCESS.

See:
https://gerrit.openbmc-project.xyz/c/openbmc/openbmc-build-scripts/+/42141
(Fix for meson problem in CI)
https://github.com/openbmc/docs/blob/master/testing/local-ci-build.md
(How to run local CI)

Signed-off-by: Brandon Wyman <bjwyman@gmail.com>
Change-Id: I4d481d7a493157b298e28d87cb2d962a8bdf5ccf

show more ...


# 510acaab 05-Nov-2020 Brandon Wyman <bjwyman@gmail.com>

psu-ng: Add method to get PSU conf from D-Bus.

Add a getPSUProperties method that will get the power supply unit
configuration information from the D-Bus properties populated by
enti

psu-ng: Add method to get PSU conf from D-Bus.

Add a getPSUProperties method that will get the power supply unit
configuration information from the D-Bus properties populated by
entity-manager. The IBM common form factor power supplies will have
these properties under the interface called
xyz.openbmc_project.Configuration.IBMCFFPSConnector. See
I45b724238cffe6fb7f1f8f9947fa1c2c9e9e8015 for changes to add the
necessary updates to entity-manager.

The D-Bus property for I2CAddress is a uint64_t type, while the JSON
configuration file had a string. Move the PowerSupply constructor to the
cpp file, updated to take in uint16_t for the i2caddr.

Update PSUManager::getJSONProperties() to convert Address from string to
uint16_t.

Add in a PSUManager constructor to use the getPSUProperties() function.

Add code to handle interfacesAdded from entity-manager prior to
getPSUProperties() or getSystemProperties().

Signed-off-by: Brandon Wyman <bjwyman@gmail.com>
Change-Id: I553e8982cf008828823cea2c0f017ff23c9070ab

show more ...


# 10d94055 30-Nov-2020 Jay Meyer <jaymeyer@us.ibm.com>

Capture PSU STATUS_MFR_SPECIFIC during analysis

If there is a fault indicated in STATUS_WORD, add the
STATUS_MFR_SPECIFIC value to the error log additional data.
For additional diagn

Capture PSU STATUS_MFR_SPECIFIC during analysis

If there is a fault indicated in STATUS_WORD, add the
STATUS_MFR_SPECIFIC value to the error log additional data.
For additional diagnostic information, include the MFR status
for all log entries when status word is nonzero.
Change the journal entry for MFR fault to an error type,
suggested in code review.

Tested: Test by setting the bit in the PMBus status word in simulation
for MFR and a nonzero value in STATUS_MFR_SPECIFIC.
The chassis is on during this test.
This change also adds the MFR status in journal entries.
The journal contains an entry like this for the MFR fault:
MFR fault: status word = 0x01 MFR fault = 0x1
Other journal entries:
VIN_UV fault: status word = 0x08, MFR fault = 0x1
INPUT fault: status word = 0x02, MFR fault = 0x1
Note: definitions for INPUT_FAULT_WARN and MFR_SPECIFIC_FAULT
were changed for testing purposes because the simulator could
not set the upper bits of the status word.

Signed-off-by: Jay Meyer <jaymeyer@us.ibm.com>
Change-Id: Ib63ca6581c72f640aba01a95c6fe02b26ac8c1ee

show more ...


# 1d7a7df8 26-Mar-2020 Brandon Wyman <bjwyman@gmail.com>

psu-ng: Updates to get VPD data to inventory

Add in code to retrieve the VPD data and populate that data to the D-Bus
inventory properties.

Use the PMBus utilities to retrieve t

psu-ng: Updates to get VPD data to inventory

Add in code to retrieve the VPD data and populate that data to the D-Bus
inventory properties.

Use the PMBus utilities to retrieve the model (CCIN for IBM power
supplies), part number, serial number, and firmware version information
from the sysfs "files" provided via the device driver.

Only build in IBM VPD data collection and reporting if meson ran with
-Dibm-vpd=true.

Tested:
Copied SDK build of phospor-psu-monitor with -Dibm-vpd=true to
Rainier hardware system, verified inventory properties updated/added.

Signed-off-by: Brandon Wyman <bjwyman@gmail.com>
Change-Id: I61688b154ead570e9d9390342596bf7d840f4dce

show more ...


# 59a35793 04-Jun-2020 Brandon Wyman <bjwyman@gmail.com>

psu-ng: Add code to set ON_OFF_CONFIG

Add code that sends the appropriate ON_OFF_CONFIG mask for the power
supply power on operation.

Tested:
Ran gtest using x86sdk

psu-ng: Add code to set ON_OFF_CONFIG

Add code that sends the appropriate ON_OFF_CONFIG mask for the power
supply power on operation.

Tested:
Ran gtest using x86sdk
Used simulator to change ON_OFF_CONFIG value, restarted service,
verified ON_OFF_CONFIG changed.
Used i2cget on hardware to change ON_OFF_CONFIG, restarted service,
verified ON_OFF_CONFIG changed.

Signed-off-by: Brandon Wyman <bjwyman@gmail.com>
Change-Id: Ifd9d63fcd2e86a62b7358e08958b5e2dbd21db9f

show more ...


# 3c208464 13-May-2020 Brandon Wyman <bjwyman@gmail.com>

psu-ng: Updates for clearFaults

It was discovered that the power supplies may not always have the
in1_crit "file" available in the HWMON directory. This file may be
missing if certai

psu-ng: Updates for clearFaults

It was discovered that the power supplies may not always have the
in1_crit "file" available in the HWMON directory. This file may be
missing if certain commands are not supported. It was also discovered
that it can be missing if the power supply falsely indicates it supports
PEC, but actually does not. Changing the readString call to read from
the in1_input file, which typically should be present (READ_VIN).

Move the clearFaults function from the hpp file to the cpp file, as:
1. It is getting a bit lengthy.
2. Adding a try/catch for ReadFailure to avoid crashing the application
if there is a ReadFailure, which is in the phosphor::logging
namespace already used in the cpp file.

Update the test case to expect a read from in1_input, and return a value
that more closely resembles an actual READ_VIN value.

Signed-off-by: Brandon Wyman <bjwyman@gmail.com>
Change-Id: I9747317c68040cdce6bb80922e3928be55376c44

show more ...


# 4e016652 28-Apr-2020 Brandon Wyman <bjwyman@gmail.com>

psu-ng: Clear fault bits in STATUS_WORD

Allow for clearing the fault bits in STATUS_WORD (and STATUS_BYTE) by
having the clearFaults() function read from the in1_crit file in the
hwm

psu-ng: Clear fault bits in STATUS_WORD

Allow for clearing the fault bits in STATUS_WORD (and STATUS_BYTE) by
having the clearFaults() function read from the in1_crit file in the
hwmon directory.

Signed-off-by: Brandon Wyman <bjwyman@gmail.com>
Change-Id: I1a3ad5c2402a61ff1172428085c4d707dc6166e4

show more ...


# 3f1242f3 28-Jan-2020 Brandon Wyman <bjwyman@gmail.com>

Update analyze function to check STATUS_WORD

The STATUS_WORD PMBus command response will be the start of the power
supply fault analysis. Update the analyze() function to read its value

Update analyze function to check STATUS_WORD

The STATUS_WORD PMBus command response will be the start of the power
supply fault analysis. Update the analyze() function to read its value
and process (select) fault bits.

Signed-off-by: Brandon Wyman <bjwyman@gmail.com>
Change-Id: If7274ad237c0604a56008676ae64804a5fd2854e

show more ...


12