FreeBSD kernel pms device code
sampirsp.c File Reference

The file implements the functions of MPI Outbound Response Message. More...

#include <sys/cdefs.h>
#include <dev/pms/config.h>
#include <dev/pms/RefTisa/sallsdk/spc/saglobal.h>
Include dependency graph for sampirsp.c:

Go to the source code of this file.

Functions

 __FBSDID ("$FreeBSD$")
 
void saReturnRequestToFreePool (agsaRoot_t *agRoot, agsaIORequestDesc_t *pRequest)
 Return request to free pool. More...
 
GLOBAL bit32 mpiEchoRsp (agsaRoot_t *agRoot, agsaEchoRsp_t *pIomb)
 Process Outbound IOMB Message. More...
 
GLOBAL bit32 mpiGetNVMDataRsp (agsaRoot_t *agRoot, agsaGetNVMDataRsp_t *pIomb)
 Get NVM Data Response. More...
 
GLOBAL bit32 mpiPhyStartEvent (agsaRoot_t *agRoot, agsaHWEvent_Phy_OUB_t *pIomb)
 Phy Event Response from SPCv. More...
 
GLOBAL bit32 mpiPhyStopEvent (agsaRoot_t *agRoot, agsaHWEvent_Phy_OUB_t *pIomb)
 
GLOBAL bit32 mpiHWevent (agsaRoot_t *agRoot, agsaHWEvent_SPC_OUB_t *pIomb)
 Hardware Event Response from SPC. More...
 
GLOBAL bit32 mpiSMPCompletion (agsaRoot_t *agRoot, agsaSMPCompletionRsp_t *pIomb)
 SPC MPI SMP Completion. More...
 
GLOBAL bit32 mpiGetDevHandleRsp (agsaRoot_t *agRoot, agsaGetDevHandleRsp_t *pIomb)
 SPC MPI Get Device Handle Command Response. More...
 
GLOBAL bit32 mpiPhyCntrlRsp (agsaRoot_t *agRoot, agsaLocalPhyCntrlRsp_t *pIomb)
 SPC MPI Phy Control Command Response. More...
 
GLOBAL bit32 mpiDeviceRegRsp (agsaRoot_t *agRoot, agsaDeviceRegistrationRsp_t *pIomb)
 SPC MPI Device Register Command Response. More...
 
GLOBAL bit32 mpiDeregDevHandleRsp (agsaRoot_t *agRoot, agsaDeregDevHandleRsp_t *pIomb)
 SPC MPI Deregister Device Command Response. More...
 
GLOBAL bit32 mpiGetPhyProfileRsp (agsaRoot_t *agRoot, agsaGetPhyProfileRspV_t *pIomb)
 Get Phy Profile Response SPCv. More...
 
GLOBAL bit32 mpiSetPhyProfileRsp (agsaRoot_t *agRoot, agsaSetPhyProfileRspV_t *pIomb)
 
GLOBAL bit32 mpiGetDevInfoRsp (agsaRoot_t *agRoot, agsaGetDevInfoRspV_t *pIomb)
 Get Device Information Response. More...
 
GLOBAL bit32 mpiGetDevInfoRspSpc (agsaRoot_t *agRoot, agsaGetDevInfoRsp_t *pIomb)
 Get Device Information Response. More...
 
GLOBAL bit32 mpiSetDevInfoRsp (agsaRoot_t *agRoot, agsaSetDeviceInfoRsp_t *pIomb)
 Set Device Information Response. More...
 
GLOBAL bit32 mpiSSPEvent (agsaRoot_t *agRoot, agsaSSPEventRsp_t *pIomb)
 SPC MPI SSP Event. More...
 
GLOBAL bit32 mpiSATAEvent (agsaRoot_t *agRoot, agsaSATAEventRsp_t *pIomb)
 SPC MPI SATA Event. More...
 
GLOBAL bit32 mpiSetNVMDataRsp (agsaRoot_t *agRoot, agsaSetNVMDataRsp_t *pIomb)
 Set NVM Data Response. More...
 
GLOBAL bit32 mpiSSPAbortRsp (agsaRoot_t *agRoot, agsaSSPAbortRsp_t *pIomb)
 SPC MPI SSP ABORT Response. More...
 
GLOBAL bit32 mpiSATAAbortRsp (agsaRoot_t *agRoot, agsaSATAAbortRsp_t *pIomb)
 SPC MPI SATA ABORT Response. More...
 
GLOBAL bit32 mpiGPIORsp (agsaRoot_t *agRoot, agsaGPIORsp_t *pIomb)
 Set GPIO Response. More...
 
GLOBAL bit32 mpiGPIOEventRsp (agsaRoot_t *agRoot, agsaGPIOEvent_t *pIomb)
 Set GPIO Event Response. More...
 
GLOBAL bit32 mpiSASDiagStartEndRsp (agsaRoot_t *agRoot, agsaSASDiagStartEndRsp_t *pIomb)
 SAS Diagnostic Start/End Response. More...
 
GLOBAL bit32 mpiSASDiagExecuteRsp (agsaRoot_t *agRoot, agsaSASDiagExecuteRsp_t *pIomb)
 SAS Diagnostic Execute Response. More...
 
GLOBAL bit32 mpiGeneralEventRsp (agsaRoot_t *agRoot, agsaGeneralEventRsp_t *pIomb)
 SAS General Event Notification Response. More...
 
GLOBAL bit32 mpiSSPReqReceivedNotify (agsaRoot_t *agRoot, agsaSSPReqReceivedNotify_t *pMsg1)
 SPC MPI SSP Request Received Event (target mode) More...
 
GLOBAL bit32 mpiDeviceHandleArrived (agsaRoot_t *agRoot, agsaDeviceHandleArrivedNotify_t *pMsg1)
 SPC MPI Device Handle Arrived Event (target mode) More...
 
GLOBAL bit32 mpiGetTimeStampRsp (agsaRoot_t *agRoot, agsaGetTimeStampRsp_t *pIomb)
 Get Time Stamp Response. More...
 
GLOBAL bit32 mpiSASHwEventAckRsp (agsaRoot_t *agRoot, agsaSASHwEventAckRsp_t *pIomb)
 SAS HW Event Ack Response. More...
 
GLOBAL bit32 mpiPortControlRsp (agsaRoot_t *agRoot, agsaPortControlRsp_t *pIomb)
 Port Control Response. More...
 
GLOBAL bit32 mpiSMPAbortRsp (agsaRoot_t *agRoot, agsaSMPAbortRsp_t *pIomb)
 SPC MPI SMP ABORT Response. More...
 
GLOBAL bit32 mpiDeviceHandleRemoval (agsaRoot_t *agRoot, agsaDeviceHandleRemoval_t *pMsg1)
 SPC MPI Device Handle Arrived Event (target mode) More...
 
GLOBAL bit32 mpiSetDeviceStateRsp (agsaRoot_t *agRoot, agsaSetDeviceStateRsp_t *pIomb)
 Set Device State Response. More...
 
GLOBAL bit32 mpiGetDeviceStateRsp (agsaRoot_t *agRoot, agsaGetDeviceStateRsp_t *pIomb)
 Get Device State Response. More...
 
GLOBAL bit32 mpiSasReInitializeRsp (agsaRoot_t *agRoot, agsaSasReInitializeRsp_t *pIomb)
 SAS ReInitialize Response. More...
 
GLOBAL bit32 mpiSGpioRsp (agsaRoot_t *agRoot, agsaSGpioRsp_t *pInIomb)
 serial GPIO Response More...
 
GLOBAL bit32 mpiPCIeDiagExecuteRsp (agsaRoot_t *agRoot, void *pInIomb)
 PCIE Diagnostics Response. More...
 
GLOBAL bit32 mpiGetDFEDataRsp (agsaRoot_t *agRoot, void *pIomb)
 Get DFE Data command Response. More...
 
GLOBAL bit32 mpiSetControllerConfigRsp (agsaRoot_t *agRoot, agsaSetControllerConfigRsp_t *pIomb)
 SAS Set Controller Config Response. More...
 
GLOBAL bit32 mpiGetControllerConfigRsp (agsaRoot_t *agRoot, agsaGetControllerConfigRsp_t *pIomb)
 SAS Get Controller Config Response. More...
 
GLOBAL bit32 mpiKekManagementRsp (agsaRoot_t *agRoot, agsaKekManagementRsp_t *pIomb)
 KEK Management Response. More...
 
GLOBAL bit32 mpiDekManagementRsp (agsaRoot_t *agRoot, agsaDekManagementRsp_t *pIomb)
 DEK Management Response. More...
 
GLOBAL bit32 mpiOperatorManagementRsp (agsaRoot_t *agRoot, agsaOperatorMangmenRsp_t *pIomb)
 Operator Management Response. More...
 
GLOBAL bit32 mpiBistRsp (agsaRoot_t *agRoot, agsaEncryptBistRsp_t *pIomb)
 
GLOBAL bit32 mpiSetOperatorRsp (agsaRoot_t *agRoot, agsaSetOperatorRsp_t *pIomb)
 Set Operator Response. More...
 
GLOBAL bit32 mpiGetOperatorRsp (agsaRoot_t *agRoot, agsaGetOperatorRsp_t *pIomb)
 Get Operator Response. More...
 
GLOBAL bit32 mpiGetVHistRsp (agsaRoot_t *agRoot, agsaGetVHistCapRsp_t *pIomb)
 
GLOBAL bit32 mpiDifEncOffloadRsp (agsaRoot_t *agRoot, agsaDifEncOffloadRspV_t *pIomb)
 DifEncOffload Response. More...
 

Detailed Description

The file implements the functions of MPI Outbound Response Message.

Definition in file sampirsp.c.

Function Documentation

◆ __FBSDID()

__FBSDID ( "$FreeBSD$"  )

◆ mpiBistRsp()

◆ mpiDekManagementRsp()

◆ mpiDeregDevHandleRsp()

◆ mpiDeviceHandleArrived()

GLOBAL bit32 mpiDeviceHandleArrived ( agsaRoot_t agRoot,
agsaDeviceHandleArrivedNotify_t pMsg1 
)

SPC MPI Device Handle Arrived Event (target mode)

This function handles the Device Handle Arrived Event.

Parameters
agRootHandles for this instance of SAS/SATA LLL
pMsg1pointer of Message
Returns
The read value

Definition at line 5355 of file sampirsp.c.

References agFALSE, agNULL, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, agTRUE, agsaSASDeviceInfo_s::commonDevInfo, Conrate_SPC_MASK, Conrate_SPC_SHIFT, Conrate_V_MASK, Conrate_V_SHIFT, DEVICE_ID_BITS, agsaDeviceMap_s::DeviceHandle, agsaDeviceMap_s::DeviceIdFromFW, agsaLLRoot_s::DeviceMap, agsaDeviceDesc_s::DeviceMapIndex, agsaSASIdentify_s::deviceType_addressFrameType, agsaDeviceDesc_s::devInfo, agsaDeviceInfo_s::devType_S_Rate, agsaDeviceInfo_s::flag, agsaLLRoot_s::freePorts, hpDBG_VERY_LOUD, agsaSASDeviceInfo_s::initiator_ssp_stp_smp, agsaDeviceDesc_s::initiatorDevHandle, agsaDeviceInfo_s::it_NexusTimeout, ITL_TO_DEFAULT, agsaPort_s::linkNode, LL_PORT_LOCK, mpiDevHandleAcceptCmd(), agsaSASDeviceInfo_s::numOfPhys, agsaContext_s::osData, OSSA_OFFSET_OF, OSSA_RC_ACCEPT, ossaDeviceHandleAccept(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaPort_s::portContext, agsaPortMap_s::PortContext, agsaPort_s::portId, agsaPortMap_s::PortID, PortId_SPC_MASK, PortId_V_MASK, agsaLLRoot_s::PortMap, agsaPortMap_s::PortStatus, PROTOCOL_BITS, PROTOCOL_SHIFT, SA_ASSERT, SA_DBG1, SA_DBG2, SA_DBG3, SA_IDFRM_SMP_BIT, SA_IDFRM_SSP_BIT, saLlistAdd, saLlistGetHead, saLlistRemove, agsaDeviceInfo_s::sasAddressHi, agsaSASIdentify_s::sasAddressHi, agsaDeviceInfo_s::sasAddressLo, agsaSASIdentify_s::sasAddressLo, agsaDeviceHandleArrivedNotify_s::sasAddrHi, agsaDeviceHandleArrivedNotify_s::sasAddrLow, agsaSASSATADevInfo_s::sasDeviceInfo, agsaContext_s::sdkData, SHIFT16, si_memset(), siPortSASDeviceAdd(), smIS_SPCV(), SMP_TO_DEFAULT, smTraceFuncEnter, smTraceFuncExit, agsaPort_s::status, agsaPort_s::tobedeleted, and agsaLLRoot_s::validPorts.

Referenced by mpiParseOBIomb().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mpiDeviceHandleRemoval()

◆ mpiDeviceRegRsp()

GLOBAL bit32 mpiDeviceRegRsp ( agsaRoot_t agRoot,
agsaDeviceRegistrationRsp_t pIomb 
)

SPC MPI Device Register Command Response.

This function handles the response of Device Register Command.

Parameters
agRootHandles for this instance of SAS/SATA hardware
pIombpointer of Message
Returns
The read value

Definition at line 2188 of file sampirsp.c.

References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, DEVICE_ID_BITS, agsaDeviceMap_s::DeviceHandle, agsaDeviceMap_s::DeviceIdFromFW, agsaLLRoot_s::DeviceMap, agsaDeviceDesc_s::DeviceMapIndex, agsaLLRoot_s::DeviceRegistrationCB, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, hpDBG_VERY_LOUD, agsaLLRoot_s::IOMap, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, MAX_IO_DEVICE_ENTRIES, MPI_ERR_DEVICE_ALREADY_REGISTERED, MPI_ERR_DEVICE_HANDLE_UNAVAILABLE, MPI_ERR_DEVICE_TYPE_NOT_VALID, MPI_ERR_PHY_ID_ALREADY_REGISTERED, MPI_ERR_PHY_ID_INVALID, MPI_ERR_PORT_INVALID_PORT_ID, MPI_ERR_PORT_STATE_NOT_VALID, NULL, OS_ASSERT, OSSA_FAILURE_DEVICE_ALREADY_REGISTERED, OSSA_FAILURE_DEVICE_TYPE_NOT_VALID, OSSA_FAILURE_INVALID_PHY_ID, OSSA_FAILURE_OUT_OF_RESOURCE, OSSA_FAILURE_PHY_ID_ALREADY_REGISTERED, OSSA_FAILURE_PORT_ID_OUT_OF_RANGE, OSSA_FAILURE_PORT_NOT_VALID_STATE, OSSA_OFFSET_OF, OSSA_SUCCESS, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaIORequestDesc_s::pDevice, agsaDeviceDesc_s::pPort, SA_ASSERT, SA_DBG1, SA_DBG3, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, agsaContext_s::sdkData, siPortDeviceListRemove(), siPortDeviceRemove(), smIS_SPCV(), smTraceFuncEnter, smTraceFuncExit, status, agsaDeviceRegistrationRsp_s::tag, agsaIOMap_s::Tag, agsaDeviceDesc_s::targetDevHandle, and agsaIORequestDesc_s::valid.

Referenced by mpiParseOBIomb().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mpiDifEncOffloadRsp()

◆ mpiEchoRsp()

GLOBAL bit32 mpiEchoRsp ( agsaRoot_t agRoot,
agsaEchoRsp_t pIomb 
)

Process Outbound IOMB Message.

Process Outbound IOMB from SPC

Parameters
agRootHandles for this instance of SAS/SATA LL Layer
pMsg1Pointer of Response IOMB message 1
categorycategory of outbpond IOMB header
opcodeOpcode of Outbound IOMB header
bcbuffer count of IOMB header
Returns
success or fail

ECHO Response

This routine handles the response of ECHO Command

Parameters
agRootHandles for this instance of SAS/SATA LLL
pIombPointer of IOMB Mesage
Returns
sucess or fail

Definition at line 678 of file sampirsp.c.

References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, hpDBG_VERY_LOUD, agsaLLRoot_s::IOMap, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, OSSA_OFFSET_OF, ossaEchoCB(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaEchoRsp_s::payload, SA_ASSERT, SA_DBG1, SA_DBG3, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, agsaContext_s::sdkData, smTraceFuncEnter, smTraceFuncExit, agsaEchoRsp_s::tag, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.

Referenced by mpiParseOBIomb().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mpiGeneralEventRsp()

GLOBAL bit32 mpiGeneralEventRsp ( agsaRoot_t agRoot,
agsaGeneralEventRsp_t pIomb 
)

SAS General Event Notification Response.

This routine handles the response of Inbound IOMB Command with error case

Parameters
agRootHandles for this instance of SAS/SATA LLL
pIombPointer of IOMB Mesage
Returns
sucess or fail

Definition at line 4936 of file sampirsp.c.

References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_MAX_VALID_PORTS, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, agsaHWEventEncrypt_s::encryptOperation, flags, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, GEN_EVENT_DS_IN_NON_OPERATIONAL, GEN_EVENT_DS_IN_RECOVERY, GEN_EVENT_DS_INVALID, GEN_EVENT_INBOUND_IOMB_OPC_NOT_SUPPORTED, GEN_EVENT_IO_XFER_READ_COMPL_ERR, GEN_EVENT_IOMB_INVALID_OBID, GEN_EVENT_IOMB_V_BIT_NOT_SET, GENERAL_EVENT_PAYLOAD, hpDBG_VERY_LOUD, agsaGeneralEventRsp_s::inbIOMBpayload, agsaLLRoot_s::IOMap, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, agsaSwConfig_s::maxActiveIOs, NULL, OPC_INB_DEREG_DEV_HANDLE, OPC_INB_DEV_HANDLE_ACCEPT, OPC_INB_ECHO, OPC_INB_ENC_TEST_EXECUTE, OPC_INB_FW_FLASH_UPDATE, OPC_INB_FW_PROFILE, OPC_INB_GET_DEV_HANDLE, OPC_INB_GET_DEVICE_STATE, OPC_INB_GET_NVMD_DATA, OPC_INB_GET_OPERATOR, OPC_INB_GET_TIME_STAMP, OPC_INB_GPIO, OPC_INB_KEK_MANAGEMENT, OPC_INB_LOCAL_PHY_CONTROL, OPC_INB_OPR_MGMT, OPC_INB_PHYSTART, OPC_INB_PHYSTOP, OPC_INB_PORT_CONTROL, OPC_INB_SAS_DIAG_EXECUTE, OPC_INB_SAS_DIAG_MODE_START_END, OPC_INB_SAS_HW_EVENT_ACK, OPC_INB_SAS_RE_INITIALIZE, OPC_INB_SATA_ABORT, OPC_INB_SATA_DIF_ENC_OPSTART, OPC_INB_SATA_HOST_OPSTART, OPC_INB_SET_DEV_INFO, OPC_INB_SET_DEVICE_STATE, OPC_INB_SET_NVMD_DATA, OPC_INB_SET_OPERATOR, OPC_INB_SMP_ABORT, OPC_INB_SMP_REQUEST, OPC_INB_SPC_GET_DEV_INFO, OPC_INB_SPC_REG_DEV, OPC_INB_SSP_ABORT, OPC_INB_SSP_DIF_ENC_OPSTART, OPC_INB_SSPINIEXTIOSTART, OPC_INB_SSPINIIOSTART, OPC_INB_SSPINITMSTART, OPC_INB_SSPTGTIOSTART, OPC_INB_SSPTGTRSPSTART, OPCODE_BITS, OSSA_HW_ENCRYPT_KEK_UPDATE, OSSA_HW_ENCRYPT_KEK_UPDATE_AND_STORE, OSSA_HW_ENCRYPT_OPERATOR_MANAGEMENT, OSSA_HW_ENCRYPT_TEST_EXECUTE, OSSA_HW_EVENT_ENCRYPTION, OSSA_INVALID_ENCRYPTION_SECURITY_MODE, OSSA_OFFSET_OF, ossaGeneralEvent(), ossaGetOperatorCB(), ossaHwCB(), ossaOperatorManagementCB(), ossaSetOperatorCB(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaIORequestDesc_s::pDevice, agsaDeviceDesc_s::pendingIORequests, agsaIORequestDesc_s::pIORequestContext, SA_ASSERT, SA_DBG1, SA_DBG3, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, saLlistIORemove, agsaContext_s::sdkData, si_memset(), smTraceFuncEnter, smTraceFuncExit, status, agsaHWEventEncrypt_s::status, agsaLLRoot_s::swConfig, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.

Referenced by mpiParseOBIomb().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mpiGetControllerConfigRsp()

GLOBAL bit32 mpiGetControllerConfigRsp ( agsaRoot_t agRoot,
agsaGetControllerConfigRsp_t pIomb 
)

◆ mpiGetDevHandleRsp()

◆ mpiGetDeviceStateRsp()

◆ mpiGetDevInfoRsp()

GLOBAL bit32 mpiGetDevInfoRsp ( agsaRoot_t agRoot,
agsaGetDevInfoRspV_t pIomb 
)

Get Device Information Response.

This routine handles the response of Get Device Info Command Response

Parameters
agRootHandles for this instance of SAS/SATA LLL
pIombPointer of IOMB Message
Returns
sucess or fail

Definition at line 3088 of file sampirsp.c.

References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, agsaSATADeviceInfo_s::commonDevInfo, agsaSASDeviceInfo_s::commonDevInfo, DEV_TYPE_BITS, DEVICE_ID_BITS, agsaDeviceMap_s::DeviceHandle, agsaIORequestDesc_s::DeviceInfoCmdOption, agsaLLRoot_s::DeviceMap, agsaDeviceDesc_s::devInfo, agsaDeviceInfo_s::devType_S_Rate, FIRST_BURST, FIRST_BURST_MCN, agsaDeviceInfo_s::firstBurstSize, agsaDeviceInfo_s::flag, FLAG_VBITS, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, hpDBG_VERY_LOUD, agsaDeviceDesc_s::initiatorDevHandle, agsaLLRoot_s::IOMap, agsaIOMap_s::IORequest, agsaDeviceInfo_s::it_NexusTimeout, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, NEXUSTO_VBITS, OSSA_DEV_INFO_INVALID_HANDLE, OSSA_DEV_INFO_NO_EXTENDED_INFO, OSSA_OFFSET_OF, ossaGetDeviceInfoCB(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), SA_ASSERT, SA_DBG1, SA_DBG3, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, agsaDeviceInfo_s::sasAddressHi, agsaDeviceInfo_s::sasAddressLo, agsaGetDevInfoRspV_s::sasAddrHi, agsaGetDevInfoRspV_s::sasAddrLow, agsaSASSATADevInfo_s::sasDeviceInfo, agsaSASSATADevInfo_s::sataDeviceInfo, agsaContext_s::sdkData, SHIFT16, SHIFT24, SHIFT28, SHIFT30, SHIFT8, si_memcpy(), si_memset(), agsaDeviceInfo_s::smpTimeout, SMPTO_VBITS, smTraceFuncEnter, smTraceFuncExit, status, agsaIOMap_s::Tag, agsaDeviceDesc_s::targetDevHandle, and agsaIORequestDesc_s::valid.

Referenced by mpiParseOBIomb().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mpiGetDevInfoRspSpc()

GLOBAL bit32 mpiGetDevInfoRspSpc ( agsaRoot_t agRoot,
agsaGetDevInfoRsp_t pIomb 
)

Get Device Information Response.

This routine handles the response of Get Device Info Command Response

Parameters
agRootHandles for this instance of SAS/SATA LLL
pIombPointer of IOMB Message
Returns
sucess or fail

Definition at line 3320 of file sampirsp.c.

References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, agsaSATADeviceInfo_s::commonDevInfo, agsaSASDeviceInfo_s::commonDevInfo, DEV_TYPE_BITS, DEVICE_ID_BITS, agsaDeviceMap_s::DeviceHandle, agsaLLRoot_s::DeviceMap, agsaDeviceDesc_s::devInfo, agsaDeviceInfo_s::devType_S_Rate, FIRST_BURST, agsaDeviceInfo_s::firstBurstSize, agsaDeviceInfo_s::flag, FLAG_BITS, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, hpDBG_VERY_LOUD, agsaDeviceDesc_s::initiatorDevHandle, agsaLLRoot_s::IOMap, agsaIOMap_s::IORequest, agsaDeviceInfo_s::it_NexusTimeout, LINK_RATE_BITS, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, NEXUSTO_BITS, OSSA_DEV_INFO_INVALID_HANDLE, OSSA_DEV_INFO_NO_EXTENDED_INFO, OSSA_OFFSET_OF, ossaGetDeviceInfoCB(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), SA_ASSERT, SA_DBG1, SA_DBG2, SA_DBG3, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, agsaDeviceInfo_s::sasAddressHi, agsaDeviceInfo_s::sasAddressLo, agsaGetDevInfoRspSpc_s::sasAddrHi, agsaGetDevInfoRspSpc_s::sasAddrLow, agsaSASSATADevInfo_s::sasDeviceInfo, agsaSASSATADevInfo_s::sataDeviceInfo, agsaContext_s::sdkData, SHIFT16, SHIFT24, SHIFT28, SHIFT4, SHIFT8, agsaDeviceInfo_s::smpTimeout, SMPTO_BITS, smTraceFuncEnter, smTraceFuncExit, status, agsaIOMap_s::Tag, agsaDeviceDesc_s::targetDevHandle, and agsaIORequestDesc_s::valid.

Referenced by mpiParseOBIomb().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mpiGetDFEDataRsp()

◆ mpiGetNVMDataRsp()

◆ mpiGetOperatorRsp()

GLOBAL bit32 mpiGetOperatorRsp ( agsaRoot_t agRoot,
agsaGetOperatorRsp_t pIomb 
)

Get Operator Response.

This routine handles the response of the Operator management message

Parameters
agRootHandles for this instance of SAS/SATA LLL
pIombPointer of IOMB Mesage
Returns
sucess or fail

Definition at line 7543 of file sampirsp.c.

References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, hpDBG_VERY_LOUD, agsaID_s::ID, agsaLLRoot_s::IOMap, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, OSSA_OFFSET_OF, ossaGetOperatorCB(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), SA_ASSERT, SA_DBG1, SA_DBG2, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, agsaContext_s::sdkData, SHIFT8, si_memset(), smTraceFuncEnter, smTraceFuncExit, status, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.

Referenced by mpiParseOBIomb().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mpiGetPhyProfileRsp()

GLOBAL bit32 mpiGetPhyProfileRsp ( agsaRoot_t agRoot,
agsaGetPhyProfileRspV_t pIomb 
)

Get Phy Profile Response SPCv.

This routine handles the response of Get Phy Profile Command Response

Parameters
agRootHandles for this instance of SAS/SATA LLL
pIombPointer of IOMB Message
Returns
sucess or fail SPC only

Definition at line 2686 of file sampirsp.c.

References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_PHY_RATE_CONTROL_PAGE, AGSA_PHY_SNW3_PAGE, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, AGSA_SAS_PHY_ANALOG_SETTINGS_PAGE, AGSA_SAS_PHY_BW_COUNTERS_PAGE, AGSA_SAS_PHY_ERR_COUNTERS_CLR_PAGE, AGSA_SAS_PHY_ERR_COUNTERS_PAGE, AGSA_SAS_PHY_GENERAL_STATUS_PAGE, AGSA_SAS_PHY_OPEN_REJECT_RETRY_BACKOFF_THRESHOLD_PAGE, agsaPhyErrCountersPage_s::codeViolation, agsaIORequestDesc_s::completionCB, agsaPhyAnalogSettingsPage_s::Dword0, agsaSASPhyOpenRejectRetryBackOffThresholdPage_s::Dword0, agsaPhyRateControlPage_s::Dword0, agsaSASPhyGeneralStatusPage_s::Dword0, agsaPhyAnalogSettingsPage_s::Dword1, agsaSASPhyOpenRejectRetryBackOffThresholdPage_s::Dword1, agsaPhyRateControlPage_s::Dword1, agsaSASPhyGeneralStatusPage_s::Dword1, agsaPhyAnalogSettingsPage_s::Dword2, agsaSASPhyOpenRejectRetryBackOffThresholdPage_s::Dword2, agsaPhyRateControlPage_s::Dword2, agsaPhyAnalogSettingsPage_s::Dword3, agsaSASPhyOpenRejectRetryBackOffThresholdPage_s::Dword3, agsaPhyAnalogSettingsPage_s::Dword4, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, hpDBG_VERY_LOUD, agsaPhyErrCountersPage_s::inboundCRCError, agsaPhyErrCountersPage_s::invalidDword, agsaLLRoot_s::IOMap, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, agsaPhyErrCountersPage_s::lossOfDwordSynch, agsaPhySNW3Page_s::LSNW3, MARK_OFF, OSSA_OFFSET_OF, ossaGetPhyProfileCB(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaPhyErrCountersPage_s::phyResetProblem, agsaPhySNW3Page_s::RSNW3, agsaPhyErrCountersPage_s::runningDisparityError, agsaPhyBWCountersPage_s::RXBWCounter, SA_ASSERT, SA_DBG1, SA_DBG3, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, agsaContext_s::sdkData, SHIFT8, smTraceFuncEnter, smTraceFuncExit, status, agsaIOMap_s::Tag, agsaPhyBWCountersPage_s::TXBWCounter, and agsaIORequestDesc_s::valid.

Referenced by mpiParseOBIomb().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mpiGetTimeStampRsp()

GLOBAL bit32 mpiGetTimeStampRsp ( agsaRoot_t agRoot,
agsaGetTimeStampRsp_t pIomb 
)

Get Time Stamp Response.

This routine handles the response of Get Time Stamp Command

Parameters
agRootHandles for this instance of SAS/SATA LLL
pIombPointer of IOMB Mesage
Returns
sucess or fail

Definition at line 5586 of file sampirsp.c.

References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, hpDBG_VERY_LOUD, agsaLLRoot_s::IOMap, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, OSSA_OFFSET_OF, ossaGetTimeStampCB(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), SA_ASSERT, SA_DBG1, SA_DBG3, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, agsaContext_s::sdkData, smTraceFuncEnter, smTraceFuncExit, agsaGetTimeStampRsp_s::tag, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.

Referenced by mpiParseOBIomb().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mpiGetVHistRsp()

◆ mpiGPIOEventRsp()

GLOBAL bit32 mpiGPIOEventRsp ( agsaRoot_t agRoot,
agsaGPIOEvent_t pIomb 
)

Set GPIO Event Response.

This routine handles the response of GPIO Event

Parameters
agRootHandles for this instance of SAS/SATA LLL
pIombPointer of IOMB Mesage
Returns
sucess or fail

Definition at line 4704 of file sampirsp.c.

References AGSA_RC_SUCCESS, hpDBG_VERY_LOUD, OSSA_OFFSET_OF, ossaGpioEvent(), smTraceFuncEnter, and smTraceFuncExit.

Referenced by mpiParseOBIomb().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mpiGPIORsp()

◆ mpiHWevent()

GLOBAL bit32 mpiHWevent ( agsaRoot_t agRoot,
agsaHWEvent_SPC_OUB_t pIomb 
)

Hardware Event Response from SPC.

Process HW Event from SPC

Parameters
agRootHandles for this instance of SAS/SATA LL Layer
pIombpointer of IOMB
Returns
success or fail

Definition at line 1160 of file sampirsp.c.

References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, agsaPhyErrCountersPage_s::codeViolation, agsaSASIdentify_s::deviceType_addressFrameType, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, hpDBG_VERY_LOUD, HW_EVENT_BITS, agsaPhyErrCountersPage_s::inboundCRCError, agsaPhyErrCountersPage_s::invalidDword, agsaLLRoot_s::IOMap, agsaIOMap_s::IORequest, LINK_RATE_MASK, agsaIORequestDesc_s::linkNode, agsaPhy_s::linkstatus, LL_IOREQ_LOCKEQ_LOCK, agsaPhyErrCountersPage_s::lossOfDwordSynch, MARK_OFF, OSSA_HW_EVENT_BROADCAST_ASYNCH_EVENT, OSSA_HW_EVENT_BROADCAST_CHANGE, OSSA_HW_EVENT_BROADCAST_EXP, OSSA_HW_EVENT_BROADCAST_SES, OSSA_HW_EVENT_HARD_RESET_RECEIVED, OSSA_HW_EVENT_ID_FRAME_TIMEOUT, OSSA_HW_EVENT_IT_NEXUS_LOSS, OSSA_HW_EVENT_OPEN_RETRY_BACKOFF_THR_ADJUSTED, OSSA_HW_EVENT_PHY_DOWN, OSSA_HW_EVENT_PHY_ERR_CODE_VIOLATION, OSSA_HW_EVENT_PHY_ERR_DISPARITY_ERROR, OSSA_HW_EVENT_PHY_ERR_INBOUND_CRC, OSSA_HW_EVENT_PHY_ERR_INVALID_DWORD, OSSA_HW_EVENT_PHY_ERR_LOSS_OF_DWORD_SYNCH, OSSA_HW_EVENT_PHY_ERR_PHY_RESET_FAILED, OSSA_HW_EVENT_PHY_START_STATUS, OSSA_HW_EVENT_PHY_STOP_STATUS, OSSA_HW_EVENT_PORT_RECOVER, OSSA_HW_EVENT_PORT_RECOVERY_TIMER_TMO, OSSA_HW_EVENT_PORT_RESET_COMPLETE, OSSA_HW_EVENT_PORT_RESET_TIMER_TMO, OSSA_HW_EVENT_SAS_PHY_UP, OSSA_HW_EVENT_SATA_PHY_UP, OSSA_HW_EVENT_SATA_SPINUP_HOLD, OSSA_OFFSET_OF, OSSA_PORT_IN_RESET, OSSA_PORT_INVALID, OSSA_PORT_NOT_ESTABLISHED, OSSA_PORT_VALID, ossaHwCB(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), osti_memset, PHY_DOWN, PHY_ID_BITS, PHY_ID_V_BITS, PHY_IN_PORT_MASK, PHY_STATUS_SET, agsaLLRoot_s::phyCount, agsaSASIdentify_s::phyIdentifier, agsaPhyErrCountersPage_s::phyResetProblem, agsaLLRoot_s::phys, PORT_INVALIDATING, PORT_STATE_MASK, agsaPortMap_s::PortContext, agsaPortMap_s::PortID, PORTID_MASK, agsaLLRoot_s::PortMap, agsaPortMap_s::PortStatus, agsaPhyErrCountersPage_s::runningDisparityError, SA_ASSERT, SA_DBG1, SA_DBG2, SA_DBG3, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, agsaSASIdentify_s::sasAddressHi, agsaSASIdentify_s::sasAddressLo, agsaHWEvent_SPC_OUB_s::sasIdentify, agsaPhy_s::sasIdentify, agsaHWEvent_SPC_OUB_s::sataFis, agsaContext_s::sdkData, SHIFT16, SHIFT24, SHIFT28, SHIFT4, SHIFT8, si_memcpy(), si_memset(), siEventPhyUpRcvd(), siEventSATASignatureRcvd(), siPhyStopCB(), smIS_SPC(), smTrace, smTraceFuncEnter, smTraceFuncExit, status, agsaPort_s::status, STATUS_BITS, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.

Referenced by mpiParseOBIomb().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mpiKekManagementRsp()

GLOBAL bit32 mpiKekManagementRsp ( agsaRoot_t agRoot,
agsaKekManagementRsp_t pIomb 
)

◆ mpiOperatorManagementRsp()

◆ mpiPCIeDiagExecuteRsp()

GLOBAL bit32 mpiPCIeDiagExecuteRsp ( agsaRoot_t agRoot,
void *  pInIomb 
)

PCIE Diagnostics Response.

This routine handles the response of PCIE Diagnostics Response

Parameters
agRootHandles for this instance of SAS/SATA LLL
pIombPointer of IOMB Mesage
Returns
sucess or fail

Definition at line 6467 of file sampirsp.c.

References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, agsaPCIeDiagResponse_s::DIF_ERR, agsaPCIeDiagResponse_s::DWord10, agsaPCIeDiagResponse_s::DWord11, agsaPCIeDiagResponse_s::DWord8, agsaPCIeDiagResponse_s::DWord9, agsaPCIeDiagResponse_s::ERR_BLKH, agsaPCIeDiagResponse_s::ERR_BLKL, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, hpDBG_VERY_LOUD, agsaLLRoot_s::IOMap, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, OSSA_IO_INVALID_LENGTH, OSSA_OFFSET_OF, OSSA_PCIE_DIAG_INTERNAL_FAILURE, OSSA_PCIE_DIAG_INVALID_BLOCK_SIZE, OSSA_PCIE_DIAG_INVALID_CMD_DESC, OSSA_PCIE_DIAG_INVALID_CMD_TYPE, OSSA_PCIE_DIAG_INVALID_COMMAND, OSSA_PCIE_DIAG_INVALID_PCIE_ADDR, OSSA_PCIE_DIAG_IO_XFR_ERROR_DIF_APPLICATION_TAG_MISMATCH, OSSA_PCIE_DIAG_IO_XFR_ERROR_DIF_CRC_MISMATCH, OSSA_PCIE_DIAG_IO_XFR_ERROR_DIF_MISMATCH, OSSA_PCIE_DIAG_IO_XFR_ERROR_DIF_REFERENCE_TAG_MISMATCH, OSSA_PCIE_DIAG_LENGTH_NOT_BLOCK_SIZE_ALIGNED, OSSA_PCIE_DIAG_SUCCESS, ossaPCIeDiagExecuteCB(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), SA_ASSERT, SA_DBG1, SA_DBG3, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, agsaContext_s::sdkData, si_memset(), smIS_SPCV(), smTraceFuncEnter, smTraceFuncExit, Status, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.

Referenced by mpiParseOBIomb().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mpiPhyCntrlRsp()

GLOBAL bit32 mpiPhyCntrlRsp ( agsaRoot_t agRoot,
agsaLocalPhyCntrlRsp_t pIomb 
)

SPC MPI Phy Control Command Response.

This function handles the response of PHY Control Command.

Parameters
agRootHandles for this instance of SAS/SATA hardware
pIombpointer of Message
Returns
The read value

Definition at line 2107 of file sampirsp.c.

References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, agsaIORequestDesc_s::completionCB, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, hpDBG_VERY_LOUD, agsaLLRoot_s::IOMap, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, LOCAL_PHY_OP_BITS, LOCAL_PHY_PHYID, MARK_OFF, OSSA_OFFSET_OF, ossaLocalPhyControlCB(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), SA_ASSERT, SA_DBG1, SA_DBG3, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, agsaContext_s::sdkData, SHIFT8, smTraceFuncEnter, smTraceFuncExit, status, agsaLocalPhyCntrlRsp_s::tag, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.

Referenced by mpiParseOBIomb().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mpiPhyStartEvent()

◆ mpiPhyStopEvent()

◆ mpiPortControlRsp()

◆ mpiSASDiagExecuteRsp()

◆ mpiSASDiagStartEndRsp()

GLOBAL bit32 mpiSASDiagStartEndRsp ( agsaRoot_t agRoot,
agsaSASDiagStartEndRsp_t pIomb 
)

◆ mpiSASHwEventAckRsp()

◆ mpiSasReInitializeRsp()

◆ mpiSATAAbortRsp()

◆ mpiSATAEvent()

GLOBAL bit32 mpiSATAEvent ( agsaRoot_t agRoot,
agsaSATAEventRsp_t pIomb 
)

SPC MPI SATA Event.

This function handles the SATA Event.

Parameters
agRootHandles for this instance of SAS/SATA LLL
pIombpointer of Message
Returns
The read value

Definition at line 4086 of file sampirsp.c.

References agNULL, agsaIOErrorEventStats_s::agOSSA_IO_OPEN_CNX_ERROR_BAD_DESTINATION, agsaIOErrorEventStats_s::agOSSA_IO_OPEN_CNX_ERROR_BREAK, agsaIOErrorEventStats_s::agOSSA_IO_OPEN_CNX_ERROR_CONNECTION_RATE_NOT_SUPPORTED, agsaIOErrorEventStats_s::agOSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS, agsaIOErrorEventStats_s::agOSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_NO_DEST, agsaIOErrorEventStats_s::agOSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_COLLIDE, agsaIOErrorEventStats_s::agOSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_RETRY_BACKOFF_THRESHOLD_REACHED, agsaIOErrorEventStats_s::agOSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_PATHWAY_BLOCKED, agsaIOErrorEventStats_s::agOSSA_IO_OPEN_CNX_ERROR_PROTOCOL_NOT_SUPPORTED, agsaIOErrorEventStats_s::agOSSA_IO_OPEN_CNX_ERROR_STP_RESOURCES_BUSY, agsaIOErrorEventStats_s::agOSSA_IO_OPEN_CNX_ERROR_WRONG_DESTINATION, agsaIOErrorEventStats_s::agOSSA_IO_OPEN_CNX_ERROR_ZONE_VIOLATION, agsaIOErrorEventStats_s::agOSSA_IO_OVERFLOW, agsaIOErrorEventStats_s::agOSSA_IO_UNKNOWN_ERROR, agsaIOErrorEventStats_s::agOSSA_IO_XFER_CMD_FRAME_ISSUED, agsaIOErrorEventStats_s::agOSSA_IO_XFER_ERR_EOB_DATA_OVERRUN, agsaIOErrorEventStats_s::agOSSA_IO_XFER_ERROR_ABORTED_NCQ_MODE, agsaIOErrorEventStats_s::agOSSA_IO_XFER_ERROR_BREAK, agsaIOErrorEventStats_s::agOSSA_IO_XFER_ERROR_DMA_ACTIVATE_TIMEOUT, agsaIOErrorEventStats_s::agOSSA_IO_XFER_ERROR_NAK_RECEIVED, agsaIOErrorEventStats_s::agOSSA_IO_XFER_ERROR_OFFSET_MISMATCH, agsaIOErrorEventStats_s::agOSSA_IO_XFER_ERROR_PEER_ABORTED, agsaIOErrorEventStats_s::agOSSA_IO_XFER_ERROR_PHY_NOT_READY, agsaIOErrorEventStats_s::agOSSA_IO_XFER_ERROR_UNEXPECTED_PHASE, agsaIOErrorEventStats_s::agOSSA_IO_XFER_ERROR_XFER_RDY_NOT_EXPECTED, agsaIOErrorEventStats_s::agOSSA_IO_XFER_ERROR_XFER_RDY_OVERRUN, agsaIOErrorEventStats_s::agOSSA_IO_XFER_ERROR_XFER_ZERO_DATA_LEN, agsaIOErrorEventStats_s::agOSSA_IO_XFER_OPEN_RETRY_TIMEOUT, agsaIOErrorEventStats_s::agOSSA_IO_XFER_PIO_SETUP_ERROR, agsaIOErrorEventStats_s::agOSSA_IO_XFR_ERROR_DIF_MISMATCH, agsaIOErrorEventStats_s::agOSSA_IO_XFR_ERROR_INTERNAL_CRC_ERROR, AGSA_RC_SUCCESS, DEVICE_ID_BITS, agsaDeviceMap_s::DeviceHandle, agsaLLRoot_s::DeviceMap, hpDBG_VERY_LOUD, agsaLLRoot_s::IoEventCount, agsaLLRoot_s::IOMap, agsaIOMap_s::IORequest, MAX_IO_DEVICE_ENTRIES, OS_ASSERT, OSSA_IO_OPEN_CNX_ERROR_BAD_DESTINATION, OSSA_IO_OPEN_CNX_ERROR_BREAK, OSSA_IO_OPEN_CNX_ERROR_CONNECTION_RATE_NOT_SUPPORTED, OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS, OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_NO_DEST, OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_COLLIDE, OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_RETRY_BACKOFF_THRESHOLD_REACHED, OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_PATHWAY_BLOCKED, OSSA_IO_OPEN_CNX_ERROR_PROTOCOL_NOT_SUPPORTED, OSSA_IO_OPEN_CNX_ERROR_STP_RESOURCES_BUSY, OSSA_IO_OPEN_CNX_ERROR_WRONG_DESTINATION, OSSA_IO_OPEN_CNX_ERROR_ZONE_VIOLATION, OSSA_IO_OVERFLOW, OSSA_IO_XFER_CMD_FRAME_ISSUED, OSSA_IO_XFER_ERR_EOB_DATA_OVERRUN, OSSA_IO_XFER_ERROR_ABORTED_NCQ_MODE, OSSA_IO_XFER_ERROR_BREAK, OSSA_IO_XFER_ERROR_DMA_ACTIVATE_TIMEOUT, OSSA_IO_XFER_ERROR_NAK_RECEIVED, OSSA_IO_XFER_ERROR_OFFSET_MISMATCH, OSSA_IO_XFER_ERROR_PEER_ABORTED, OSSA_IO_XFER_ERROR_PHY_NOT_READY, OSSA_IO_XFER_ERROR_UNEXPECTED_PHASE, OSSA_IO_XFER_ERROR_XFER_RDY_NOT_EXPECTED, OSSA_IO_XFER_ERROR_XFER_RDY_OVERRUN, OSSA_IO_XFER_ERROR_XFER_ZERO_DATA_LEN, OSSA_IO_XFER_OPEN_RETRY_TIMEOUT, OSSA_IO_XFER_PIO_SETUP_ERROR, OSSA_IO_XFR_ERROR_DIF_MISMATCH, OSSA_IO_XFR_ERROR_INTERNAL_CRC_ERROR, OSSA_OFFSET_OF, ossaSATAEvent(), agsaIORequestDesc_s::pIORequestContext, agsaPortMap_s::PortContext, agsaPortMap_s::PortID, PORTID_MASK, agsaLLRoot_s::PortMap, agsaPortMap_s::PortStatus, SA_DBG1, SA_DBG2, agsaContext_s::sdkData, smTraceFuncEnter, smTraceFuncExit, and agsaDeviceDesc_s::targetDevHandle.

Referenced by mpiParseOBIomb().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mpiSetControllerConfigRsp()

GLOBAL bit32 mpiSetControllerConfigRsp ( agsaRoot_t agRoot,
agsaSetControllerConfigRsp_t pIomb 
)

SAS Set Controller Config Response.

This routine handles the response of Set Controller Config Command

Parameters
agRootHandles for this instance of SAS/SATA LLL
pIombPointer of IOMB Mesage
Returns
sucess or fail

Definition at line 6718 of file sampirsp.c.

References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_ENCRYPTION_CONTROL_PARM_PAGE, AGSA_ENCRYPTION_DEK_CONFIG_PAGE, AGSA_ENCRYPTION_GENERAL_CONFIG_PAGE, AGSA_ENCRYPTION_HMAC_CONFIG_PAGE, AGSA_INTERRUPT_CONFIGURATION_PAGE, AGSA_IO_GENERAL_CONFIG_PAGE, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, AGSA_SAS_PROTOCOL_TIMER_CONFIG_PAGE, agsaEncryptCipherModeXTS, agsaEncryptSMA, agsaEncryptSMB, agsaEncryptSMF, agsaModePageSet, agsaHWEventMode_s::context, agsaEncryptInfo_s::encryptionCipherMode, agsaEncryptInfo_s::encryptionSecurityMode, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, hpDBG_VERY_LOUD, agsaLLRoot_s::IOMap, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, agsaIORequestDesc_s::modePageContext, agsaHWEventMode_s::modePageOperation, OSSA_HW_EVENT_MODE, OSSA_HW_EVENT_SECURITY_MODE, OSSA_OFFSET_OF, ossaHwCB(), ossaHwRegRead(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), SA_ASSERT, SA_DBG1, SA_DBG2, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, SCRATCH_PAD1_V_RAAE_ERR, SCRATCH_PAD1_V_RAAE_MASK, SCRATCH_PAD3_V_ENC_DIS_ERR, SCRATCH_PAD3_V_ENC_DISABLED, SCRATCH_PAD3_V_ENC_ENA_ERR, SCRATCH_PAD3_V_ENC_MASK, SCRATCH_PAD3_V_ENC_READY, SCRATCH_PAD3_V_ERR_CODE, SCRATCH_PAD3_V_SM_MASK, SCRATCH_PAD3_V_SMA_ENABLED, SCRATCH_PAD3_V_SMB_ENABLED, SCRATCH_PAD3_V_SMF_ENABLED, SCRATCH_PAD3_V_XTS_ENABLED, agsaContext_s::sdkData, SHIFT16, si_memset(), smTraceFuncEnter, smTraceFuncExit, status, agsaEncryptInfo_s::status, agsaHWEventMode_s::status, agsaSetControllerConfigRsp_s::tag, agsaIOMap_s::Tag, V_Scratchpad_1_Register, V_Scratchpad_3_Register, and agsaIORequestDesc_s::valid.

Referenced by mpiParseOBIomb().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mpiSetDeviceStateRsp()

◆ mpiSetDevInfoRsp()

◆ mpiSetNVMDataRsp()

GLOBAL bit32 mpiSetNVMDataRsp ( agsaRoot_t agRoot,
agsaSetNVMDataRsp_t pIomb 
)

Set NVM Data Response.

This routine handles the response of SET NVM Data Response

Parameters
agRootHandles for this instance of SAS/SATA LLL
pIombPointer of IOMB Mesage
Returns
sucess or fail

Definition at line 4364 of file sampirsp.c.

References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_NVMD_CONFIG_SEEPROM, AGSA_NVMD_TWI_DEVICES, AGSA_NVMD_VPD_FLASH, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, agsaLLRoot_s::freeIORequests, hpDBG_VERY_LOUD, agsaLLRoot_s::IOMap, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, NVMD_STAT, NVMD_TYPE, OSSA_OFFSET_OF, ossaSetNVMDResponseCB(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), SA_ASSERT, SA_DBG1, saLlistIOAdd, agsaContext_s::sdkData, smTraceFuncEnter, smTraceFuncExit, status, agsaSetNVMDataRsp_s::tag, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.

Referenced by mpiParseOBIomb().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mpiSetOperatorRsp()

GLOBAL bit32 mpiSetOperatorRsp ( agsaRoot_t agRoot,
agsaSetOperatorRsp_t pIomb 
)

Set Operator Response.

This routine handles the response of the Operator management message

Parameters
agRootHandles for this instance of SAS/SATA LLL
pIombPointer of IOMB Mesage
Returns
sucess or fail

Definition at line 7470 of file sampirsp.c.

References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, hpDBG_VERY_LOUD, agsaLLRoot_s::IOMap, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, OSSA_OFFSET_OF, ossaSetOperatorCB(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), SA_ASSERT, SA_DBG1, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, agsaContext_s::sdkData, smTraceFuncEnter, smTraceFuncExit, status, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.

Referenced by mpiParseOBIomb().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mpiSetPhyProfileRsp()

◆ mpiSGpioRsp()

GLOBAL bit32 mpiSGpioRsp ( agsaRoot_t agRoot,
agsaSGpioRsp_t pInIomb 
)

serial GPIO Response

This routine handles the response of serial GPIO Response

Parameters
agRootHandles for this instance of SAS/SATA LLL
pIombPointer of IOMB Mesage
Returns
sucess or fail

Definition at line 6402 of file sampirsp.c.

References agsaIOMap_s::agContext, agNULL, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, agsaSGpioReqResponse_s::function, agsaSGpioReqResponse_s::functionResult, hpDBG_VERY_LOUD, agsaLLRoot_s::IOMap, agsaIOMap_s::IORequest, NULL, OSSA_OFFSET_OF, OSSA_SGPIO_MAX_READ_DATA_COUNT, ossaSGpioCB(), agsaSGpioReqResponse_s::readWriteData, SA_DBG1, SA_DBG3, SA_SAS_SMP_READ_GPIO_REGISTER, saReturnRequestToFreePool(), agsaContext_s::sdkData, agsaSGpioReqResponse_s::smpFrameType, smTraceFuncEnter, smTraceFuncExit, and agsaSGpioRsp_s::tag.

Referenced by mpiParseOBIomb().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mpiSMPAbortRsp()

◆ mpiSMPCompletion()

GLOBAL bit32 mpiSMPCompletion ( agsaRoot_t agRoot,
agsaSMPCompletionRsp_t pIomb 
)

SPC MPI SMP Completion.

This function handles the SMP completion.

Parameters
agRootHandles for this instance of SAS/SATA hardware
pIombpointer of Message1
bcbuffer count
Returns
The read value

Definition at line 1748 of file sampirsp.c.

References agFALSE, agNULL, agsaIOErrorEventStats_s::agOSSA_IO_ABORT_DELAYED, agsaIOErrorEventStats_s::agOSSA_IO_ABORT_IN_PROGRESS, agsaIOErrorEventStats_s::agOSSA_IO_ABORTED, agsaIOErrorEventStats_s::agOSSA_IO_DS_IN_RECOVERY, agsaIOErrorEventStats_s::agOSSA_IO_DS_INVALID, agsaIOErrorEventStats_s::agOSSA_IO_DS_NON_OPERATIONAL, agsaIOErrorEventStats_s::agOSSA_IO_ERROR_HW_TIMEOUT, agsaIOErrorEventStats_s::agOSSA_IO_ERROR_INTERNAL_SMP_RESOURCE, agsaIOErrorEventStats_s::agOSSA_IO_INVALID_LENGTH, agsaIOErrorEventStats_s::agOSSA_IO_NO_DEVICE, agsaIOErrorEventStats_s::agOSSA_IO_OPEN_CNX_ERROR_BAD_DESTINATION, agsaIOErrorEventStats_s::agOSSA_IO_OPEN_CNX_ERROR_BREAK, agsaIOErrorEventStats_s::agOSSA_IO_OPEN_CNX_ERROR_CONNECTION_RATE_NOT_SUPPORTED, agsaIOErrorEventStats_s::agOSSA_IO_OPEN_CNX_ERROR_HW_RESOURCE_BUSY, agsaIOErrorEventStats_s::agOSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS, agsaIOErrorEventStats_s::agOSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_NO_DEST, agsaIOErrorEventStats_s::agOSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_RETRY_BACKOFF_THRESHOLD_REACHED, agsaIOErrorEventStats_s::agOSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_TMO, agsaIOErrorEventStats_s::agOSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_PATHWAY_BLOCKED, agsaIOErrorEventStats_s::agOSSA_IO_OPEN_CNX_ERROR_OPEN_PREEMPTED, agsaIOErrorEventStats_s::agOSSA_IO_OPEN_CNX_ERROR_PROTOCOL_NOT_SUPPORTED, agsaIOErrorEventStats_s::agOSSA_IO_OPEN_CNX_ERROR_WRONG_DESTINATION, agsaIOErrorEventStats_s::agOSSA_IO_OPEN_CNX_ERROR_ZONE_VIOLATION, agsaIOErrorEventStats_s::agOSSA_IO_OVERFLOW, agsaIOErrorEventStats_s::agOSSA_IO_PORT_IN_RESET, agsaIOErrorEventStats_s::agOSSA_IO_UNKNOWN_ERROR, agsaIOErrorEventStats_s::agOSSA_IO_XFER_ERROR_BREAK, agsaIOErrorEventStats_s::agOSSA_IO_XFER_ERROR_PHY_NOT_READY, agsaIOErrorEventStats_s::agOSSA_IO_XFER_ERROR_RX_FRAME, agsaIOErrorEventStats_s::agOSSA_IO_XFER_OPEN_RETRY_TIMEOUT, agsaIOErrorEventStats_s::agOSSA_IO_XFER_READ_COMPL_ERR, agsaIOErrorEventStats_s::agOSSA_MPI_ERR_IO_RESOURCE_UNAVAILABLE, agsaIOErrorEventStats_s::agOSSA_MPI_ERR_OFFLOAD_DIF_OR_ENC_NOT_ENABLED, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, hpDBG_VERY_LOUD, agsaLLRoot_s::IoErrorCount, agsaLLRoot_s::IOMap, agsaIOMap_s::IORequest, OSSA_IO_ABORT_DELAYED, OSSA_IO_ABORT_IN_PROGRESS, OSSA_IO_ABORTED, OSSA_IO_DS_IN_RECOVERY, OSSA_IO_DS_INVALID, OSSA_IO_DS_NON_OPERATIONAL, OSSA_IO_ERROR_HW_TIMEOUT, OSSA_IO_ERROR_INTERNAL_SMP_RESOURCE, OSSA_IO_INVALID_LENGTH, OSSA_IO_NO_DEVICE, OSSA_IO_OPEN_CNX_ERROR_BAD_DESTINATION, OSSA_IO_OPEN_CNX_ERROR_BREAK, OSSA_IO_OPEN_CNX_ERROR_CONNECTION_RATE_NOT_SUPPORTED, OSSA_IO_OPEN_CNX_ERROR_HW_RESOURCE_BUSY, OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS, OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_NO_DEST, OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_COLLIDE, OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_RETRY_BACKOFF_THRESHOLD_REACHED, OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_TMO, OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_PATHWAY_BLOCKED, OSSA_IO_OPEN_CNX_ERROR_OPEN_PREEMPTED, OSSA_IO_OPEN_CNX_ERROR_PROTOCOL_NOT_SUPPORTED, OSSA_IO_OPEN_CNX_ERROR_WRONG_DESTINATION, OSSA_IO_OPEN_CNX_ERROR_ZONE_VIOLATION, OSSA_IO_OVERFLOW, OSSA_IO_PORT_IN_RESET, OSSA_IO_SUCCESS, OSSA_IO_XFER_ERROR_BREAK, OSSA_IO_XFER_ERROR_PHY_NOT_READY, OSSA_IO_XFER_ERROR_RX_FRAME, OSSA_IO_XFER_OPEN_RETRY_TIMEOUT, OSSA_IO_XFER_READ_COMPL_ERR, OSSA_MPI_ERR_IO_RESOURCE_UNAVAILABLE, OSSA_MPI_ERR_OFFLOAD_DIF_OR_ENC_NOT_ENABLED, OSSA_OFFSET_OF, SA_ASSERT, SA_DBG1, SA_DBG3, agsaContext_s::sdkData, siAbnormal(), siSMPRespRcvd(), smTraceFuncEnter, smTraceFuncExit, status, and agsaSMPCompletionRsp_s::tag.

Referenced by mpiParseOBIomb().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mpiSSPAbortRsp()

◆ mpiSSPEvent()

GLOBAL bit32 mpiSSPEvent ( agsaRoot_t agRoot,
agsaSSPEventRsp_t pIomb 
)

SPC MPI SSP Event.

This function handles the SAS Event.

Parameters
agRootHandles for this instance of SAS/SATA LLL
pIombpointer of Message
Returns
The read value

Definition at line 3706 of file sampirsp.c.

References agsaDifDetails_s::ActualCRCUDT01, agsaDifDetails_s::ActualUDT2345, agNULL, agsaIOErrorEventStats_s::agOSSA_IO_OPEN_CNX_ERROR_BAD_DESTINATION, agsaIOErrorEventStats_s::agOSSA_IO_OPEN_CNX_ERROR_BREAK, agsaIOErrorEventStats_s::agOSSA_IO_OPEN_CNX_ERROR_CONNECTION_RATE_NOT_SUPPORTED, agsaIOErrorEventStats_s::agOSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS, agsaIOErrorEventStats_s::agOSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_NO_DEST, agsaIOErrorEventStats_s::agOSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_COLLIDE, agsaIOErrorEventStats_s::agOSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_RETRY_BACKOFF_THRESHOLD_REACHED, agsaIOErrorEventStats_s::agOSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_TMO, agsaIOErrorEventStats_s::agOSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_PATHWAY_BLOCKED, agsaIOErrorEventStats_s::agOSSA_IO_OPEN_CNX_ERROR_PROTOCOL_NOT_SUPPORTED, agsaIOErrorEventStats_s::agOSSA_IO_OPEN_CNX_ERROR_WRONG_DESTINATION, agsaIOErrorEventStats_s::agOSSA_IO_OPEN_CNX_ERROR_ZONE_VIOLATION, agsaIOErrorEventStats_s::agOSSA_IO_OVERFLOW, agsaIOErrorEventStats_s::agOSSA_IO_UNKNOWN_ERROR, agsaIOErrorEventStats_s::agOSSA_IO_XFER_CMD_FRAME_ISSUED, agsaIOErrorEventStats_s::agOSSA_IO_XFER_ERR_EOB_DATA_OVERRUN, agsaIOErrorEventStats_s::agOSSA_IO_XFER_ERROR_ACK_NAK_TIMEOUT, agsaIOErrorEventStats_s::agOSSA_IO_XFER_ERROR_BREAK, agsaIOErrorEventStats_s::agOSSA_IO_XFER_ERROR_CMD_ISSUE_ACK_NAK_TIMEOUT, agsaIOErrorEventStats_s::agOSSA_IO_XFER_ERROR_NAK_RECEIVED, agsaIOErrorEventStats_s::agOSSA_IO_XFER_ERROR_OFFSET_MISMATCH, agsaIOErrorEventStats_s::agOSSA_IO_XFER_ERROR_PHY_NOT_READY, agsaIOErrorEventStats_s::agOSSA_IO_XFER_ERROR_UNEXPECTED_PHASE, agsaIOErrorEventStats_s::agOSSA_IO_XFER_ERROR_XFER_RDY_NOT_EXPECTED, agsaIOErrorEventStats_s::agOSSA_IO_XFER_ERROR_XFER_RDY_OVERRUN, agsaIOErrorEventStats_s::agOSSA_IO_XFER_ERROR_XFER_ZERO_DATA_LEN, agsaIOErrorEventStats_s::agOSSA_IO_XFER_OPEN_RETRY_TIMEOUT, agsaIOErrorEventStats_s::agOSSA_IO_XFER_READ_COMPL_ERR, agsaIOErrorEventStats_s::agOSSA_IO_XFR_ERROR_DEK_KEY_CACHE_MISS, agsaIOErrorEventStats_s::agOSSA_IO_XFR_ERROR_DEK_KEY_TAG_MISMATCH, agsaIOErrorEventStats_s::agOSSA_IO_XFR_ERROR_DIF_APPLICATION_TAG_MISMATCH, agsaIOErrorEventStats_s::agOSSA_IO_XFR_ERROR_DIF_CRC_MISMATCH, agsaIOErrorEventStats_s::agOSSA_IO_XFR_ERROR_DIF_MISMATCH, agsaIOErrorEventStats_s::agOSSA_IO_XFR_ERROR_DIF_REFERENCE_TAG_MISMATCH, agsaIOErrorEventStats_s::agOSSA_IO_XFR_ERROR_INTERNAL_CRC_ERROR, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, DEVICE_ID_BITS, agsaDeviceMap_s::DeviceHandle, agsaLLRoot_s::DeviceMap, agsaDifDetails_s::DIFErrDevID, agsaDifDetails_s::ErrBoffsetEDataLen, agsaDifDetails_s::ExpectedCRCUDT01, agsaDifDetails_s::ExpectedUDT2345, hpDBG_VERY_LOUD, agsaDeviceDesc_s::initiatorDevHandle, agsaLLRoot_s::IoEventCount, agsaLLRoot_s::IOMap, agsaIOMap_s::IORequest, agsaDifDetails_s::LowerLBA, MAX_IO_DEVICE_ENTRIES, OS_ASSERT, OSSA_IO_OPEN_CNX_ERROR_BAD_DESTINATION, OSSA_IO_OPEN_CNX_ERROR_BREAK, OSSA_IO_OPEN_CNX_ERROR_CONNECTION_RATE_NOT_SUPPORTED, OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS, OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_NO_DEST, OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_COLLIDE, OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_RETRY_BACKOFF_THRESHOLD_REACHED, OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_TMO, OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_PATHWAY_BLOCKED, OSSA_IO_OPEN_CNX_ERROR_PROTOCOL_NOT_SUPPORTED, OSSA_IO_OPEN_CNX_ERROR_WRONG_DESTINATION, OSSA_IO_OPEN_CNX_ERROR_ZONE_VIOLATION, OSSA_IO_OVERFLOW, OSSA_IO_XFER_CMD_FRAME_ISSUED, OSSA_IO_XFER_ERR_EOB_DATA_OVERRUN, OSSA_IO_XFER_ERROR_ACK_NAK_TIMEOUT, OSSA_IO_XFER_ERROR_BREAK, OSSA_IO_XFER_ERROR_CMD_ISSUE_ACK_NAK_TIMEOUT, OSSA_IO_XFER_ERROR_NAK_RECEIVED, OSSA_IO_XFER_ERROR_OFFSET_MISMATCH, OSSA_IO_XFER_ERROR_PHY_NOT_READY, OSSA_IO_XFER_ERROR_UNEXPECTED_PHASE, OSSA_IO_XFER_ERROR_XFER_RDY_NOT_EXPECTED, OSSA_IO_XFER_ERROR_XFER_RDY_OVERRUN, OSSA_IO_XFER_ERROR_XFER_ZERO_DATA_LEN, OSSA_IO_XFER_OPEN_RETRY_TIMEOUT, OSSA_IO_XFER_READ_COMPL_ERR, OSSA_IO_XFR_ERROR_DEK_KEY_CACHE_MISS, OSSA_IO_XFR_ERROR_DEK_KEY_TAG_MISMATCH, OSSA_IO_XFR_ERROR_DIF_APPLICATION_TAG_MISMATCH, OSSA_IO_XFR_ERROR_DIF_CRC_MISMATCH, OSSA_IO_XFR_ERROR_DIF_MISMATCH, OSSA_IO_XFR_ERROR_DIF_REFERENCE_TAG_MISMATCH, OSSA_IO_XFR_ERROR_INTERNAL_CRC_ERROR, OSSA_OFFSET_OF, ossaSSPEvent(), PCI_TRIGGER_OFFSET_MISMATCH, agsaIORequestDesc_s::pIORequestContext, agsaPortMap_s::PortContext, agsaPortMap_s::PortID, PORTID_MASK, agsaLLRoot_s::PortMap, agsaPortMap_s::PortStatus, SA_ASSERT, SA_DBG1, SA_DBG2, SA_DBG3, agsaDifDetails_s::sasAddressHi, agsaDifDetails_s::sasAddressLo, agsaContext_s::sdkData, siPCITriger(), smTraceFuncEnter, smTraceFuncExit, SSPTAG_BITS, agsaLLRoot_s::swConfig, agsaDeviceDesc_s::targetDevHandle, and agsaDifDetails_s::UpperLBA.

Referenced by mpiParseOBIomb().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mpiSSPReqReceivedNotify()

GLOBAL bit32 mpiSSPReqReceivedNotify ( agsaRoot_t agRoot,
agsaSSPReqReceivedNotify_t pMsg1 
)

SPC MPI SSP Request Received Event (target mode)

This function handles the SSP Request Received Event.

Parameters
agRootHandles for this instance of SAS/SATA LLL
pMsg1pointer of Message
Returns
The read value

Definition at line 5291 of file sampirsp.c.

References agNULL, AGSA_RC_SUCCESS, DEVICE_ID_BITS, agsaDeviceMap_s::DeviceHandle, agsaLLRoot_s::DeviceMap, FRAME_TYPE, hpDBG_VERY_LOUD, agsaDeviceDesc_s::initiatorDevHandle, INITTAG_BITS, OSSA_OFFSET_OF, ossaSSPReqReceived(), SA_ASSERT, SA_DBG1, agsaContext_s::sdkData, SHIFT16, SHIFT24, smTraceFuncEnter, smTraceFuncExit, agsaSSPReqReceivedNotify_s::SSPIu, SSPIUL_BITS, agsaDeviceDesc_s::targetDevHandle, and TLR_BITS.

Referenced by mpiParseOBIomb().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ saReturnRequestToFreePool()

void saReturnRequestToFreePool ( agsaRoot_t agRoot,
agsaIORequestDesc_t pRequest 
)

Return request to free pool.

This function returns the request to free pool

Parameters
agRootHandles for this instance of SAS/SATA LL
pRequestRequest to be returned
Returns
NA

Definition at line 2158 of file saioctlcmd.c.

References agFALSE, agNULL, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, agsaIORequestDesc_s::HTag, agsaLLRoot_s::IOMap, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), SA_ASSERT, SA_DBG1, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, saUpdateIOMap(), agsaContext_s::sdkData, and agsaIORequestDesc_s::valid.

Referenced by mpiSGpioRsp(), and saSgpio().

Here is the call graph for this function:
Here is the caller graph for this function: