History log of /openbmc/phosphor-logging/extensions/openpower-pels/pldm_interface.hpp (Results 1 – 7 of 7)
Revision Date Author Comments
# 9fdcad5a 07-Feb-2025 Matt Spinler <spinler@us.ibm.com>

PELs: Use pldm_msg_hdr_correlate_response()

This call to ensure the PLDM response matches the PLDM request for the
'New PEL Available' command was previously missing (since it didn't
exist at the ti

PELs: Use pldm_msg_hdr_correlate_response()

This call to ensure the PLDM response matches the PLDM request for the
'New PEL Available' command was previously missing (since it didn't
exist at the time this code was written), causing the code to think it
got the correct response when really it was someone else's.

It would then move on to the next PEL before it actually heard back
about the current one, causing issues on the host side.

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

show more ...


# b0ff05ab 24-Sep-2024 Matt Spinler <spinler@us.ibm.com>

PEL: Increase PLDM timeout

The current time the code waits for a PLDM response from PHYP before it
considers it a timeout is ten seconds, after which it will retry sending
the command again. Howeve

PEL: Increase PLDM timeout

The current time the code waits for a PLDM response from PHYP before it
considers it a timeout is ten seconds, after which it will retry sending
the command again. However, PHYP has two twenty second waits on its
responses to the BMC PLDM daemon so ten seconds isn't long enough to
know something failed.

There has been a case seen where it took the BMC PLDM code 12 seconds to
handle the response from PHYP, in which case the PEL daemon thought it
failed and re-sent a new file available command to PHYP for a PEL it
already knew about.

The timeout value is being increased to 45 seconds, which is the 40
seconds for the PHYP wait plus some wiggle room.

Even if PHYP does time out trying to respond it does does already know
about the PEL, so if we resend it will already have it, but I don't
really see any alternatives, as the code can't be sure PHYP got it if it
never responded.

Tested:
PELs are sent to PHYP. It's rare to hit a case where there are
timeouts, so putting this in place anyway.

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

show more ...


# 0387a74e 01-Jul-2024 Lakshmi Yadlapati <lakshmiy@us.ibm.com>

openpower-pels: Move to libpldm pldm_transport APIs

- Replaced the deprecated pldm transport APIs with the new libpldm
pldm_transport APIs.
- Updated the receive function to pass pldm_transport as

openpower-pels: Move to libpldm pldm_transport APIs

- Replaced the deprecated pldm transport APIs with the new libpldm
pldm_transport APIs.
- Updated the receive function to pass pldm_transport as a parameter.
- Modified the function signatures and their calls to ensure the
pldm_transport parameter is properly passed.

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: Ib143dc122637ef7e390fceb64f1f94c65172ae39
Signed-off-by: Lakshmi Yadlapati <lakshmiy@us.ibm.com>

show more ...


# 49bcbe92 26-Jun-2024 Patrick Williams <patrick@stwcx.xyz>

openpower-pels: use libpldm directly for IID allocation

libpldm provides APIs for allocating instance IDs directly, which
eliminates the need for remote dbus calls to the pldm daemon. Refactor
the

openpower-pels: use libpldm directly for IID allocation

libpldm provides APIs for allocating instance IDs directly, which
eliminates the need for remote dbus calls to the pldm daemon. Refactor
the code to use these APIs and eliminate all the dbus operations.

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

show more ...


# 2544b419 04-Oct-2022 Patrick Williams <patrick@stwcx.xyz>

clang-format: update with latest

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


# 2843ba28 03-Mar-2020 Matt Spinler <spinler@us.ibm.com>

PEL: Get PLDM instance ID asynchonously

Start actually getting the PLDM instance ID from the PLDM daemon for use
in sending PLDM commands, and refactor the PLDM interface class to do
this using sd_b

PEL: Get PLDM instance ID asynchonously

Start actually getting the PLDM instance ID from the PLDM daemon for use
in sending PLDM commands, and refactor the PLDM interface class to do
this using sd_bus_call_method_async. After the instance ID is obtained
then the rest of the PLDM command sequence can be run to notify the host
of PELs.

This is necessary because the PLDM daemon may be making a call to the
logging daemon at the same time to create a new OpenBMC event log due
to a host PEL that came down, and there will be a deadlock if the method
call was synchronous.

A new instance ID is needed for every new PLDM command, unless there was
a failure before the host could respond, so the code keeps track of when
it needs to get a new ID.

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

show more ...


# 5c350fdf 12-Dec-2019 Matt Spinler <spinler@us.ibm.com>

PEL: Add PLDM command handler

Derive a PLDMInterface class from the HostInterface class to implement
sending the 'new file available' PLDM command to notify the host of the
ID and size of PELs.

The

PEL: Add PLDM command handler

Derive a PLDMInterface class from the HostInterface class to implement
sending the 'new file available' PLDM command to notify the host of the
ID and size of PELs.

The command response is received asynchronously by watching for activity
on the MCTP file descriptor that was used for the command. If a
response isn't received in 10 seconds, it will be considered a failure.

Both on response success and failure the class will call the registered
callback function and pass it the result.

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

show more ...