37abe9be | 31-Oct-2024 |
Chris Cain <cjcain@us.ibm.com> |
Update occ-control to use lg2 for all logging
Convert existing log<level>() trace statements to lg2::level()
Testing: Verified on Rainier - captured journal traces before and after commit during bo
Update occ-control to use lg2 for all logging
Convert existing log<level>() trace statements to lg2::level()
Testing: Verified on Rainier - captured journal traces before and after commit during boots, mode, pcap and ips changes.
Change-Id: I318fa7bf3902c641b0c28b09190db4b61d0a2fa9 Signed-off-by: Chris Cain <cjcain@us.ibm.com>
show more ...
|
3523cc00 | 30-Oct-2024 |
Chris Cain <cjcain@us.ibm.com> |
Add chassis association for total_power sensor
Currently all power and temperatures sensors have an all_sensors chassis association. The total system power sensor is used in bmcweb, but had the sens
Add chassis association for total_power sensor
Currently all power and temperatures sensors have an all_sensors chassis association. The total system power sensor is used in bmcweb, but had the sensor path hardcoded. To prevent users from having to hardcode the sensor path this commit will add a total_power association to the chassis.
Tested on Rainier: ''' a{sv} 1 "Associations" a(sss) 2 "chassis" "all_sensors" "/xyz/openbmc_project/inventory/system/chassis" "chassis" "total_power" "/xyz/openbmc_project/inventory/system/chassis"
as 1 "/xyz/openbmc_project/sensors/power/total_power"
d 366 '''
Change-Id: I11b82e439de6b9d7a9e9e46eee26bb5e22502283 Signed-off-by: Chris Cain <cjcain@us.ibm.com>
show more ...
|
1fe436dc | 10-Oct-2024 |
Chris Cain <cjcain@us.ibm.com> |
Disable Idle Power Saver support in efficiency modes
IPS will not be published on DBUS when the PowerMode is set to one of the newer efficiency modes: EfficiencyFavorPower EfficiencyFavorPerform
Disable Idle Power Saver support in efficiency modes
IPS will not be published on DBUS when the PowerMode is set to one of the newer efficiency modes: EfficiencyFavorPower EfficiencyFavorPerformance (OEM only)
This will prevent the Redfish interface from allowing GET/PATCH commands and provides a way for the GUI to know when to suppress B displaying the parameters on the customer GUI.
Testing: Verified on Rainier.
When in a non-efficiency mode, the Redfish query returns IPS data: (GET /redfish/v1/Systems/system) ''' ... "Id": "system", "IdlePowerSaver": { "Enabled": true, "EnterDwellTimeSeconds": 240, "EnterUtilizationPercent": 8, "ExitDwellTimeSeconds": 10, "ExitUtilizationPercent": 12 }, "IndicatorLED": "Off", ... '''
When in an efficiency mode, the Redfish query does not return IPS data. ''' ... "Id": "system", "IndicatorLED": "Off", ... '''
Verified across re-ipls, OCC resets, app restarts.
Change-Id: I45bb0d8e97dab33a1a66c0d791f7bb4848bfce41 Signed-off-by: Chris Cain <cjcain@us.ibm.com>
show more ...
|
f0295f52 | 12-Sep-2024 |
Chris Cain <cjcain@us.ibm.com> |
Improve BMC error handling for OCC comm failures
- Delay starting OCC reset until all OCCs have been detected (or timeout). It will prevent multiple resets from being triggered and to help detecting
Improve BMC error handling for OCC comm failures
- Delay starting OCC reset until all OCCs have been detected (or timeout). It will prevent multiple resets from being triggered and to help detecting when reset is completed (active sensor being set after reset is complete) - Wait for PLDM response to OCC reset and HRESET requests and retry if they fail - If HRESET returns NOT_READY, collect SBE FFDC and try OCC reset. A persistent failure will put the system in safe state.
- Prevent overwriting dvfs over-temp filename for p10 and beyond since that old file is only present in old kernel - Prevent assert when opening sysfs files. (added catch and then created an OCC Comm failure PEL, which will force an OCC reset.) - Check return code after reading sysfs files to confirm success. If read fails, try reset to recover.
- Updated traces to include which processor/OCC encountered issues. - Better recovery to close windows that were leaving system in partial good state.
JIRA: PFES-66 Change-Id: I0b087d0e05bd8562682062e1c662f9e18164a720 Signed-off-by: Chris Cain <cjcain@us.ibm.com>
show more ...
|
9a8fe275 | 04-Sep-2024 |
Chris Cain <cjcain@us.ibm.com> |
Remove OSStart as indication host is running
This logic is checking whether PHYP is at standby or runtime. The OSStart was never implemented by PHYP so it should not be looked at to determine this s
Remove OSStart as indication host is running
This logic is checking whether PHYP is at standby or runtime. The OSStart was never implemented by PHYP so it should not be looked at to determine this state. The hostboot team is going to utilize this BootProgress to indicate when they are starting PHYP.
Change-Id: Ica6a032eb0881526865967215f94534b85048d2a Signed-off-by: Chris Cain <cjcain@us.ibm.com>
show more ...
|
88811adc | 27-Aug-2024 |
Eddie James <eajames@linux.ibm.com> |
Fix missing PLDM transport configuration
The PLDM transport option wasn't actually used. In addition, throttle the PLDM open failure trace.
Signed-off-by: Eddie James <eajames@linux.ibm.com> Change
Fix missing PLDM transport configuration
The PLDM transport option wasn't actually used. In addition, throttle the PLDM open failure trace.
Signed-off-by: Eddie James <eajames@linux.ibm.com> Change-Id: I6c5f9151b3230171a1f050d54bbb143334577ab2
show more ...
|
6213f199 | 01-Jul-2024 |
Lakshmi Yadlapati <lakshmiy@us.ibm.com> |
Add kernel MCTP (AF_MCTP) support and transport-implementation option
-Added support for kernel MCTP (AF_MCTP) to enable MCTP communication using AF_MCTP sockets.
- Introduced a new configuration
Add kernel MCTP (AF_MCTP) support and transport-implementation option
-Added support for kernel MCTP (AF_MCTP) to enable MCTP communication using AF_MCTP sockets.
- Introduced a new configuration option 'transport-implementation'
The 'transport-implementation' option can be set to either: - 'mctp-demux': Uses the existing mctp-demux transport method. - 'af-mctp': Uses the new kernel AF_MCTP transport method.
Change-Id: I2978273fe4579d1dce00368dabb7f90815dbbce8 Signed-off-by: Lakshmi Yadlapati <lakshmiy@us.ibm.com> Signed-off-by: Eddie James <eajames@linux.ibm.com>
show more ...
|
358d3966 | 23-Aug-2024 |
Chris Cain <cjcain@us.ibm.com> |
Fix OCC response checksum calculation
The OCC checksum calculation should be ignoring overflow.
Removed redundant trace of the occActive state: ''' Aug 23 18:38:52 rain100bmc openpower-occ-control[
Fix OCC response checksum calculation
The OCC checksum calculation should be ignoring overflow.
Removed redundant trace of the occActive state: ''' Aug 23 18:38:52 rain100bmc openpower-occ-control[6515]: updateOCCActive: OCC0 active=true Aug 23 18:38:52 rain100bmc openpower-occ-control[6515]: Status::occActive OCC0 changed to true '''
Added trace of first 4 bytes of data for pass-through commands: ''' Aug 23 19:19:30 rain100bmc openpower-occ-control[27848]: PassThrough::send() Sending 0x00 command to OCC0 (data len=1, data=0x20) Aug 23 19:19:40 rain100bmc openpower-occ-control[27848]: PassThrough::send() Sending 0x40 command to OCC0 (data len=5, data=0x07001000...) '''
Change-Id: I632b0e0af214858e15f3d5c196723dc6ffe12445 Signed-off-by: Chris Cain <cjcain@us.ibm.com>
show more ...
|
d7542c83 | 16-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: I94e2bfdc8fae9bc14e30c701a0e622709ee9b0fe Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
52328cb4 | 14-Feb-2023 |
Rashmica Gupta <rashmica@linux.ibm.com> |
Move to libpldm pldm_transport APIs
- Replaced the deprecated pldm transport APIs with the new libpldm pldm_transport APIs.
This change migrates the application off of the deprecated "requester"
Move to libpldm pldm_transport APIs
- Replaced the deprecated pldm transport APIs with the new libpldm pldm_transport APIs.
This change migrates the application off of the deprecated "requester" APIs in libpldm.
We don't currently have the infrastructure in place to get the correct TIDs, so to keep everything working as before use the EID as the TID in the EID-to-TID mapping.
Change-Id: Iedbfe936a710d37f75e737c3d307295ff55cf07b Signed-off-by: Rashmica Gupta <rashmica@linux.ibm.com> Signed-off-by: Lakshmi Yadlapati <lakshmiy@us.ibm.com>
show more ...
|
30040d9d | 19-Jun-2024 |
Chris Cain <cjcain@us.ibm.com> |
Read mode support from entity manager and update dbus
1. Attempt to read several power mode properties from entity-manager. Reject any mode change requests that are not in the CustomerModes list. If
Read mode support from entity manager and update dbus
1. Attempt to read several power mode properties from entity-manager. Reject any mode change requests that are not in the CustomerModes list. If the CustomerModes list is empty, all supported mode changes will be allowed.
CustomerModes: List of power modes that are settable from a customer user interface. OemModes: List of OEM power modes that are supported on the system. EcoModeSupport: Flag to indicate if the system supports a set of efficiency based settings.
If any of these are not found, occ-control will use the default supported modes.
Use default if persisted power mode is not supported
2. If previous (persisted) power mode is not supported, the default power mode for the system will be used. If that default is not found MaximumPerformance will be used.
Tested on Rainier
''' xyz.openbmc_project.Control.Power.Mode interface - - - .AllowedPowerModes property as 3 "xyz.openbmc_project.Control.Power.Mode.PowerMode.MaximumPerformance" "xyz.openbmc_project.Control.Power.Mode.PowerMode.PowerSaving" "xyz.openbmc_project.Control.Power.Mode.PowerMode.Static" const .PowerMode property s "xyz.openbmc_project.Control.Power.Mode.PowerMode.PowerSaving" emits-change writable .SafeMode property b false emits-change '''
Change-Id: Id9b2b493e420fc60b3c29d581d63e9ed0f71c4fc Signed-off-by: Chris Cain <cjcain@us.ibm.com>
show more ...
|
db38e91a | 24-May-2023 |
Rashmica Gupta <rashmica@linux.ibm.com> |
Move to libpldm instance id APIs
Signed-off-by: Rashmica Gupta <rashmica@linux.ibm.com> Change-Id: I2955097a78c673f65054fa9bff1ef5243da136a2 Signed-off-by: Lakshmi Yadlapati <lakshmiy@us.ibm.com> |
aeba51cd | 16-Feb-2023 |
Rashmica Gupta <rashmica@linux.ibm.com> |
Change "mctp instance id" to "pldm instance id"
It's not a MCTP thing.
Change-Id: I922d28f848c8948d43ea4b8926d2310c8fb50228 Signed-off-by: Rashmica Gupta <rashmica@linux.ibm.com> Signed-off-by: Lak
Change "mctp instance id" to "pldm instance id"
It's not a MCTP thing.
Change-Id: I922d28f848c8948d43ea4b8926d2310c8fb50228 Signed-off-by: Rashmica Gupta <rashmica@linux.ibm.com> Signed-off-by: Lakshmi Yadlapati <lakshmiy@us.ibm.com>
show more ...
|
97476a1e | 19-Jun-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
pldm: Replace deprecated libpldm header path
There are more OEMs than IBM contributing to libpldm, so the OEM headers were restructured. Replace the deprecated IBM OEM header path with the namespace
pldm: Replace deprecated libpldm header path
There are more OEMs than IBM contributing to libpldm, so the OEM headers were restructured. Replace the deprecated IBM OEM header path with the namespaced path.
The patch was generated by with the coccinelle[1] script from [2]:
``` $ spatch \ --sp-file .../libpldm/origin/evolutions/current/oem-ibm-header-compat.cocci \ --in-place \ $(git ls-files | grep -E '\.[ch](pp)?') ```
[1]: https://coccinelle.gitlabpages.inria.fr/website/ [2]: https://gerrit.openbmc.org/c/openbmc/libpldm/+/72202
Change-Id: Ib3b4c5a650a06e816155a91ac3a83c2176639dc7 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
c33171bb | 24-May-2024 |
Chris Cain <cjcain@us.ibm.com> |
Throttle PLDM traces after 5 minutes while waiting for PDRs
Existing code waits up to 40 minutes for the OCC active sensors PDRs to be available. If not available, a BD8D2685 PEL will get logged and
Throttle PLDM traces after 5 minutes while waiting for PDRs
Existing code waits up to 40 minutes for the OCC active sensors PDRs to be available. If not available, a BD8D2685 PEL will get logged and occ-control will continue to wait for the PDRs.
This change will throttle the occ-control PLDM traces after 5 minutes, while continuing to wait for the PDRs. A PEL will still get generated if the timeout expires.
Tested on Rainier
Change-Id: I35ec939317efee7a458b96709ea9cfc2abe7bebf Signed-off-by: Chris Cain <cjcain@us.ibm.com>
show more ...
|
1173b2b1 | 01-Jun-2024 |
Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com> |
Option to override dump request D-Bus path
Added option for overriding the object path for requesting OpenPOWER dumps. On recent systems the object path is changed so adding option to override the p
Option to override dump request D-Bus path
Added option for overriding the object path for requesting OpenPOWER dumps. On recent systems the object path is changed so adding option to override the path in the recipe.
Change-Id: I1b1691c713be094c7286324e6653836aced11f45 Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>
show more ...
|
32f2af0a | 28-May-2024 |
Chris Cain <cjcain@us.ibm.com> |
Fixed bare URLs in README.md
Fix markdown-lint rule 034-no-bare-urls.md
Change-Id: I084d9c62ef090cacad62a41b36e3f69f8d4313ee Signed-off-by: Chris Cain <cjcain@us.ibm.com> |
a19bd428 | 24-May-2024 |
Chris Cain <cjcain@us.ibm.com> |
Increase timeout before logging PEL when OCC sensors unavailable
Existing code waits up to 5 minutes for the OCC active sensors PDRs to be available. If not available after 5 minutes, a BD8D2685 PEL
Increase timeout before logging PEL when OCC sensors unavailable
Existing code waits up to 5 minutes for the OCC active sensors PDRs to be available. If not available after 5 minutes, a BD8D2685 PEL will get logged and occ-control will continue to wait for the PDRs.
This change will increase that timeout to 40 minutes.
Change-Id: Idfffd03d731bd35a0f5d1ba7fe04e2f635444d74 Signed-off-by: Chris Cain <cjcain@us.ibm.com>
show more ...
|
7651c06b | 02-May-2024 |
Chris Cain <cjcain@us.ibm.com> |
Prevent missing sensor PEL when host is not running
occ-control will create a PEL if the OCC sensors PDRs have not been found after 5 mintues. This change will prevent creating that PEL if the host
Prevent missing sensor PEL when host is not running
occ-control will create a PEL if the OCC sensors PDRs have not been found after 5 mintues. This change will prevent creating that PEL if the host is not at runtime. This condition can happen if the host is powered on and then powered off before all sensors have been found.
Change-Id: I885f2148b7527ef9b577a60dd33ac9af3618e831 Signed-off-by: Chris Cain <cjcain@us.ibm.com>
show more ...
|
1c3349e4 | 24-Apr-2024 |
Chris Cain <cjcain@us.ibm.com> |
Update PEL to Predictive when unable to get OCC PDRs
Originally created PEL as informational, but it needs to be predictive to make it visible.
PEL is created when the PDRs have not been found afte
Update PEL to Predictive when unable to get OCC PDRs
Originally created PEL as informational, but it needs to be predictive to make it visible.
PEL is created when the PDRs have not been found after 5 minutes.
Change-Id: If9ea66333ea63f1d1d2c6950c16b0401e50949c4 Signed-off-by: Chris Cain <cjcain@us.ibm.com>
show more ...
|
4b82f3e3 | 22-Apr-2024 |
Chris Cain <cjcain@us.ibm.com> |
Create PEL if unable to get the OCC PDRs
The OCC PDRs are required so occ-control will know when the OCCs are available and ready to communicate. If the PDRs never become available there is currentl
Create PEL if unable to get the OCC PDRs
The OCC PDRs are required so occ-control will know when the OCCs are available and ready to communicate. If the PDRs never become available there is currently no indication other than the OCC sensors not being available. This code change will create a PEL when the PDRs have not been found after 5 minutes. The service will continue looking for the PDRs after logging the PEL.
Change-Id: Ia2200273d04b91cba9cad3cf8465cc9cada73428 Signed-off-by: Chris Cain <cjcain@us.ibm.com>
show more ...
|
755af102 | 27-Feb-2024 |
Chris Cain <cjcain@us.ibm.com> |
Handle other PLDM_STATE_SET_OPERATIONAL states
- Code will no longer assume the OCC is not running if an unexpected state is received. It will continue to look for a good/known state. - Added code t
Handle other PLDM_STATE_SET_OPERATIONAL states
- Code will no longer assume the OCC is not running if an unexpected state is received. It will continue to look for a good/known state. - Added code that will throttle the occ-control pldm journal traces if unable to read the OCC active sensor states. In some error conditions, this tracing would flood the trace and the repeated traces are not helpful for debug. - Change some journal entries to ERR when the state indicated that the system was in safe mode (OCCs disabled) - If request for occ active sensor state was sent, and then a PLDM sensor event comes in for that instance, the event status is used and the response is ignored. - Added README for occ-control
Signed-off-by: Chris Cain <cjcain@us.ibm.com> Change-Id: Ic26f1d0c4dc59e7a61b965b052d649e4bc152fde
show more ...
|
89e54fab | 28-Feb-2024 |
Patrick Williams <patrick@stwcx.xyz> |
test: fix power10-mode compile errors
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I44a90cfbca3804de4a7fe169fa567a4672a48e78 |
fb0a5c3c | 28-Feb-2024 |
Patrick Williams <patrick@stwcx.xyz> |
occ_manager: add missing PLDM check
The configuration POWER10 does not explicitly depend on PLDM, but there were a few calls to the pldmHandle outside a PLDM guard. Add the PLDM guards in.
Signed-
occ_manager: add missing PLDM check
The configuration POWER10 does not explicitly depend on PLDM, but there were a few calls to the pldmHandle outside a PLDM guard. Add the PLDM guards in.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I1ae1a6a6ade375acc7ba4e59ddf0d8e0c5b7a711
show more ...
|
6506e0d3 | 28-Feb-2024 |
Patrick Williams <patrick@stwcx.xyz> |
meson: fix libpldm move to its own repository
The libpldm moved into its own repository separate from pldm proper. Update the wrap file and meson.build accordingly.
Signed-off-by: Patrick Williams
meson: fix libpldm move to its own repository
The libpldm moved into its own repository separate from pldm proper. Update the wrap file and meson.build accordingly.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I9559f361de3fb66a73ab6d18611ec34753377585
show more ...
|