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