Lines Matching +full:send +full:- +full:not +full:- +full:empty

3 #include "libpldm/instance-id.h"
12 #include <libpldm/transport/af-mctp.h>
13 #include <libpldm/transport/mctp-demux.h>
16 #include <phosphor-logging/lg2.hpp>
66 if (pdrs.empty()) in fetchSensorInfo()
70 lg2::error("fetchSensorInfo: state sensor PDRs ({ID}) not present", in fetchSensorInfo()
87 auto possibleStatesPtr = stateSensorPDR->possible_states; in fetchSensorInfo()
88 for (auto offset = 0; offset < stateSensorPDR->composite_sensor_count; in fetchSensorInfo()
95 if (possibleStates->state_set_id == stateSetId) in fetchSensorInfo()
101 possibleStatesPtr += sizeof(possibleStates->state_set_id) + in fetchSensorInfo()
102 sizeof(possibleStates->possible_states_size) + in fetchSensorInfo()
103 possibleStates->possible_states_size; in fetchSensorInfo()
108 lg2::error("pldm: state sensor PDR not found"); in fetchSensorInfo()
120 uint32_t key = pdrPtr->sensor_id; in fetchSensorInfo()
121 entityInstMap.emplace(key, static_cast<SensorID>(pdrPtr->sensor_id)); in fetchSensorInfo()
140 if (sensorToSBEInstance.empty()) in sensorEvent()
161 const uint8_t instance = sensorEntry->second; in sensorEvent()
214 const uint8_t instance = sensorEntry->second; in sensorEvent()
221 lg2::warning("pldm: HRESET is NOT READY (OCC{INST})", in sensorEvent()
246 else // request was not due to our HRESET request in sensorEvent()
251 … "pldm: Unexpected HRESET state {FAILED} (OCC{INST}) when HRESET not outstanding", in sensorEvent()
270 auto stateEntryValue = stateEntry->second; in hostStateEvent()
283 if (!sensorToOCCInstance.empty()) in clearData()
295 if (!occInstanceToEffecter.empty()) in clearData()
301 if (!sensorToSBEInstance.empty()) in clearData()
307 if (!sbeInstanceToEffecter.empty()) in clearData()
313 if (!outstandingHResets.empty()) in clearData()
346 lg2::error("pldm: state effecter PDRs not present"); in fetchEffecterInfo()
353 auto possibleStatesPtr = stateEffecterPDR->possible_states; in fetchEffecterInfo()
354 for (auto offset = 0; offset < stateEffecterPDR->composite_effecter_count; in fetchEffecterInfo()
361 if (possibleStates->state_set_id == stateSetId) in fetchEffecterInfo()
364 effecterCount = stateEffecterPDR->composite_effecter_count; in fetchEffecterInfo()
368 possibleStatesPtr += sizeof(possibleStates->state_set_id) + in fetchEffecterInfo()
369 sizeof(possibleStates->possible_states_size) + in fetchEffecterInfo()
370 possibleStates->possible_states_size; in fetchEffecterInfo()
383 uint32_t key = pdrPtr->effecter_id; in fetchEffecterInfo()
384 entityInstMap.emplace(key, static_cast<SensorID>(pdrPtr->effecter_id)); in fetchEffecterInfo()
459 effecterEntry->second, OCCEffecterCount, bootRestartPosition, in resetOCC()
462 if (request.empty()) in resetOCC()
464 lg2::error("pldm: SetStateEffecterStates OCC reset request empty"); in resetOCC()
468 // Send request to reset the OCCs/PM Complex (and wait for response) in resetOCC()
475 lg2::error("resetOCC: HOST is not running (OCC{INST})", "INST", in resetOCC()
485 if (sbeInstanceToEffecter.empty()) in sendHRESET()
503 effecterEntry->second, SBEEffecterCount, in sendHRESET()
506 if (request.empty()) in sendHRESET()
508 lg2::error("pldm: SetStateEffecterStates HRESET request empty"); in sendHRESET()
512 // Send request to issue HRESET of SBE (and wait for response) in sendHRESET()
520 lg2::error("sendHRESET: HOST is not running (OCC{INST})", "INST", in sendHRESET()
533 if (rc == -EAGAIN) in getPldmInstanceId()
587 return -1; in openMctpDemuxTransport()
596 return -1; in openMctpDemuxTransport()
607 return -1; in openMctpDemuxTransport()
626 return -1; in openAfMctpTransport()
635 return -1; in openAfMctpTransport()
646 return -1; in openAfMctpTransport()
662 return -1; in pldmOpen()
671 return -1; in pldmOpen()
698 // Send the PLDM request message to HBRT in sendPldm()
711 // Send PLDM request in sendPldm()
746 else // not expecting the response in sendPldm()
792 "ERR", rc, "STR", strerror(-rc), "FD", pldmFd, "MSG", msgType); in registerPldmRspCallback()
809 "pldmRspExpired: timerCallback - timeout waiting for pldm " in pldmRspExpired()
820 // reset not acked, try again in pldmRspExpired()
845 pldmFd = -1; in pldmClose()
856 lg2::info("pldmRspCallback - revents={NUM}", "NUM", lg2::hex, revents); in pldmRspCallback()
857 return -1; in pldmRspCallback()
862 if (!pldmIface->pldmInstanceID) in pldmRspCallback()
865 return -1; in pldmRspCallback()
876 "INST", pldmIface->pldmInstanceID.value()); in pldmRspCallback()
878 auto rc = pldm_transport_recv_msg(pldmIface->pldmTransport, &pldmTID, in pldmRspCallback()
892 return -1; in pldmRspCallback()
898 !pldm_msg_hdr_correlate_response(&pldmIface->_requestHeader, hdr)) in pldmRspCallback()
912 if (pldmIface->pldmRspTimer.isEnabled()) in pldmRspCallback()
915 pldmIface->pldmRspTimer.setEnabled(false); in pldmRspCallback()
925 if (response->payload[0] != PLDM_SUCCESS) in pldmRspCallback()
927 lg2::error("pldmRspCallback: payload[0] was not success: {STATUS}", in pldmRspCallback()
928 "STATUS", response->payload[0]); in pldmRspCallback()
929 pldmIface->pldmClose(); in pldmRspCallback()
930 return -1; in pldmRspCallback()
936 responseMsgSize -= sizeof(pldm_msg_hdr); in pldmRspCallback()
944 pldmIface->pldmClose(); in pldmRspCallback()
945 return -1; in pldmRspCallback()
948 pldmIface->pldmClose(); in pldmRspCallback()
950 const uint8_t instance = pldmIface->pldmResponseOcc; in pldmRspCallback()
952 pldmIface->pldmResponseReceived = true; in pldmRspCallback()
957 pldmIface->occActiveCallBack(instance, true); in pldmRspCallback()
967 pldmIface->safeModeCallBack(true); in pldmRspCallback()
969 pldmIface->occActiveCallBack(instance, false); in pldmRspCallback()
974 lg2::info("pldmRspCallback: OCC{INST} is not running", "INST", in pldmRspCallback()
976 pldmIface->occActiveCallBack(instance, false); in pldmRspCallback()
987 "pldmRspCallback: Unexpected State: {STATE} - PLDM response " in pldmRspCallback()
1003 lg2::info("pldmResetCallback - revents={NUM}", "NUM", lg2::hex, in pldmResetCallback()
1005 return -1; in pldmResetCallback()
1010 if (!pldmIface->pldmInstanceID) in pldmResetCallback()
1013 return -1; in pldmResetCallback()
1024 "ID", pldmIface->pldmInstanceID.value()); in pldmResetCallback()
1026 auto rc = pldm_transport_recv_msg(pldmIface->pldmTransport, &pldmTID, in pldmResetCallback()
1040 return -1; in pldmResetCallback()
1046 !pldm_msg_hdr_correlate_response(&pldmIface->_requestHeader, hdr)) in pldmResetCallback()
1060 if (pldmIface->pldmRspTimer.isEnabled()) in pldmResetCallback()
1063 pldmIface->pldmRspTimer.setEnabled(false); in pldmResetCallback()
1073 if (response->payload[0] != PLDM_SUCCESS) in pldmResetCallback()
1076 "pldmResetCallback: Reset FAILED ({MSG}) - payload[0] was not success: {STATUS}", in pldmResetCallback()
1077 "MSG", msgType, "STATUS", response->payload[0]); in pldmResetCallback()
1078 pldmIface->pldmClose(); in pldmResetCallback()
1086 pldmIface->resetOCC(resetInstance); in pldmResetCallback()
1088 return -1; in pldmResetCallback()
1095 pldmIface->pldmClose(); in pldmResetCallback()
1097 pldmIface->pldmResponseReceived = true; in pldmResetCallback()
1161 instance, "ID", lg2::hex, entry->first); in checkActiveSensor()
1165 auto request = encodeGetStateSensorRequest(instance, entry->first); in checkActiveSensor()
1166 if (request.empty()) in checkActiveSensor()
1171 // Send request to PLDM and setup callback for response in checkActiveSensor()