FreeBSD kernel pms device code
|
The file defines the function delcaration for internal used function. More...
Go to the source code of this file.
Functions | |
GLOBAL agsaTimerDesc_t * | siTimerAdd (agsaRoot_t *agRoot, bit32 timeout, agsaCallback_t pfnTimeout, bit32 Event, void *pParm) |
add a timer More... | |
GLOBAL void | siTimerRemove (agsaRoot_t *agRoot, agsaTimerDesc_t *pTimer) |
remove a valid timer More... | |
GLOBAL void | siTimerRemoveAll (agsaRoot_t *agRoot) |
remove all valid timer More... | |
GLOBAL bit32 | siConfiguration (agsaRoot_t *agRoot, mpiConfig_t *mpiConfig, agsaHwConfig_t *hwConfig, agsaSwConfig_t *swConfig) |
Routine to do SPC configuration with default or specified values. More... | |
GLOBAL bit32 | mpiInitialize (agsaRoot_t *agRoot, mpiMemReq_t *memoryAllocated, mpiConfig_t *config) |
GLOBAL bit32 | mpiWaitForConfigTable (agsaRoot_t *agRoot, spc_configMainDescriptor_t *config) |
Reading and Writing the Configuration Table. More... | |
GLOBAL void | mpiUpdateIBQueueCfgTable (agsaRoot_t *agRoot, spc_inboundQueueDescriptor_t *inQueueCfg, bit32 QueueTableOffset, bit8 pcibar) |
Writing to the inbound queue of the Configuration Table. More... | |
GLOBAL void | mpiUpdateOBQueueCfgTable (agsaRoot_t *agRoot, spc_outboundQueueDescriptor_t *outQueueCfg, bit32 QueueTableOffset, bit8 pcibar) |
Writing to the inbound queue of the Configuration Table. More... | |
GLOBAL void | mpiUpdateFatalErrorTable (agsaRoot_t *agRoot, bit32 FerrTableOffset, bit32 lowerBaseAddress, bit32 upperBaseAddress, bit32 length, bit8 pcibar) |
GLOBAL bit32 | mpiGetPCIBarIndex (agsaRoot_t *agRoot, bit32 pciBar) |
GLOBAL bit32 | mpiUnInitConfigTable (agsaRoot_t *agRoot) |
GLOBAL void | mpiReadGSTable (agsaRoot_t *agRoot, spc_GSTableDescriptor_t *mpiGSTable) |
GLOBAL void | siInitResources (agsaRoot_t *agRoot, agsaMemoryRequirement_t *memoryAllocated, agsaHwConfig_t *hwConfig, agsaSwConfig_t *swConfig, bit32 usecsPerTick) |
GLOBAL void | mpiReadCALTable (agsaRoot_t *agRoot, spc_SPASTable_t *mpiCALTable, bit32 index) |
Reading the Phy Analog Setup Register Table. More... | |
GLOBAL void | mpiWriteCALTable (agsaRoot_t *agRoot, spc_SPASTable_t *mpiCALTable, bit32 index) |
GLOBAL void | mpiWriteCALAll (agsaRoot_t *agRoot, agsaPhyAnalogSetupTable_t *mpiCALTable) |
Writing the Phy Analog Setup Register Table. More... | |
GLOBAL void | mpiWrIntVecTable (agsaRoot_t *agRoot, mpiConfig_t *config) |
GLOBAL void | mpiWrAnalogSetupTable (agsaRoot_t *agRoot, mpiConfig_t *config) |
GLOBAL void | mpiWrPhyAttrbTable (agsaRoot_t *agRoot, sasPhyAttribute_t *phyAttrib) |
GLOBAL bit32 | siPhyStopCB (agsaRoot_t *agRoot, bit32 phyId, bit32 status, agsaContext_t *agContext, bit32 portId, bit32 npipps) |
CallBack Routine to stop a Phy. More... | |
GLOBAL void | siPortInvalid (agsaRoot_t *agRoot, agsaPort_t *pPort) |
Invalid a port. More... | |
GLOBAL agsaDeviceDesc_t * | siPortSASDeviceAdd (agsaRoot_t *agRoot, agsaPort_t *pPort, agsaSASIdentify_t sasIdentify, bit32 sasInitiator, bit32 smpTimeout, bit32 itNexusTimeout, bit32 firstBurstSize, bit8 dTypeSRate, bit32 flag) |
Add a SAS device to the discovery list of the port. More... | |
GLOBAL void | siPortDeviceRemove (agsaRoot_t *agRoot, agsaPort_t *pPort, agsaDeviceDesc_t *pDevice, bit32 unmap) |
The function to remove a device descriptor. More... | |
GLOBAL agsaDeviceDesc_t * | siPortSATADeviceAdd (agsaRoot_t *agRoot, agsaPort_t *pPort, agsaDeviceDesc_t *pSTPBridge, bit8 *pSignature, bit8 pm, bit8 pmField, bit32 smpReqTimeout, bit32 itNexusTimeout, bit32 firstBurstSize, bit8 dTypeSRate, bit32 flag) |
Add a SATA device to the discovery list of the port. More... | |
GLOBAL void | siPortDeviceListRemove (agsaRoot_t *agRoot, agsaPort_t *pPort, agsaDeviceDesc_t *pDevice) |
The function to remove a device descriptor. More... | |
GLOBAL void | siSATASignatureCpy (bit8 *pDstSignature, bit8 *pSrcSignature) |
copy a SATA signature to another More... | |
GLOBAL bit32 | siBar4Shift (agsaRoot_t *agRoot, bit32 shiftValue) |
Function to do BAR shifting. More... | |
GLOBAL bit32 | siSoftReset (agsaRoot_t *agRoot, bit32 signature) |
GLOBAL bit32 | siSpcSoftReset (agsaRoot_t *agRoot, bit32 signature) |
Function to soft/FW reset the SPC. More... | |
GLOBAL void | siChipReset (agsaRoot_t *agRoot) |
Generic Reset. More... | |
GLOBAL bit32 | siChipResetV (agsaRoot_t *agRoot, bit32 signature) |
Function to Reset the SPC V Hardware. More... | |
GLOBAL void | siChipResetSpc (agsaRoot_t *agRoot) |
Function to Reset the SPC Hardware. More... | |
GLOBAL void | siPrintBuffer (bit32 debugLevel, siPrintType type, char *header, void *a, bit32 length) |
int | siIsHexDigit (char a) |
Check for Hex digit. More... | |
GLOBAL FORCEINLINE void * | si_memcpy (void *dst, void *src, bit32 count) |
memcopy More... | |
GLOBAL FORCEINLINE void * | si_memset (void *s, int c, bit32 n) |
memset More... | |
GLOBAL void | siDumpActiveIORequests (agsaRoot_t *agRoot, bit32 count) |
siDumpActiveIORequests More... | |
GLOBAL void | siClearActiveIORequests (agsaRoot_t *agRoot) |
saCountActiveIORequests More... | |
GLOBAL void | siCountActiveIORequestsOnDevice (agsaRoot_t *agRoot, bit32 device) |
siCountActiveIORequestsOnDevice count all active IO's More... | |
GLOBAL void | siClearActiveIORequestsOnDevice (agsaRoot_t *agRoot, bit32 device) |
siCountActiveIORequestsOnDevice count all active IO's More... | |
GLOBAL void | siEventPhyUpRcvd (agsaRoot_t *agRoot, bit32 phyId, agsaSASIdentify_t *agSASIdentify, bit32 portId, bit32 npipps, bit8 linkRate) |
Routine to handle for received Phy Up event. More... | |
GLOBAL void | siEventSATASignatureRcvd (agsaRoot_t *agRoot, bit32 phyId, void *pMsg, bit32 portId, bit32 npipps, bit8 linkRate) |
Routine to handle for received SATA signature event. More... | |
GLOBAL FORCEINLINE void | siIODone (agsaRoot_t *agRoot, agsaIORequestDesc_t *pRequest, bit32 status, bit32 sspTag) |
Routine to handle successfully completed IO event. More... | |
GLOBAL void | siAbnormal (agsaRoot_t *agRoot, agsaIORequestDesc_t *pRequest, bit32 status, bit32 param, bit32 sspTag) |
Routine to handle abnormal completed IO/SMP event. More... | |
GLOBAL void | siDifAbnormal (agsaRoot_t *agRoot, agsaIORequestDesc_t *pRequest, bit32 status, bit32 param, bit32 sspTag, bit32 *pMsg1) |
Routine to handle abnormal DIF completed IO/SMP event. More... | |
GLOBAL void | siEventSSPResponseWtDataRcvd (agsaRoot_t *agRoot, agsaIORequestDesc_t *pRequest, agsaSSPResponseInfoUnit_t *pRespIU, bit32 param, bit32 sspTag) |
Routine to handle for received SAS with data payload event. More... | |
GLOBAL void | siSMPRespRcvd (agsaRoot_t *agRoot, agsaSMPCompletionRsp_t *pIomb, bit32 payloadSize, bit32 tag) |
Routine to handle for received SMP response event. More... | |
GLOBAL void | siEventSATAResponseWtDataRcvd (agsaRoot_t *agRoot, agsaIORequestDesc_t *pRequest, bit32 *agFirstDword, bit32 *pResp, bit32 lengthResp) |
Routine to handle for received SATA with data payload event. More... | |
GLOBAL bit32 | siRemoveDevHandle (agsaRoot_t *agRoot, agsaDevHandle_t *agDevHandle) |
Function for target to remove stale initiator device handle. More... | |
GLOBAL FORCEINLINE bit32 | mpiParseOBIomb (agsaRoot_t *agRoot, bit32 *pMsg1, mpiMsgCategory_t category, bit16 opcode) |
Process Outbound IOMB Message. 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 | mpiHWevent (agsaRoot_t *agRoot, agsaHWEvent_SPC_OUB_t *pIomb) |
Hardware Event Response from SPC. 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 | mpiSMPCompletion (agsaRoot_t *agRoot, agsaSMPCompletionRsp_t *pIomb) |
SPC MPI SMP Completion. More... | |
GLOBAL bit32 | mpiGetDevInfoRspSpc (agsaRoot_t *agRoot, agsaGetDevInfoRsp_t *pIomb) |
Get Device Information 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 | 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 FORCEINLINE bit32 | mpiSSPCompletion (agsaRoot_t *agRoot, bit32 *pIomb) |
SPC MPI SSP Completion. More... | |
GLOBAL FORCEINLINE bit32 | mpiSATACompletion (agsaRoot_t *agRoot, bit32 *pIomb) |
SPC MPI SATA Completion. 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 | mpiFwFlashUpdateRsp (agsaRoot_t *agRoot, agsaFwFlashUpdateRsp_t *payload) |
SPC FW_FLASH_UPDATE Respond. More... | |
GLOBAL bit32 | mpiFwExtFlashUpdateRsp (agsaRoot_t *agRoot, agsaFwFlashOpExtRsp_t *payload) |
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 | mpiSetDevInfoRsp (agsaRoot_t *agRoot, agsaSetDeviceInfoRsp_t *pIomb) |
Set Device Information Response. 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 | 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 | mpiDifEncOffloadRsp (agsaRoot_t *agRoot, agsaDifEncOffloadRspV_t *pIomb) |
DifEncOffload Response. More... | |
GLOBAL bit32 | mpiGetVHistRsp (agsaRoot_t *agRoot, agsaGetVHistCapRsp_t *pIomb) |
GLOBAL bit32 | mpiBuildCmd (agsaRoot_t *agRoot, bit32 *payload, mpiMsgCategory_t category, bit16 opcode, bit16 size, bit32 queueNum) |
Build a IOMB command and send to SPC. More... | |
GLOBAL bit32 | mpiVHistCapCmd (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, bit32 Channel, bit32 NumBitLo, bit32 NumBitHi, bit32 PcieAddrLo, bit32 PcieAddrHi, bit32 ByteCount) |
GLOBAL bit32 | mpiEchoCmd (agsaRoot_t *agRoot, bit32 queueNum, agsaContext_t *agContext, void *echoPayload) |
SPC MPI ECHO Command. More... | |
GLOBAL bit32 | mpiGetPhyProfileCmd (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 Operation, bit32 PhyId, void *agCB) |
Get Phy Profile Command SPCv. More... | |
GLOBAL bit32 | mpiSetPhyProfileCmd (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 Operation, bit32 PhyId, bit32 length, void *buffer) |
GLOBAL bit32 | mpiPhyStartCmd (agsaRoot_t *agRoot, bit32 tag, bit32 phyId, agsaPhyConfig_t *agPhyConfig, agsaSASIdentify_t *agSASIdentify, bit32 queueNum) |
SPC MPI Phy Start Command. More... | |
GLOBAL bit32 | mpiPhyStopCmd (agsaRoot_t *agRoot, bit32 tag, bit32 phyId, bit32 queueNum) |
SPC MPI Phy Stop Command. More... | |
GLOBAL bit32 | mpiSMPCmd (agsaRoot_t *agRoot, void *pIomb, bit16 opcode, agsaSMPCmd_t *payload, bit8 inq, bit8 outq) |
SPC MPI SMP Request Command. More... | |
GLOBAL bit32 | mpiDeregDevHandleCmd (agsaRoot_t *agRoot, agsaContext_t *agContext, agsaDeviceDesc_t *pDevice, bit32 deviceId, bit32 portId, bit32 queueNum) |
SPC MPI Deregister Device Handle Command. More... | |
GLOBAL bit32 | mpiGetDeviceHandleCmd (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 portId, bit32 flags, bit32 maxDevs, bit32 queueNum, bit32 skipCount) |
SPC MPI Get Device Handle Command. More... | |
GLOBAL bit32 | mpiLocalPhyControlCmd (agsaRoot_t *agRoot, bit32 tag, bit32 phyId, bit32 operation, bit32 queueNum) |
SPC MPI LOCAL PHY CONTROL Command. More... | |
GLOBAL bit32 | mpiGetDeviceInfoCmd (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 deviceid, bit32 option, bit32 queueNum) |
Get Device Information Command. More... | |
GLOBAL bit32 | mpiDevHandleAcceptCmd (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 ctag, bit32 deviceId, bit32 action, bit32 flag, bit32 itlnx, bit32 queueNum) |
Device Handle Accept Command. 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 | siGetRegisterDumpGSM (agsaRoot_t *agRoot, void *destinationAddress, bit32 regDumpNum, bit32 regDumpOffset, bit32 len) |
Initiate a GET REGISTER DUMP from GSM command. More... | |
GLOBAL bit32 | mpiNVMReadRegDumpCmd (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, bit32 cpuId, bit32 cOffset, bit32 addrHi, bit32 addrLo, bit32 len) |
SPC READ REGISTER DUMP Command. More... | |
GLOBAL bit32 | mpiDeviceHandleRemoval (agsaRoot_t *agRoot, agsaDeviceHandleRemoval_t *pMsg1) |
SPC MPI Device Handle Arrived Event (target mode) More... | |
GLOBAL bit32 | mpiGetNVMDCmd (agsaRoot_t *agRoot, agsaContext_t *agContext, agsaNVMDData_t *NVMDInfo, bit32 queueNum) |
Get NVM Data command. More... | |
GLOBAL bit32 | mpiSetNVMDCmd (agsaRoot_t *agRoot, agsaContext_t *agContext, agsaNVMDData_t *NVMDInfo, bit32 queueNum) |
Set NVM Data Command. More... | |
GLOBAL bit32 | mpiSetDeviceInfoCmd (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 deviceid, bit32 option, bit32 queueNum, bit32 param, ossaSetDeviceInfoCB_t agCB) |
Set Device Information Command. More... | |
GLOBAL bit32 | mpiSetDeviceStateCmd (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 deviceId, bit32 nds, bit32 queueNum) |
Set Device State command. More... | |
GLOBAL bit32 | mpiGetDeviceStateCmd (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 deviceId, bit32 queueNum) |
Get Device State command. More... | |
GLOBAL bit32 | mpiSasReinitializeCmd (agsaRoot_t *agRoot, agsaContext_t *agContext, agsaSASReconfig_t *agSASConfig, bit32 queueNum) |
SAS ReInitialize command. 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 *pInIomb) |
Get DFE Data command Response. More... | |
GLOBAL bit32 | mpiGetVisDataRsp (agsaRoot_t *agRoot, void *pIomb) |
GLOBAL bit32 | mpiSetControllerConfigCmd (agsaRoot_t *agRoot, agsaContext_t *agContext, agsaSetControllerConfigCmd_t *agControllerConfig, bit32 queueNum, bit8 modePageContext) |
SAS Set Controller Configuration Command. More... | |
GLOBAL bit32 | mpiGetControllerConfigCmd (agsaRoot_t *agRoot, agsaContext_t *agContext, agsaGetControllerConfigCmd_t *agControllerConfig, bit32 queueNum) |
SAS Get Controller Configuration Command. More... | |
GLOBAL bit32 | mpiKekManagementCmd (agsaRoot_t *agRoot, agsaContext_t *agContext, agsaKekManagementCmd_t *agKekMgmt, bit32 queueNum) |
SAS Encryption KEK command. More... | |
GLOBAL bit32 | mpiDekManagementCmd (agsaRoot_t *agRoot, agsaContext_t *agContext, agsaDekManagementCmd_t *agDekMgmt, bit32 queueNum) |
SAS Encryption DEK management command. More... | |
GLOBAL bit32 | mpiOperatorManagementCmd (agsaRoot_t *agRoot, bit32 queueNum, agsaContext_t *agContext, agsaOperatorMangmentCmd_t *operatorcode) |
This command sends operator management command. More... | |
GLOBAL bit32 | mpiEncryptBistCmd (agsaRoot_t *agRoot, bit32 queueNum, agsaContext_t *agContext, agsaEncryptBist_t *bist) |
This command sends encrypt self test command. More... | |
GLOBAL bit32 | mpiSetOperatorCmd (agsaRoot_t *agRoot, bit32 queueNum, agsaContext_t *agContext, agsaSetOperatorCmd_t *operatorcode) |
This command sends set operator command. More... | |
GLOBAL bit32 | mpiGetOperatorCmd (agsaRoot_t *agRoot, bit32 queueNum, agsaContext_t *agContext, agsaGetOperatorCmd_t *operatorcode) |
This command sends get operator command. More... | |
GLOBAL bit32 | mpiDIFEncryptionOffloadCmd (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, bit32 op, agsaDifEncPayload_t *agDifEncOffload, ossaDIFEncryptionOffloadStartCB_t agCB) |
bit32 | siOurMSIXInterrupt (agsaRoot_t *agRoot, bit32 interruptVectorIndex) |
Function to process MSIX interrupts. More... | |
void | siDisableMSIXInterrupts (agsaRoot_t *agRoot, bit32 interruptVectorIndex) |
Function to disable MSIX interrupts. More... | |
void | siReenableMSIXInterrupts (agsaRoot_t *agRoot, bit32 interruptVectorIndex) |
Function to reenable MSIX interrupts. More... | |
bit32 | siOurMSIInterrupt (agsaRoot_t *agRoot, bit32 interruptVectorIndex) |
Function to process MSI interrupts. More... | |
void | siDisableMSIInterrupts (agsaRoot_t *agRoot, bit32 interruptVectorIndex) |
Function to disable MSI interrupts. More... | |
void | siReenableMSIInterrupts (agsaRoot_t *agRoot, bit32 interruptVectorIndex) |
Function to reenable MSI interrupts. More... | |
bit32 | siOurLegacyInterrupt (agsaRoot_t *agRoot, bit32 interruptVectorIndex) |
Function to process Legacy interrupts. More... | |
void | siDisableLegacyInterrupts (agsaRoot_t *agRoot, bit32 interruptVectorIndex) |
Function to process Legacy interrupts. More... | |
void | siReenableLegacyInterrupts (agsaRoot_t *agRoot, bit32 interruptVectorIndex) |
Function to reenable Legacy interrupts. More... | |
bit32 | siOurMSIX_V_Interrupt (agsaRoot_t *agRoot, bit32 interruptVectorIndex) |
Function to process MSIX V interrupts. More... | |
bit32 | siOurMSI_V_Interrupt (agsaRoot_t *agRoot, bit32 interruptVectorIndex) |
Function to process MSI V interrupts. More... | |
bit32 | siOurLegacy_V_Interrupt (agsaRoot_t *agRoot, bit32 interruptVectorIndex) |
Function to process Legacy V interrupts. More... | |
void | siDisableMSIX_V_Interrupts (agsaRoot_t *agRoot, bit32 interruptVectorIndex) |
Function to disable MSIX V interrupts. More... | |
void | siDisableMSI_V_Interrupts (agsaRoot_t *agRoot, bit32 interruptVectorIndex) |
Function to disable MSI V interrupts. More... | |
void | siDisableLegacy_V_Interrupts (agsaRoot_t *agRoot, bit32 interruptVectorIndex) |
Function to process Legacy V interrupts. More... | |
void | siReenableMSIX_V_Interrupts (agsaRoot_t *agRoot, bit32 interruptVectorIndex) |
Function to reenable MSIX interrupts. More... | |
void | siReenableMSI_V_Interrupts (agsaRoot_t *agRoot, bit32 interruptVectorIndex) |
Function to reenable MSI V interrupts. More... | |
void | siReenableLegacy_V_Interrupts (agsaRoot_t *agRoot, bit32 interruptVectorIndex) |
Function to reenable Legacy V interrupts. More... | |
GLOBAL void | siUpdateBarOffsetTable (agsaRoot_t *agRoot, bit32 Spc_Type) |
GLOBAL void | siPciCpyMem (agsaRoot_t *agRoot, bit32 soffset, const void *dst, bit32 DWcount, bit32 busBaseNumber) |
GLOBAL void | siHalRegWriteExt (agsaRoot_t *agRoot, bit32 generic, bit32 regOffset, bit32 regValue) |
GLOBAL bit32 | siHalRegReadExt (agsaRoot_t *agRoot, bit32 generic, bit32 regOffset) |
GLOBAL bit32 | siGetTableOffset (agsaRoot_t *agRoot, bit32 TableOffsetInTable) |
GLOBAL bit32 | siGetPciBar (agsaRoot_t *agRoot) |
GLOBAL bit32 | siScratchDump (agsaRoot_t *agRoot) |
void | si_macro_check (agsaRoot_t *agRoot) |
GLOBAL bit32 | si_check_V_HDA (agsaRoot_t *agRoot) |
GLOBAL bit32 | si_check_V_Ready (agsaRoot_t *agRoot) |
GLOBAL void | siPCITriger (agsaRoot_t *agRoot) |
GLOBAL void | siCheckQs (agsaRoot_t *agRoot) |
GLOBAL bit32 | smIsCfg_V_ANY (agsaRoot_t *agRoot) |
GLOBAL bit32 | smIS_SPC (agsaRoot_t *agRoot) |
GLOBAL bit32 | smIS_HIL (agsaRoot_t *agRoot) |
GLOBAL bit32 | smIS_SPC6V (agsaRoot_t *agRoot) |
GLOBAL bit32 | smIS_SPC12V (agsaRoot_t *agRoot) |
GLOBAL bit32 | smIS_SPCV (agsaRoot_t *agRoot) |
GLOBAL bit32 | smIS_ENCRYPT (agsaRoot_t *agRoot) |
GLOBAL bit32 | smIS_SPCV_2_IOP (agsaRoot_t *agRoot) |
The file defines the function delcaration for internal used function.
Definition in file saproto.h.
GLOBAL bit32 mpiBistRsp | ( | agsaRoot_t * | agRoot, |
agsaEncryptBistRsp_t * | pIomb | ||
) |
Definition at line 7359 of file sampirsp.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_BIST_TEST, AGSA_HMAC_TEST, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, AGSA_SHA_TEST, agsaHWEventEncrypt_s::encryptOperation, agsaHWEventEncrypt_s::eq, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, agsaHWEventEncrypt_s::handle, hpDBG_VERY_LOUD, agsaHWEventEncrypt_s::info, agsaLLRoot_s::IOMap, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, NULL, OSSA_HW_ENCRYPT_TEST_EXECUTE, OSSA_HW_EVENT_ENCRYPTION, OSSA_OFFSET_OF, ossaHwCB(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaHWEventEncrypt_s::param, SA_ASSERT, SA_DBG1, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, agsaContext_s::sdkData, si_memset(), smTraceFuncEnter, smTraceFuncExit, status, agsaHWEventEncrypt_s::status, agsaEncryptBistRsp_s::tag, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by mpiParseOBIomb().
GLOBAL bit32 mpiBuildCmd | ( | agsaRoot_t * | agRoot, |
bit32 * | payload, | ||
mpiMsgCategory_t | category, | ||
bit16 | opcode, | ||
bit16 | size, | ||
bit32 | queueNum | ||
) |
Build a IOMB command and send to SPC.
Build an IOMB if there is a free message buffer and Send it to SPC
agRoot | Handles for this instance of SAS/SATA hardware |
payload | Pointer of payload in the IOMB |
category | Category of IOMB |
opcode | Opcode of IOMB |
size | Size of IOMB |
queueNum | Inbound/outbound queue number |
Definition at line 94 of file sampicmd.c.
References agNULL, AGSA_MAX_INBOUND_Q, AGSA_MAX_OUTBOUND_Q, AGSA_RC_BUSY, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, hpDBG_VERY_LOUD, agsaLLRoot_s::inboundQueue, LL_IOREQ_IBQ0_LOCK, MPI_IB_NUM_MASK, MPI_OB_NUM_MASK, MPI_OB_SHIFT, mpiMsgFreeGet(), mpiMsgProduce(), agsaQueueConfig_s::numOutboundQueues, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), mpiICQueue_s::priority, agsaLLRoot_s::QueueConfig, SA_ASSERT, SA_DBG1, agsaContext_s::sdkData, si_memcpy(), smTraceFuncEnter, and smTraceFuncExit.
Referenced by mpiDekManagementCmd(), mpiDeregDevHandleCmd(), mpiDevHandleAcceptCmd(), mpiDIFEncryptionOffloadCmd(), mpiEchoCmd(), mpiEncryptBistCmd(), mpiGetControllerConfigCmd(), mpiGetDeviceHandleCmd(), mpiGetDeviceInfoCmd(), mpiGetDeviceStateCmd(), mpiGetNVMDCmd(), mpiGetOperatorCmd(), mpiGetPhyProfileCmd(), mpiKekManagementCmd(), mpiLocalPhyControlCmd(), mpiNVMReadRegDumpCmd(), mpiOperatorManagementCmd(), mpiPhyStartCmd(), mpiPhyStopCmd(), mpiSasReinitializeCmd(), mpiSetControllerConfigCmd(), mpiSetDeviceInfoCmd(), mpiSetDeviceStateCmd(), mpiSetNVMDCmd(), mpiSetOperatorCmd(), mpiSetPhyProfileCmd(), mpiVHistCapCmd(), saGetDFEData(), saGetTimeStamp(), saGpioEventSetup(), saGpioPinSetup(), saGpioRead(), saGpioWrite(), saHwEventAck(), saPCIeDiagExecute(), saPortControl(), saRegisterNewDevice(), saSASDiagExecute(), saSASDiagStartEnd(), saSgpio(), and saSMPAbort().
GLOBAL bit32 mpiDekManagementCmd | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
agsaDekManagementCmd_t * | agDekMgmt, | ||
bit32 | queueNum | ||
) |
SAS Encryption DEK management command.
This command updates one or more DEK in a controller that supports encryption.
agRoot | Handles for this instance of SAS/SATA LLL |
agContext | Context for the Get Nexus State command |
agDekMgmt | DEK information that will be sent to the controller |
queueNum | Queue Number of inbound/outbound queue |
Definition at line 2372 of file sampicmd.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_BUSY, AGSA_RC_SUCCESS, agTRUE, agsaDekManagementCmd_s::dekIndex, agsaLLRoot_s::freeIORequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaLLRoot_s::IOMap, IOMB_SIZE64, agsaIOMap_s::IORequest, agsaDekManagementCmd_s::KEKIDX_Reserved_TBLS_DSOP, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, MPI_CATEGORY_SAS_SATA, mpiBuildCmd(), OPC_INB_DEK_MANAGEMENT, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaDekManagementCmd_s::Reserved_DBF_TBL_SIZE, SA_ASSERT, SA_DBG1, SA_DBG3, saLlistIOAdd, saLlistIOGetHead, saLlistIORemove, agsaContext_s::sdkData, smTraceFuncEnter, smTraceFuncExit, agsaDekManagementCmd_s::tableAddrHi, agsaDekManagementCmd_s::tableAddrLo, agsaDekManagementCmd_s::tableEntries, agsaDekManagementCmd_s::tag, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by saEncryptDekCacheInvalidate(), and saEncryptDekCacheUpdate().
GLOBAL bit32 mpiDekManagementRsp | ( | agsaRoot_t * | agRoot, |
agsaDekManagementRsp_t * | pIomb | ||
) |
DEK Management Response.
This routine handles the response of the DEK management message
agRoot | Handles for this instance of SAS/SATA LLL |
pIomb | Pointer of IOMB Mesage |
Definition at line 7187 of file sampirsp.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, DEK_MGMT_SUBOP_UPDATE, dekIndex, agsaHWEventEncrypt_s::encryptOperation, agsaHWEventEncrypt_s::eq, flags, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, agsaHWEventEncrypt_s::handle, hpDBG_VERY_LOUD, agsaHWEventEncrypt_s::info, agsaLLRoot_s::IOMap, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, NULL, OSSA_HW_ENCRYPT_DEK_INVALIDTE, OSSA_HW_ENCRYPT_DEK_UPDATE, OSSA_HW_EVENT_ENCRYPTION, OSSA_MPI_ENC_ERR_ILLEGAL_DEK_PARAM, OSSA_MPI_ERR_DEK_MANAGEMENT_DEK_UNWRAP_FAIL, OSSA_OFFSET_OF, ossaHwCB(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaHWEventEncrypt_s::param, SA_ASSERT, SA_DBG1, SA_DBG2, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, agsaContext_s::sdkData, si_memset(), smTraceFuncEnter, smTraceFuncExit, status, agsaHWEventEncrypt_s::status, agsaDekManagementRsp_s::tag, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by mpiParseOBIomb().
GLOBAL bit32 mpiDeregDevHandleCmd | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
agsaDeviceDesc_t * | pDevice, | ||
bit32 | deviceId, | ||
bit32 | portId, | ||
bit32 | queueNum | ||
) |
SPC MPI Deregister Device Handle Command.
This command used to deregister(remove) the device handle.
agRoot | Handles for this instance of SAS/SATA LLL |
agDevHandle | Device Handle |
deviceId | index of device |
portId | index of port |
queueNum | IQ/OQ number |
Definition at line 965 of file sampicmd.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_BUSY, AGSA_RC_SUCCESS, agTRUE, agsaLLRoot_s::freeIORequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaLLRoot_s::IOMap, IOMB_SIZE64, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, MPI_CATEGORY_SAS_SATA, mpiBuildCmd(), OPC_INB_DEREG_DEV_HANDLE, OSSA_OFFSET_OF, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaIORequestDesc_s::pDevice, SA_ASSERT, SA_DBG1, SA_DBG3, saLlistIOAdd, saLlistIOGetHead, saLlistIORemove, agsaContext_s::sdkData, si_memset(), smTraceFuncEnter, smTraceFuncExit, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by saDeregisterDeviceHandle().
GLOBAL bit32 mpiDeregDevHandleRsp | ( | agsaRoot_t * | agRoot, |
agsaDeregDevHandleRsp_t * | pIomb | ||
) |
SPC MPI Deregister Device Command Response.
This function handles the response of Deregister Command.
agRoot | Handles for this instance of SAS/SATA hardware |
pIomb | pointer of Message |
Definition at line 2512 of file sampirsp.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_BUSY, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, agsaLLRoot_s::DeviceDeregistrationCB, agsaDeviceDesc_s::DeviceMapIndex, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, hpDBG_VERY_LOUD, agsaDeviceDesc_s::initiatorDevHandle, agsaLLRoot_s::IOMap, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, NULL, OSSA_ERR_DEVICE_BUSY, OSSA_ERR_DEVICE_HANDLE_INVALID, OSSA_INVALID_HANDLE, OSSA_OFFSET_OF, OSSA_SUCCESS, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaIORequestDesc_s::pDevice, SA_ASSERT, SA_DBG1, SA_DBG3, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, agsaContext_s::sdkData, siRemoveDevHandle(), smTraceFuncEnter, smTraceFuncExit, status, agsaDeregDevHandleRsp_s::tag, agsaIOMap_s::Tag, agsaDeviceDesc_s::targetDevHandle, and agsaIORequestDesc_s::valid.
Referenced by mpiParseOBIomb().
GLOBAL bit32 mpiDevHandleAcceptCmd | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | ctag, | ||
bit32 | deviceId, | ||
bit32 | action, | ||
bit32 | flag, | ||
bit32 | itlnx, | ||
bit32 | queueNum | ||
) |
Device Handle Accept Command.
This command is Device Handle Accept IOMB to SPC.
agRoot | Handles for this instance of SAS/SATA LLL |
agContext | Context for the set VPD command |
ctag | controller tag |
deviceId | device Id |
action | action |
queueNum | queue Number |
Definition at line 1222 of file sampicmd.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_BUSY, AGSA_RC_SUCCESS, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaLLRoot_s::IOMap, IOMB_SIZE64, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, MPI_CATEGORY_SAS_SATA, mpiBuildCmd(), OPC_INB_DEV_HANDLE_ACCEPT, OSSA_OFFSET_OF, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), SA_ASSERT, SA_DBG1, SA_DBG2, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, saLlistIOGetHead, saLlistIORemove, agsaContext_s::sdkData, SHIFT1, SHIFT16, SHIFT17, SHIFT20, SHIFT24, si_memset(), smTraceFuncEnter, smTraceFuncExit, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by 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.
agRoot | Handles for this instance of SAS/SATA LLL |
pMsg1 | pointer of Message |
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().
GLOBAL bit32 mpiDeviceHandleRemoval | ( | agsaRoot_t * | agRoot, |
agsaDeviceHandleRemoval_t * | pMsg1 | ||
) |
SPC MPI Device Handle Arrived Event (target mode)
This function handles the Device Handle Arrived Event.
agRoot | Handles for this instance of SAS/SATA LLL |
pMsg1 | pointer of Message |
Definition at line 5982 of file sampirsp.c.
References agNULL, AGSA_RC_SUCCESS, agsaLLRoot_s::autoDeregDeviceflag, DEVICE_ID_BITS, agsaDeviceMap_s::DeviceHandle, agsaDeviceMap_s::DeviceIdFromFW, agsaLLRoot_s::DeviceMap, agsaDeviceDesc_s::DeviceMapIndex, agsaLLRoot_s::freeDevicesList, hpDBG_VERY_LOUD, agsaDeviceDesc_s::initiatorDevHandle, agsaDeviceDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MAX_IO_DEVICE_ENTRIES, OS_ASSERT, agsaContext_s::osData, OSSA_OFFSET_OF, ossaDeviceHandleRemovedEvent(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaPortMap_s::PortContext, agsaPortMap_s::PortID, PORTID_MASK, agsaLLRoot_s::PortMap, agsaPortMap_s::PortStatus, agsaDeviceDesc_s::pPort, SA_DBG1, SA_DBG2, SA_DBG3, saLlistAdd, agsaContext_s::sdkData, smTraceFuncEnter, smTraceFuncExit, and agsaDeviceDesc_s::targetDevHandle.
Referenced by mpiParseOBIomb().
GLOBAL bit32 mpiDeviceRegRsp | ( | agsaRoot_t * | agRoot, |
agsaDeviceRegistrationRsp_t * | pIomb | ||
) |
SPC MPI Device Register Command Response.
This function handles the response of Device Register Command.
agRoot | Handles for this instance of SAS/SATA hardware |
pIomb | pointer of Message |
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().
GLOBAL bit32 mpiDifEncOffloadRsp | ( | agsaRoot_t * | agRoot, |
agsaDifEncOffloadRspV_t * | pIomb | ||
) |
DifEncOffload Response.
This routine handles the response of the DifEncOffload Response
agRoot | Handles for this instance of SAS/SATA LLL |
pIomb | Pointer of IOMB Mesage |
Definition at line 7767 of file sampirsp.c.
References agsaOffloadDifDetails_s::ActualCRCUDT01, agsaOffloadDifDetails_s::ActualUDT2345, agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, agsaIORequestDesc_s::completionCB, agsaOffloadDifDetails_s::DIFErr, agsaOffloadDifDetails_s::ErrBoffset, agsaOffloadDifDetails_s::ExpectedCRCUDT01, agsaOffloadDifDetails_s::ExpectedUDT2345, agsaLLRoot_s::freeIORequests, hpDBG_VERY_LOUD, agsaLLRoot_s::IOMap, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, 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_OFFSET_OF, ossaDIFEncryptionOffloadStartCB(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), SA_ASSERT, SA_DBG1, SA_DBG3, saLlistIOAdd, agsaContext_s::sdkData, si_memset(), smTraceFuncEnter, smTraceFuncExit, status, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by mpiParseOBIomb().
GLOBAL bit32 mpiDIFEncryptionOffloadCmd | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | queueNum, | ||
bit32 | op, | ||
agsaDifEncPayload_t * | agDifEncOffload, | ||
ossaDIFEncryptionOffloadStartCB_t | agCB | ||
) |
Definition at line 2790 of file sampicmd.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_ENCRYPT_XTS_Mode, AGSA_RC_BUSY, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, agsaEncryptCipherModeXTS, agTRUE, agsaEncrypt_s::cipherMode, agsaIORequestDesc_s::completionCB, agsaEncryptDek_s::dekIndex, agsaEncrypt_s::dekInfo, agsaEncryptDek_s::dekTable, agsaDifEncPayload_s::dif, agsaDif_s::DIFPerLAAddrHi, agsaDif_s::DIFPerLAAddrLo, agsaDif_s::DIFPerLARegion0SecCount, agsaDifEncPayload_s::DstDL, agsaDifEncPayload_s::DstSgl, agsaDifEncOffloadCmd_s::DstSgl, agsaDifEncPayload_s::encrypt, agsaEncrypt_s::EncryptionPerLAAddrHi, agsaEncrypt_s::EncryptionPerLAAddrLo, agsaEncrypt_s::EncryptionPerLRegion0SecCount, flags, agsaDif_s::flags, agsaLLRoot_s::freeIORequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaDif_s::initialIOSeed, agsaLLRoot_s::IOMap, IOMB_SIZE128, agsaIOMap_s::IORequest, agsaEncrypt_s::kekIndex, agsaEncrypt_s::keyTag_W0, agsaEncrypt_s::keyTag_W1, agsaEncrypt_s::keyTagCheck, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, MPI_CATEGORY_SAS_SATA, mpiBuildCmd(), OPC_INB_DIF_ENC_OFFLOAD_CMD, OSSA_OFFSET_OF, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), SA_ASSERT, SA_DBG1, SA_DBG3, saLlistIOAdd, saLlistIOGetHead, saLlistIORemove, agsaContext_s::sdkData, agsaEncrypt_s::sectorSizeIndex, SHIFT1, SHIFT16, SHIFT2, SHIFT24, SHIFT4, SHIFT5, SHIFT8, si_memcpy(), si_memset(), smIS_SPCV(), smTraceFuncEnter, smTraceFuncExit, agsaDifEncPayload_s::SrcDL, agsaDifEncPayload_s::SrcSgl, agsaDifEncOffloadCmd_s::SrcSgl, agsaIOMap_s::Tag, agsaEncrypt_s::tweakVal_W0, agsaEncrypt_s::tweakVal_W1, agsaEncrypt_s::tweakVal_W2, agsaEncrypt_s::tweakVal_W3, agsaDif_s::udrtArray, agsaDif_s::udtArray, and agsaIORequestDesc_s::valid.
Referenced by saDIFEncryptionOffloadStart().
GLOBAL bit32 mpiEchoCmd | ( | agsaRoot_t * | agRoot, |
bit32 | queueNum, | ||
agsaContext_t * | agContext, | ||
void * | echoPayload | ||
) |
SPC MPI ECHO Command.
This command used to test that MPI between host and SPC IOP is operational.
agRoot | Handles for this instance of SAS/SATA LLL |
queueNum | Inbound/outbound queue number |
tag | Tag of this IOMB |
echoPayload | Pointer to the ECHO payload of inbound IOMB |
Definition at line 189 of file sampicmd.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_BUSY, AGSA_RC_SUCCESS, agTRUE, agsaLLRoot_s::freeIORequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaLLRoot_s::IOMap, IOMB_SIZE64, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, MPI_CATEGORY_SAS_SATA, mpiBuildCmd(), OPC_INB_ECHO, OSSA_OFFSET_OF, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaEchoCmd_s::payload, SA_ASSERT, SA_DBG1, SA_DBG3, saLlistIOAdd, saLlistIOGetHead, saLlistIORemove, agsaContext_s::sdkData, si_memcpy(), smTraceFuncEnter, smTraceFuncExit, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by saEchoCommand().
GLOBAL bit32 mpiEchoRsp | ( | agsaRoot_t * | agRoot, |
agsaEchoRsp_t * | pIomb | ||
) |
Process Outbound IOMB Message.
Process Outbound IOMB from SPC
agRoot | Handles for this instance of SAS/SATA LL Layer |
pMsg1 | Pointer of Response IOMB message 1 |
category | category of outbpond IOMB header |
opcode | Opcode of Outbound IOMB header |
bc | buffer count of IOMB header |
ECHO Response
This routine handles the response of ECHO Command
agRoot | Handles for this instance of SAS/SATA LLL |
pIomb | Pointer of IOMB Mesage |
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().
GLOBAL bit32 mpiEncryptBistCmd | ( | agsaRoot_t * | agRoot, |
bit32 | queueNum, | ||
agsaContext_t * | agContext, | ||
agsaEncryptBist_t * | bist | ||
) |
This command sends encrypt self test command.
agRoot | Handles for this instance of SAS/SATA LLL |
agContext | Context |
queueNum | Queue Number of inbound/outbound queue |
Definition at line 2545 of file sampicmd.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_BUSY, AGSA_RC_SUCCESS, agTRUE, agsaLLRoot_s::freeIORequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaLLRoot_s::IOMap, IOMB_SIZE64, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, MPI_CATEGORY_SAS_SATA, mpiBuildCmd(), OPC_INB_ENC_TEST_EXECUTE, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaEncryptBist_s::r_subop, SA_ASSERT, SA_DBG1, saLlistIOAdd, saLlistIOGetHead, saLlistIORemove, agsaContext_s::sdkData, smTraceFuncEnter, smTraceFuncExit, agsaEncryptBist_s::tag, agsaIOMap_s::Tag, agsaEncryptBist_s::testDiscption, and agsaIORequestDesc_s::valid.
Referenced by saEncryptSelftestExecute().
GLOBAL bit32 mpiFwExtFlashUpdateRsp | ( | agsaRoot_t * | agRoot, |
agsaFwFlashOpExtRsp_t * | payload | ||
) |
Definition at line 641 of file saioctlcmd.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_SUCCESS, agsaFlashExtResponse_s::epart_sect_size, agsaFlashExtResponse_s::epart_size, 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, ossaFlashExtExecuteCB(), 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().
GLOBAL bit32 mpiFwFlashUpdateRsp | ( | agsaRoot_t * | agRoot, |
agsaFwFlashUpdateRsp_t * | payload | ||
) |
SPC FW_FLASH_UPDATE Respond.
This command sends FW Flash Update Status to TD layer.
agRoot | Handles for this instance of SAS/SATA LL |
payload | FW download response payload |
Definition at line 591 of file saioctlcmd.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, 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, ossaFwFlashUpdateCB(), 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().
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
agRoot | Handles for this instance of SAS/SATA LLL |
pIomb | Pointer of IOMB Mesage |
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().
GLOBAL bit32 mpiGetControllerConfigCmd | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
agsaGetControllerConfigCmd_t * | agControllerConfig, | ||
bit32 | queueNum | ||
) |
SAS Get Controller Configuration Command.
This command retrieves the contents of a controller mode page.
agRoot | Handles for this instance of SAS/SATA LLL |
agContext | Context for the Get Nexus State command |
agControllerConfig | Mode page to retrieve from the controller |
queueNum | Queue Number of inbound/outbound queue |
Definition at line 2198 of file sampicmd.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_BUSY, AGSA_RC_SUCCESS, agTRUE, agsaLLRoot_s::freeIORequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaLLRoot_s::IOMap, IOMB_SIZE64, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, MPI_CATEGORY_SAS_SATA, mpiBuildCmd(), OPC_INB_GET_CONTROLLER_CONFIG, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaGetControllerConfigCmd_s::pageCode, SA_ASSERT, SA_DBG1, SA_DBG3, saLlistIOAdd, saLlistIOGetHead, saLlistIORemove, agsaContext_s::sdkData, smTraceFuncEnter, smTraceFuncExit, agsaGetControllerConfigCmd_s::tag, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by saGetControllerConfig().
GLOBAL bit32 mpiGetControllerConfigRsp | ( | agsaRoot_t * | agRoot, |
agsaGetControllerConfigRsp_t * | pIomb | ||
) |
SAS Get Controller Config Response.
This routine handles the response of Get Controller Config Command
agRoot | Handles for this instance of SAS/SATA LLL |
pIomb | Pointer of IOMB Mesage |
Definition at line 6907 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, agsaModePageGet, agsaGetControllerConfigRsp_s::configPage, agsaHWEventMode_s::context, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, hpDBG_VERY_LOUD, agsaLLRoot_s::IOMap, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, agsaHWEventMode_s::modePage, agsaHWEventMode_s::modePageLen, agsaHWEventMode_s::modePageOperation, NULL, OSSA_HW_EVENT_MODE, OSSA_OFFSET_OF, ossaHwCB(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), SA_ASSERT, SA_DBG1, SA_DBG2, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, agsaContext_s::sdkData, si_memset(), smTraceFuncEnter, smTraceFuncExit, status, agsaHWEventMode_s::status, agsaGetControllerConfigRsp_s::tag, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by mpiParseOBIomb().
GLOBAL bit32 mpiGetDevHandleRsp | ( | agsaRoot_t * | agRoot, |
agsaGetDevHandleRsp_t * | pIomb | ||
) |
SPC MPI Get Device Handle Command Response.
This function handles the response of Get Device Handle Command.
agRoot | Handles for this instance of SAS/SATA hardware |
pIomb | pointer of Message |
bc | buffer count |
Definition at line 2015 of file sampirsp.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, DEVICE_ID_BITS, DEVICE_IDC_BITS, agsaDeviceMap_s::DeviceHandle, agsaLLRoot_s::DeviceHandle, agsaLLRoot_s::DeviceMap, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, hpDBG_VERY_LOUD, agsaDeviceDesc_s::initiatorDevHandle, agsaLLRoot_s::IOMap, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, OSSA_OFFSET_OF, ossaGetDeviceHandlesCB(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaPortMap_s::PortContext, agsaPortMap_s::PortID, PORTID_MASK, agsaLLRoot_s::PortMap, agsaPortMap_s::PortStatus, SA_ASSERT, SA_DBG1, SA_DBG2, SA_DBG3, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, agsaContext_s::sdkData, SHIFT8, smTraceFuncEnter, smTraceFuncExit, agsaGetDevHandleRsp_s::tag, agsaIOMap_s::Tag, agsaDeviceDesc_s::targetDevHandle, and agsaIORequestDesc_s::valid.
Referenced by mpiParseOBIomb().
GLOBAL bit32 mpiGetDeviceHandleCmd | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | portId, | ||
bit32 | flags, | ||
bit32 | maxDevs, | ||
bit32 | queueNum, | ||
bit32 | skipCount | ||
) |
SPC MPI Get Device Handle Command.
This command used to get device handle.
agRoot | Handles for this instance of SAS/SATA LLL |
agContext | Context of Device Handle Command |
portId | index of port |
flags | flags |
maxDevs | Maximum Device Handles |
queueNum | IQ/OQ number |
skipCount | skip device entry count |
Definition at line 1058 of file sampicmd.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_BUSY, AGSA_RC_SUCCESS, agTRUE, flags, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaLLRoot_s::IOMap, IOMB_SIZE64, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, MPI_CATEGORY_SAS_SATA, mpiBuildCmd(), OPC_INB_GET_DEV_HANDLE, OSSA_OFFSET_OF, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), PORTID_MASK, SA_ASSERT, SA_DBG1, SA_DBG3, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, saLlistIOGetHead, saLlistIORemove, agsaContext_s::sdkData, SHIFT24, SHIFT8, si_memset(), smTraceFuncEnter, smTraceFuncExit, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by saGetDeviceHandles().
GLOBAL bit32 mpiGetDeviceInfoCmd | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | deviceid, | ||
bit32 | option, | ||
bit32 | queueNum | ||
) |
Get Device Information Command.
This command is get # of phys and support speeds from SPC.
agRoot | Handles for this instance of SAS/SATA LLL |
agDevHandle | Handle of device |
deviceid | Device Id |
opton | oprion |
Definition at line 541 of file sampicmd.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_BUSY, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, agTRUE, agsaIORequestDesc_s::DeviceInfoCmdOption, agsaLLRoot_s::freeIORequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaLLRoot_s::IOMap, IOMB_SIZE64, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, MPI_CATEGORY_SAS_SATA, mpiBuildCmd(), OPC_INB_GET_DEV_INFO, OPC_INB_SPC_GET_DEV_INFO, OSSA_OFFSET_OF, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), SA_ASSERT, SA_DBG1, SA_DBG3, saLlistIOAdd, saLlistIOGetHead, saLlistIORemove, agsaContext_s::sdkData, si_memset(), smIS_SPC(), smTraceFuncEnter, smTraceFuncExit, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by saGetDeviceInfo().
GLOBAL bit32 mpiGetDeviceStateCmd | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | deviceId, | ||
bit32 | queueNum | ||
) |
Get Device State command.
This command is get device State to SPC.
agRoot | Handles for this instance of SAS/SATA LLL |
agContext | Context for the Get Nexus State command |
deviceId | DeviceId |
queueNum | Queue Number of inbound/outbound queue |
Definition at line 1890 of file sampicmd.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_BUSY, AGSA_RC_SUCCESS, agTRUE, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaLLRoot_s::IOMap, IOMB_SIZE64, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, MPI_CATEGORY_SAS_SATA, mpiBuildCmd(), OPC_INB_GET_DEVICE_STATE, OSSA_OFFSET_OF, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), SA_ASSERT, SA_DBG1, SA_DBG3, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, saLlistIOGetHead, saLlistIORemove, agsaContext_s::sdkData, si_memset(), smTraceFuncEnter, smTraceFuncExit, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by saGetDeviceState().
GLOBAL bit32 mpiGetDeviceStateRsp | ( | agsaRoot_t * | agRoot, |
agsaGetDeviceStateRsp_t * | pIomb | ||
) |
Get Device State Response.
This routine handles the response of GET Device State Response
agRoot | Handles for this instance of SAS/SATA LLL |
pIomb | Pointer of IOMB Mesage |
Definition at line 6202 of file sampirsp.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, DEVICE_ID_BITS, agsaDeviceMap_s::DeviceHandle, agsaGetDeviceStateRsp_s::deviceId, agsaLLRoot_s::DeviceMap, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, hpDBG_VERY_LOUD, agsaDeviceDesc_s::initiatorDevHandle, agsaLLRoot_s::IOMap, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, OSSA_IO_NO_DEVICE, OSSA_OFFSET_OF, ossaGetDeviceStateCB(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), SA_ASSERT, SA_DBG1, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, agsaContext_s::sdkData, smTraceFuncEnter, smTraceFuncExit, status, agsaGetDeviceStateRsp_s::tag, agsaIOMap_s::Tag, agsaDeviceDesc_s::targetDevHandle, and agsaIORequestDesc_s::valid.
Referenced by mpiParseOBIomb().
GLOBAL bit32 mpiGetDevInfoRsp | ( | agsaRoot_t * | agRoot, |
agsaGetDevInfoRspV_t * | pIomb | ||
) |
Get Device Information Response.
This routine handles the response of Get Device Info Command Response
agRoot | Handles for this instance of SAS/SATA LLL |
pIomb | Pointer of IOMB Message |
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().
GLOBAL bit32 mpiGetDevInfoRspSpc | ( | agsaRoot_t * | agRoot, |
agsaGetDevInfoRsp_t * | pIomb | ||
) |
Get Device Information Response.
This routine handles the response of Get Device Info Command Response
agRoot | Handles for this instance of SAS/SATA LLL |
pIomb | Pointer of IOMB Message |
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().
GLOBAL bit32 mpiGetDFEDataRsp | ( | agsaRoot_t * | agRoot, |
void * | pIomb | ||
) |
Get DFE Data command Response.
This routine handles the response of Get DFE Data command Response
agRoot | Handles for this instance of SAS/SATA LLL |
pIomb | Pointer of IOMB Mesage |
Definition at line 6607 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_DFE_CHANNEL_DOWN, OSSA_DFE_CHANNEL_INVALID, OSSA_DFE_DATA_OVERFLOW, OSSA_DFE_DMA_FAILURE, OSSA_DFE_MEASUREMENT_IN_PROGRESS, OSSA_DFE_MPI_ERR_RESOURCE_UNAVAILABLE, OSSA_DFE_MPI_IO_SUCCESS, OSSA_OFFSET_OF, ossaGetDFEDataCB(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), SA_ASSERT, SA_DBG1, SA_DBG3, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, agsaContext_s::sdkData, smIS_SPCV(), smTraceFuncEnter, smTraceFuncExit, status, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by mpiParseOBIomb().
GLOBAL bit32 mpiGetNVMDataRsp | ( | agsaRoot_t * | agRoot, |
agsaGetNVMDataRsp_t * | pIomb | ||
) |
Get NVM Data Response.
This routine handles the response of GET NVM Data Response
agRoot | Handles for this instance of SAS/SATA LLL |
pIomb | Pointer of IOMB Mesage |
Definition at line 746 of file sampirsp.c.
References AAP1_RDUMP, agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_NVMD_CONFIG_SEEPROM, AGSA_NVMD_EXPANSION_ROM, AGSA_NVMD_IOP_REG_FLASH, AGSA_NVMD_TWI_DEVICES, AGSA_NVMD_VPD_FLASH, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, DIRECT_MODE, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, hpDBG_VERY_LOUD, INDIRECT_MODE, agsaLLRoot_s::IOMap, IOP_RDUMP, agsaIOMap_s::IORequest, IRMode, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, NVMD_LEN, NVMD_STAT, NVMD_TYPE, agsaGetNVMDataRsp_s::NVMData, OSSA_FAILURE, OSSA_OFFSET_OF, OSSA_SUCCESS, ossaGetNVMDResponseCB(), ossaGetRegisterDumpCB(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), SA_ASSERT, SA_DBG1, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, agsaContext_s::sdkData, SHIFT24, smTraceFuncEnter, smTraceFuncExit, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by mpiParseOBIomb().
GLOBAL bit32 mpiGetNVMDCmd | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
agsaNVMDData_t * | NVMDInfo, | ||
bit32 | queueNum | ||
) |
Get NVM Data command.
This command is get NVM Data from SPC.
agRoot | Handles for this instance of SAS/SATA LLL |
agContext | Context for the VPD command |
VPDInfo | Pointer of VPD Information |
queueNum | Queue Number of inbound/outbound queue |
Definition at line 1462 of file sampicmd.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_NVMD_AAP1_REG_FLASH, AGSA_NVMD_CONFIG_SEEPROM, AGSA_NVMD_EXPANSION_ROM, AGSA_NVMD_IOP_REG_FLASH, AGSA_NVMD_TWI_DEVICES, AGSA_NVMD_VPD_FLASH, AGSA_RC_BUSY, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, agTRUE, agsaNVMDData_s::dataOffsetAddress, agsaNVMDData_s::directLen, agsaLLRoot_s::freeIORequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaNVMDData_s::indirectAddrLower32, agsaNVMDData_s::indirectAddrUpper32, agsaNVMDData_s::indirectLen, agsaNVMDData_s::indirectPayload, agsaLLRoot_s::IOMap, IOMB_SIZE64, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, MPI_CATEGORY_SAS_SATA, mpiBuildCmd(), agsaNVMDData_s::NVMDevice, OPC_INB_GET_NVMD_DATA, OSSA_NVMD_MODE_ERROR, OSSA_OFFSET_OF, ossaGetNVMDResponseCB(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), SA_ASSERT, SA_DBG1, SA_DBG3, saLlistIOAdd, saLlistIOGetHead, saLlistIORemove, agsaContext_s::sdkData, SHIFT12, SHIFT16, SHIFT24, SHIFT31, SHIFT4, SHIFT8, si_memset(), smTraceFuncEnter, smTraceFuncExit, agsaIOMap_s::Tag, agsaNVMDData_s::TWIBusNumber, agsaNVMDData_s::TWIDeviceAddress, agsaNVMDData_s::TWIDeviceAddressSize, agsaNVMDData_s::TWIDevicePageSize, and agsaIORequestDesc_s::valid.
Referenced by saGetNVMDCommand().
GLOBAL bit32 mpiGetOperatorCmd | ( | agsaRoot_t * | agRoot, |
bit32 | queueNum, | ||
agsaContext_t * | agContext, | ||
agsaGetOperatorCmd_t * | operatorcode | ||
) |
This command sends get operator command.
agRoot | Handles for this instance of SAS/SATA LLL |
agContext | Context |
queueNum | Queue Number of inbound/outbound queue |
Definition at line 2722 of file sampicmd.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_BUSY, AGSA_RC_SUCCESS, agTRUE, agsaLLRoot_s::freeIORequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaLLRoot_s::IOMap, IOMB_SIZE64, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, MPI_CATEGORY_SAS_SATA, mpiBuildCmd(), OPC_INB_GET_OPERATOR, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), SA_ASSERT, SA_DBG1, saLlistIOAdd, saLlistIOGetHead, saLlistIORemove, agsaContext_s::sdkData, smTraceFuncEnter, smTraceFuncExit, agsaGetOperatorCmd_s::tag, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by saGetOperator().
GLOBAL bit32 mpiGetOperatorRsp | ( | agsaRoot_t * | agRoot, |
agsaGetOperatorRsp_t * | pIomb | ||
) |
Get Operator Response.
This routine handles the response of the Operator management message
agRoot | Handles for this instance of SAS/SATA LLL |
pIomb | Pointer of IOMB Mesage |
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().
GLOBAL bit32 mpiGetPCIBarIndex | ( | agsaRoot_t * | agRoot, |
bit32 | pciBar | ||
) |
Definition at line 3663 of file sainit.c.
References BAR0, BAR1, BAR2, BAR3, BAR4, BAR5, PCIBAR0, PCIBAR1, PCIBAR2, and PCIBAR3.
Referenced by mpiInitialize(), mpiReadCALTable(), mpiReadGSTable(), mpiUnInitConfigTable(), mpiWaitForConfigTable(), mpiWrAnalogSetupTable(), mpiWrIntVecTable(), mpiWriteCALTable(), mpiWrPhyAttrbTable(), saGetControllerInfo(), saGetControllerStatus(), and siGetPciBar().
GLOBAL bit32 mpiGetPhyProfileCmd | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | Operation, | ||
bit32 | PhyId, | ||
void * | agCB | ||
) |
Get Phy Profile Command SPCv.
This command is get # of phys and support speeds from SPCV.
agRoot | Handles for this instance of SAS/SATA LLL |
agDevHandle | Handle of device |
Definition at line 283 of file sampicmd.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_BUSY, AGSA_RC_SUCCESS, agTRUE, agsaIORequestDesc_s::completionCB, agsaLLRoot_s::freeIORequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaLLRoot_s::IOMap, IOMB_SIZE128, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, MPI_CATEGORY_SAS_SATA, mpiBuildCmd(), OPC_INB_GET_PHY_PROFILE, OSSA_OFFSET_OF, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), SA_ASSERT, SA_DBG1, SA_DBG3, saLlistAdd, saLlistGetHead, saLlistRemove, agsaContext_s::sdkData, SHIFT8, si_memset(), smTraceFuncEnter, smTraceFuncExit, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by saGetPhyProfile().
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
agRoot | Handles for this instance of SAS/SATA LLL |
pIomb | Pointer of IOMB Message |
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().
GLOBAL bit32 mpiGetTimeStampRsp | ( | agsaRoot_t * | agRoot, |
agsaGetTimeStampRsp_t * | pIomb | ||
) |
Get Time Stamp Response.
This routine handles the response of Get Time Stamp Command
agRoot | Handles for this instance of SAS/SATA LLL |
pIomb | Pointer of IOMB Mesage |
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().
GLOBAL bit32 mpiGetVHistRsp | ( | agsaRoot_t * | agRoot, |
agsaGetVHistCapRsp_t * | pIomb | ||
) |
Definition at line 7637 of file sampirsp.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, channel, agsaIORequestDesc_s::completionCB, agsaLLRoot_s::freeIORequests, hpDBG_VERY_LOUD, agsaLLRoot_s::IOMap, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, OSSA_OFFSET_OF, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), ossaVhistCaptureCB(), SA_ASSERT, SA_DBG1, SA_DBG3, saLlistIOAdd, agsaContext_s::sdkData, smIS_SPC12V(), smTraceFuncEnter, smTraceFuncExit, status, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by mpiParseOBIomb().
GLOBAL bit32 mpiGetVisDataRsp | ( | agsaRoot_t * | agRoot, |
void * | pIomb | ||
) |
GLOBAL bit32 mpiGPIOEventRsp | ( | agsaRoot_t * | agRoot, |
agsaGPIOEvent_t * | pIomb | ||
) |
Set GPIO Event Response.
This routine handles the response of GPIO Event
agRoot | Handles for this instance of SAS/SATA LLL |
pIomb | Pointer of IOMB Mesage |
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().
GLOBAL bit32 mpiGPIORsp | ( | agsaRoot_t * | agRoot, |
agsaGPIORsp_t * | pIomb | ||
) |
Set GPIO Response.
This routine handles the response of GPIO Command
agRoot | Handles for this instance of SAS/SATA LLL |
pIomb | Pointer of IOMB Mesage |
Definition at line 4615 of file sampirsp.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, agsaGpioEventSetupInfo_s::gpioEventFallingEdge, agsaGpioEventSetupInfo_s::gpioEventLevel, agsaGpioEventSetupInfo_s::gpioEventRisingEdge, agsaGpioPinSetupInfo_t::gpioInputEnabled, agsaGpioPinSetupInfo_t::gpioTypePart1, agsaGpioPinSetupInfo_t::gpioTypePart2, hpDBG_VERY_LOUD, agsaLLRoot_s::IOMap, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, OSSA_IO_SUCCESS, OSSA_OFFSET_OF, ossaGpioResponseCB(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), SA_ASSERT, SA_DBG1, SA_DBG3, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, agsaContext_s::sdkData, si_memset(), smTraceFuncEnter, smTraceFuncExit, agsaGPIORsp_s::tag, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by mpiParseOBIomb().
GLOBAL bit32 mpiHWevent | ( | agsaRoot_t * | agRoot, |
agsaHWEvent_SPC_OUB_t * | pIomb | ||
) |
Hardware Event Response from SPC.
Process HW Event from SPC
agRoot | Handles for this instance of SAS/SATA LL Layer |
pIomb | pointer of IOMB |
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().
GLOBAL bit32 mpiInitialize | ( | agsaRoot_t * | agRoot, |
mpiMemReq_t * | memoryAllocated, | ||
mpiConfig_t * | config | ||
) |
Definition at line 1839 of file sainit.c.
References agNULL, mpiOCQueue_s::agRoot, mpiICQueue_s::agRoot, AGSA_MAX_INBOUND_Q, AGSA_MAX_OUTBOUND_Q, AGSA_MAX_VALID_PHYS, AGSA_MPI_GENERAL_STATUS_TABLE, AGSA_MPI_INBOUND_QUEUE_CONFIGURATION_TABLE, AGSA_MPI_INTERRUPT_VECTOR_TABLE, AGSA_MPI_MAIN_CONFIGURATION_TABLE, AGSA_MPI_OUTBOUND_QUEUE_CONFIGURATION_TABLE, AGSA_MPI_OUTBOUND_QUEUE_FAILOVER_TABLE, AGSA_MPI_PER_SAS_PHY_ATTRIBUTE_TABLE, AGSA_MPI_SAS_PHY_ANALOG_SETUP_TABLE, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, mpiHostLLConfigDescriptor_s::analogSetupTblOffset, spc_configMainDescriptor_s::analogSetupTblOffset, spc_inboundQueueDescriptor_s::ciLowerBaseAddress, mpiOCQueue_s::CIPCIBar, mpiOCQueue_s::CIPCIOffset, mpiICQueue_s::ciPointer, spc_inboundQueueDescriptor_s::ciUpperBaseAddress, mpiOCQueue_s::consumerIdx, mpiICQueue_s::consumerIdx, spc_configMainDescriptor_s::ContrlCapFlag, agsaLLRoot_s::ControllerInfo, mpiMemReq_s::count, mpiHostLLConfigDescriptor_s::custset, spc_configMainDescriptor_s::custset, mpiOCQueue_s::DIntTOffset, spc_inboundQueueDescriptor_s::elementPriSizeCount, mpiMem_s::elementSize, mpiOCQueue_s::elementSize, mpiICQueue_s::elementSize, mpiInboundQueueDescriptor_s::elementSize, mpiOutboundQueueDescriptor_s::elementSize, spc_outboundQueueDescriptor_s::elementSizeCount, mpiHostLLConfigDescriptor_s::eventLogOption, spc_configMainDescriptor_s::eventLogOption, mpiHostLLConfigDescriptor_s::eventLogSize, spc_configMainDescriptor_s::eventLogSize, mpiHostLLConfigDescriptor_s::FatalErrorDumpLength0, mpiHostLLConfigDescriptor_s::FatalErrorDumpLength1, mpiHostLLConfigDescriptor_s::FatalErrorDumpOffset0, mpiHostLLConfigDescriptor_s::FatalErrorDumpOffset1, mpiHostLLConfigDescriptor_s::FatalErrorInterrupt, spc_configMainDescriptor_s::FatalErrorInterrupt, agsaControllerInfo_s::fwInterfaceRev, GEN_MSGU_IBDB_SET, GEN_MSGU_SCRATCH_PAD_0, GST_GSTLEN_MPIS_OFFSET, GST_MPI_STATE_INIT, GST_MPI_STATE_MASK, GST_MPI_STATE_UNINIT, spc_configMainDescriptor_s::GSTOffset, gWait_2, mpiHostLLConfigDescriptor_s::HDAModeFlags, spc_configMainDescriptor_s::HDAModeFlags, HP_SUPPORT_BIT, hpDBG_VERY_LOUD, agsaLLRoot_s::hwConfig, agsaHwConfig_s::hwOption, IB_PIPCI_BAR, IB_PIPCI_BAR_OFFSET, agsaLLRoot_s::inboundQueue, spc_configMainDescriptor_s::inboundQueueOffset, mpiConfig_s::inboundQueues, INT_COL_BIT, INT_DELAY_BITS, INT_THR_BITS, INT_VEC_BITS, mpiOutboundQueueDescriptor_s::interruptDelay, mpiOutboundQueueDescriptor_s::interruptEnable, mpiHostLLConfigDescriptor_s::InterruptReassertionDelay, spc_configMainDescriptor_s::interruptReassertionDelay, mpiOutboundQueueDescriptor_s::interruptThreshold, spc_outboundQueueDescriptor_s::interruptVecCntDelay, agsaLLRoot_s::interruptVecIndexBitMap, agsaLLRoot_s::interruptVecIndexBitMap1, mpiOutboundQueueDescriptor_s::interruptVector, agsaHwConfig_s::intReassertionOption, mpiHostLLConfigDescriptor_s::ioAbortDelay, spc_configMainDescriptor_s::ioAbortDelay, mpiHostLLConfigDescriptor_s::IOPeventLogOption, spc_configMainDescriptor_s::IOPeventLogOption, mpiHostLLConfigDescriptor_s::IOPeventLogSize, spc_configMainDescriptor_s::IOPeventLogSize, IQ_NUM_32, mpiHostLLConfigDescriptor_s::iQNPPD_HPPD_GEvent, spc_configMainDescriptor_s::iQNPPD_HPPD_GEvent, spc_inboundQueueDescriptor_s::lowerBaseAddress, spc_outboundQueueDescriptor_s::lowerBaseAddress, mpiHostLLConfigDescriptor_s::lowerEventLogAddress, spc_configMainDescriptor_s::lowerEventLogAddress, mpiHostLLConfigDescriptor_s::lowerIOPeventLogAddress, spc_configMainDescriptor_s::lowerIOPeventLogAddress, MAIN_ANALOG_SETUP_OFFSET, MAIN_AWT_MIDRANGE, MAIN_CUSTOMER_SETTING, MAIN_EVENT_LOG_ADDR_HI, MAIN_EVENT_LOG_ADDR_LO, MAIN_EVENT_LOG_BUFF_SIZE, MAIN_EVENT_LOG_OPTION, MAIN_FATAL_ERROR_INTERRUPT, MAIN_FATAL_ERROR_RDUMP0_LENGTH, MAIN_FATAL_ERROR_RDUMP0_OFFSET, MAIN_FATAL_ERROR_RDUMP1_LENGTH, MAIN_FATAL_ERROR_RDUMP1_OFFSET, MAIN_GST_OFFSET, MAIN_IBQ_OFFSET, MAIN_INT_VEC_TABLE_OFFSET, MAIN_IO_ABORT_DELAY, MAIN_IO_ABORT_DELAY_END_TO_END_CRC_DISABLE, MAIN_IOP_EVENT_LOG_ADDR_HI, MAIN_IOP_EVENT_LOG_ADDR_LO, MAIN_IOP_EVENT_LOG_BUFF_SIZE, MAIN_IOP_EVENT_LOG_OPTION, MAIN_IQNPPD_HPPD_OFFSET, MAIN_IRAD_RESERVED, MAIN_MOQFOT_MOQFOES, MAIN_OB_HW_EVENT_PID03_OFFSET, MAIN_OB_HW_EVENT_PID47_OFFSET, MAIN_OB_NCQ_EVENT_PID03_OFFSET, MAIN_OB_NCQ_EVENT_PID47_OFFSET, MAIN_OB_SSP_EVENT_PID03_OFFSET, MAIN_OB_SSP_EVENT_PID47_OFFSET, MAIN_OBQ_OFFSET, MAIN_PHY_ATTRIBUTE_OFFSET, MAIN_PRECTD_PRESETD, MAIN_TITNX_EVENT_PID03_OFFSET, MAIN_TITNX_EVENT_PID47_OFFSET, mpiConfig_s::mainConfig, agsaLLRoot_s::mainConfigTable, MAKE_MODULO, MAX_NUM_VECTOR, MAX_QUEUE_EACH_MEM, mpiConfig_s::maxNumInboundQueues, mpiConfig_s::maxNumOutboundQueues, MBIC_GSM_SM_BASE, mpiOCQueue_s::memoryRegion, mpiICQueue_s::memoryRegion, MPI_CI_INDEX, agsaSwConfig_s::mpiContextTable, agsaSwConfig_s::mpiContextTablelen, mpiGetPCIBarIndex(), agsaMPIContext_s::MPITableType, mpiUpdateIBQueueCfgTable(), mpiUpdateOBQueueCfgTable(), mpiWaitForConfigTable(), mpiWrAnalogSetupTable(), mpiWrIntVecTable(), mpiWriteCALAll(), MSGU_IBDB_SET, MSGU_READ_IDR, MSGU_SCRATCH_PAD_0, NULL, mpiMem_s::numElements, mpiOCQueue_s::numElements, mpiICQueue_s::numElements, mpiInboundQueueDescriptor_s::numElements, mpiOutboundQueueDescriptor_s::numElements, mpiConfig_s::numInboundQueues, agsaLLRoot_s::numInterruptVectors, mpiConfig_s::numOutboundQueues, OB_CIPCI_BAR, OB_CIPCI_BAR_OFFSET, OB_DYNAMIC_COALES_OFFSET, OB_PROPERTY_INT_ENABLE, agsaMPIContext_s::offset, OQ_NUM_32, ossaHwRegRead(), ossaHwRegReadConfig32(), ossaHwRegReadExt(), ossaHwRegWriteExt(), ossaStallThread(), mpiHostLLConfigDescriptor_s::outboundHWEventPID0_3, spc_configMainDescriptor_s::outboundHWEventPID0_3, mpiHostLLConfigDescriptor_s::outboundHWEventPID4_7, spc_configMainDescriptor_s::outboundHWEventPID4_7, mpiHostLLConfigDescriptor_s::outboundNCQEventPID0_3, spc_configMainDescriptor_s::outboundNCQEventPID0_3, mpiHostLLConfigDescriptor_s::outboundNCQEventPID4_7, spc_configMainDescriptor_s::outboundNCQEventPID4_7, agsaLLRoot_s::outboundQueue, spc_configMainDescriptor_s::outboundQueueOffset, mpiConfig_s::outboundQueues, mpiHostLLConfigDescriptor_s::outboundTargetITNexusEventPID0_3, spc_configMainDescriptor_s::outboundTargetITNexusEventPID0_3, mpiHostLLConfigDescriptor_s::outboundTargetITNexusEventPID4_7, spc_configMainDescriptor_s::outboundTargetITNexusEventPID4_7, mpiHostLLConfigDescriptor_s::outboundTargetSSPEventPID0_3, spc_configMainDescriptor_s::outboundTargetSSPEventPID0_3, mpiHostLLConfigDescriptor_s::outboundTargetSSPEventPID4_7, spc_configMainDescriptor_s::outboundTargetSSPEventPID4_7, PHY_COUNT_BITS, mpiConfig_s::phyAnalogConfig, mpiMem_s::physAddrLower, mpiMem_s::physAddrUpper, spc_outboundQueueDescriptor_s::piLowerBaseAddress, mpiICQueue_s::PIPCIBar, mpiICQueue_s::PIPCIOffset, mpiOCQueue_s::piPointer, spc_outboundQueueDescriptor_s::piUpperBaseAddress, spc_configMainDescriptor_s::portRecoveryResetTimer, mpiHostLLConfigDescriptor_s::PortRecoveryTimerPortResetTimer, mpiICQueue_s::priority, mpiInboundQueueDescriptor_s::priority, mpiOCQueue_s::producerIdx, mpiICQueue_s::producerIdx, mpiOCQueue_s::qNumber, mpiICQueue_s::qNumber, mpiMemReq_s::region, SA_ASSERT, SA_DBG1, SA_DBG2, SA_DBG3, SCRATCH_PAD0_BAR_MASK, SCRATCH_PAD0_OFFSET_MASK, SCRATCH_PAD1_V_ERROR_STATE, agsaContext_s::sdkData, SHIFT16, SHIFT19, SHIFT24, SHIFT26, SHIFT30, si_memcpy(), si_memset(), siBar4Shift(), siGetPciBar(), siHalRegReadExt(), siHalRegWriteExt(), smIS_HIL(), smIS_SPC(), smIS_SPC12V(), smIS_SPC6V(), smIS_SPCV(), smIsCfgVREV_A, smIsCfgVREV_B, smIsCfgVREV_C, smTrace, smTraceFuncEnter, smTraceFuncExit, SPC_MSGU_CFG_TABLE_UPDATE, agsaLLRoot_s::swConfig, TOTAL_MPI_MEM_CHUNKS, mpiMem_s::totalLength, spc_inboundQueueDescriptor_s::upperBaseAddress, spc_outboundQueueDescriptor_s::upperBaseAddress, mpiHostLLConfigDescriptor_s::upperEventLogAddress, spc_configMainDescriptor_s::upperEventLogAddress, mpiHostLLConfigDescriptor_s::upperIOPeventLogAddress, spc_configMainDescriptor_s::upperIOPeventLogAddress, V_Scratchpad_1_Register, agsaMPIContext_s::value, mpiMem_s::virtPtr, WAIT_INCREMENT, and WAIT_SECONDS.
Referenced by saInitialize().
GLOBAL bit32 mpiKekManagementCmd | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
agsaKekManagementCmd_t * | agKekMgmt, | ||
bit32 | queueNum | ||
) |
SAS Encryption KEK command.
This command updates one or more KEK in a controller that supports encryption.
agRoot | Handles for this instance of SAS/SATA LLL |
agContext | Context for the Get Nexus State command |
agKekMgmt | Kek information that will be sent to the controller |
queueNum | Queue Number of inbound/outbound queue |
Definition at line 2289 of file sampicmd.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_BUSY, AGSA_RC_SUCCESS, agTRUE, agsaLLRoot_s::freeIORequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaLLRoot_s::IOMap, IOMB_SIZE64, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, MPI_CATEGORY_SAS_SATA, mpiBuildCmd(), agsaKekManagementCmd_s::NEWKIDX_CURKIDX_KBF_Reserved_SKNV_KSOP, OPC_INB_KEK_MANAGEMENT, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaKekManagementCmd_s::reserved, SA_ASSERT, SA_DBG1, SA_DBG3, saLlistIOAdd, saLlistIOGetHead, saLlistIORemove, agsaContext_s::sdkData, smTraceFuncEnter, smTraceFuncExit, agsaKekManagementCmd_s::tag, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by saEncryptKekInvalidate(), and saEncryptKekUpdate().
GLOBAL bit32 mpiKekManagementRsp | ( | agsaRoot_t * | agRoot, |
agsaKekManagementRsp_t * | pIomb | ||
) |
KEK Management Response.
This routine handles the response of the KEK management message
agRoot | Handles for this instance of SAS/SATA LLL |
pIomb | Pointer of IOMB Mesage |
Definition at line 7044 of file sampirsp.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, agsaHWEventEncrypt_s::encryptOperation, agsaHWEventEncrypt_s::eq, flags, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, agsaHWEventEncrypt_s::handle, hpDBG_VERY_LOUD, agsaHWEventEncrypt_s::info, agsaLLRoot_s::IOMap, agsaIOMap_s::IORequest, KEK_MGMT_SUBOP_INVALIDATE, KEK_MGMT_SUBOP_KEYCARDINVALIDATE, KEK_MGMT_SUBOP_KEYCARDUPDATE, KEK_MGMT_SUBOP_UPDATE, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, NULL, OSSA_HW_ENCRYPT_KEK_INVALIDTE, OSSA_HW_ENCRYPT_KEK_UPDATE, OSSA_HW_ENCRYPT_KEK_UPDATE_AND_STORE, OSSA_HW_EVENT_ENCRYPTION, OSSA_MPI_ENC_ERR_ILLEGAL_KEK_PARAM, OSSA_OFFSET_OF, ossaHwCB(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaHWEventEncrypt_s::param, SA_ASSERT, SA_DBG1, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, agsaContext_s::sdkData, si_memset(), smTraceFuncEnter, smTraceFuncExit, status, agsaHWEventEncrypt_s::status, agsaKekManagementRsp_s::tag, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by mpiParseOBIomb().
GLOBAL bit32 mpiLocalPhyControlCmd | ( | agsaRoot_t * | agRoot, |
bit32 | tag, | ||
bit32 | phyId, | ||
bit32 | operation, | ||
bit32 | queueNum | ||
) |
SPC MPI LOCAL PHY CONTROL Command.
This command used to do the SPC Phy operation.
agRoot | Handles for this instance of SAS/SATA LLL |
tag | tag of IOMB |
phyId | PHY Id |
operation | operation of PHY control |
queueNum | IQ/OQ number |
Definition at line 1173 of file sampicmd.c.
References AGSA_RC_SUCCESS, BYTE_MASK, hpDBG_VERY_LOUD, IOMB_SIZE64, MPI_CATEGORY_SAS_SATA, mpiBuildCmd(), OPC_INB_LOCAL_PHY_CONTROL, OSSA_OFFSET_OF, SA_DBG3, SHIFT8, si_memset(), SM_PHYID_MASK, smTraceFuncEnter, and smTraceFuncExit.
Referenced by saLocalPhyControl().
GLOBAL bit32 mpiNVMReadRegDumpCmd | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | queueNum, | ||
bit32 | cpuId, | ||
bit32 | cOffset, | ||
bit32 | addrHi, | ||
bit32 | addrLo, | ||
bit32 | len | ||
) |
SPC READ REGISTER DUMP Command.
This command used to do the SPC Read Register Dump command.
agRoot | Handles for this instance of SAS/SATA LLL |
tag | tag of IOMB |
cpuId | CPU Id |
queueNum | IQ/OQ number |
cpuId | AAP1 or IOP |
cOffset | offset of the register dump data |
addrHi | Hi address if Register Dump data |
addrHi | Low address if Register Dump data |
len | the length of for read |
Definition at line 1350 of file sampicmd.c.
References AAP1_RDUMP, agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_BUSY, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, agTRUE, agsaLLRoot_s::freeIORequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaLLRoot_s::IOMap, IOMB_SIZE64, IOP_RDUMP, agsaIOMap_s::IORequest, IRMode, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, MPI_CATEGORY_SAS_SATA, mpiBuildCmd(), OPC_INB_GET_NVMD_DATA, OSSA_OFFSET_OF, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), SA_ASSERT, SA_DBG1, SA_DBG3, saLlistIOAdd, saLlistIOGetHead, saLlistIORemove, agsaContext_s::sdkData, si_memset(), smTraceFuncEnter, smTraceFuncExit, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by saGetRegisterDump().
GLOBAL bit32 mpiOperatorManagementCmd | ( | agsaRoot_t * | agRoot, |
bit32 | queueNum, | ||
agsaContext_t * | agContext, | ||
agsaOperatorMangmentCmd_t * | operatorcode | ||
) |
This command sends operator management command.
agRoot | Handles for this instance of SAS/SATA LLL |
agContext | Context |
queueNum | Queue Number of inbound/outbound queue |
Definition at line 2462 of file sampicmd.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_BUSY, AGSA_RC_SUCCESS, agTRUE, agsaLLRoot_s::freeIORequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaLLRoot_s::IOMap, IOMB_SIZE128, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, MPI_CATEGORY_SAS_SATA, mpiBuildCmd(), OPC_INB_OPR_MGMT, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), SA_ASSERT, SA_DBG1, saLlistIOAdd, saLlistIOGetHead, saLlistIORemove, agsaContext_s::sdkData, smTraceFuncEnter, smTraceFuncExit, agsaOperatorMangmentCmd_s::tag, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by saOperatorManagement().
GLOBAL bit32 mpiOperatorManagementRsp | ( | agsaRoot_t * | agRoot, |
agsaOperatorMangmenRsp_t * | pIomb | ||
) |
Operator Management Response.
This routine handles the response of the Operator management message
agRoot | Handles for this instance of SAS/SATA LLL |
pIomb | Pointer of IOMB Mesage |
Definition at line 7286 of file sampirsp.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, agsaHWEventEncrypt_s::encryptOperation, agsaHWEventEncrypt_s::eq, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, hpDBG_VERY_LOUD, agsaHWEventEncrypt_s::info, agsaLLRoot_s::IOMap, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, OPR_MGMT_MPI_ENC_ERR_OPR_PARAM_ILLEGAL, OSSA_HW_ENCRYPT_OPERATOR_MANAGEMENT, OSSA_OFFSET_OF, ossaOperatorManagementCB(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), SA_ASSERT, SA_DBG1, SA_DBG2, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, agsaContext_s::sdkData, si_memset(), smTraceFuncEnter, smTraceFuncExit, status, agsaHWEventEncrypt_s::status, agsaOperatorMangmentRsp_s::tag, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by mpiParseOBIomb().
GLOBAL FORCEINLINE bit32 mpiParseOBIomb | ( | agsaRoot_t * | agRoot, |
bit32 * | pMsg1, | ||
mpiMsgCategory_t | category, | ||
bit16 | opcode | ||
) |
Process Outbound IOMB Message.
Process Outbound IOMB from SPC
agRoot | Handles for this instance of SAS/SATA LL Layer |
pMsg1 | Pointer of Response IOMB message 1 |
category | category of outbpond IOMB header |
opcode | Opcode of Outbound IOMB header |
bc | buffer count of IOMB header |
Definition at line 2356 of file saint.c.
References agNULL, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, agsaSSPCoalescedCompletionRsp_s::coalescedCount, agsaSATACoalescedCompletionRsp_s::coalescedCount, hpDBG_VERY_LOUD, agsaLLRoot_s::IOMap, agsaIOMap_s::IORequest, mpiBistRsp(), mpiDekManagementRsp(), mpiDeregDevHandleRsp(), mpiDeviceHandleArrived(), mpiDeviceHandleRemoval(), mpiDeviceRegRsp(), mpiDifEncOffloadRsp(), mpiEchoRsp(), mpiFwExtFlashUpdateRsp(), mpiFwFlashUpdateRsp(), mpiGeneralEventRsp(), mpiGetControllerConfigRsp(), mpiGetDevHandleRsp(), mpiGetDeviceStateRsp(), mpiGetDevInfoRsp(), mpiGetDevInfoRspSpc(), mpiGetDFEDataRsp(), mpiGetNVMDataRsp(), mpiGetOperatorRsp(), mpiGetPhyProfileRsp(), mpiGetTimeStampRsp(), mpiGetVHistRsp(), mpiGPIOEventRsp(), mpiGPIORsp(), mpiHWevent(), mpiKekManagementRsp(), mpiOperatorManagementRsp(), mpiPCIeDiagExecuteRsp(), mpiPhyCntrlRsp(), mpiPhyStartEvent(), mpiPhyStopEvent(), mpiPortControlRsp(), mpiSASDiagExecuteRsp(), mpiSASDiagStartEndRsp(), mpiSASHwEventAckRsp(), mpiSasReInitializeRsp(), mpiSATAAbortRsp(), mpiSATACompletion(), mpiSATAEvent(), mpiSetControllerConfigRsp(), mpiSetDeviceStateRsp(), mpiSetDevInfoRsp(), mpiSetNVMDataRsp(), mpiSetOperatorRsp(), mpiSetPhyProfileRsp(), mpiSGpioRsp(), mpiSMPAbortRsp(), mpiSMPCompletion(), mpiSSPAbortRsp(), mpiSSPCompletion(), mpiSSPEvent(), mpiSSPReqReceivedNotify(), OPC_OUB_COMBINED_SATA_COMP, OPC_OUB_COMBINED_SSP_COMP, OPC_OUB_DEK_MANAGEMENT, OPC_OUB_DEREG_DEV, OPC_OUB_DEV_HANDLE_ARRIV, OPC_OUB_DEV_INFO, OPC_OUB_DEV_REGIST, OPC_OUB_DEVICE_HANDLE_REMOVAL, OPC_OUB_DIF_ENC_OFFLOAD_RSP, OPC_OUB_ECHO, OPC_OUB_ENC_TEST_EXECUTE, OPC_OUB_FLASH_OP_EXT_RSP, OPC_OUB_FW_FLASH_UPDATE, OPC_OUB_FW_PROFILE, OPC_OUB_GENERAL_EVENT, OPC_OUB_GET_CONTROLLER_CONFIG, OPC_OUB_GET_DEV_HANDLE, OPC_OUB_GET_DEVICE_STATE, OPC_OUB_GET_NVMD_DATA, OPC_OUB_GET_OPERATOR, OPC_OUB_GET_PHY_PROFILE_RSP, OPC_OUB_GET_TIME_STAMP, OPC_OUB_GET_VIST_CAP_RSP, OPC_OUB_GPIO_EVENT, OPC_OUB_GPIO_RESPONSE, OPC_OUB_HW_EVENT, OPC_OUB_KEK_MANAGEMENT, OPC_OUB_LOCAL_PHY_CNTRL, OPC_OUB_OPR_MGMT, OPC_OUB_PCIE_DIAG_EXECUTE, OPC_OUB_PHY_START_RESPONSE, OPC_OUB_PHY_STOP_RESPONSE, OPC_OUB_PORT_CONTROL, OPC_OUB_SAS_DIAG_EXECUTE, OPC_OUB_SAS_DIAG_MODE_START_END, OPC_OUB_SAS_HW_EVENT_ACK, OPC_OUB_SAS_RE_INITIALIZE, OPC_OUB_SATA_ABORT_RSP, OPC_OUB_SATA_COMP, OPC_OUB_SATA_EVENT, OPC_OUB_SET_CONTROLLER_CONFIG, OPC_OUB_SET_DEV_INFO, OPC_OUB_SET_DEVICE_STATE, OPC_OUB_SET_NVMD_DATA, OPC_OUB_SET_OPERATOR, OPC_OUB_SET_PHY_PROFILE_RSP, OPC_OUB_SGPIO_RESPONSE, OPC_OUB_SMP_ABORT_RSP, OPC_OUB_SMP_COMP, OPC_OUB_SPC_DEV_HANDLE_ARRIV, OPC_OUB_SPC_DEV_INFO, OPC_OUB_SPC_DEV_REGIST, OPC_OUB_SPC_HW_EVENT, OPC_OUB_SPC_SAS_HW_EVENT_ACK, OPC_OUB_SSP_ABORT_RSP, OPC_OUB_SSP_COMP, OPC_OUB_SSP_EVENT, OPC_OUB_SSP_RECV_EVENT, OSSA_IO_SUCCESS, PCI_TRIGGER_COAL_INVALID, PCI_TRIGGER_COAL_IOMB_ERROR, SA_ASSERT, SA_DBG1, SA_DBG2, SA_DBG3, agsaContext_s::sdkData, siIODone(), siPCITriger(), smIS_SPC(), smIS_SPC12V(), smIS_SPC6V(), smIS_SPCV(), smTraceFuncEnter, smTraceFuncExit, agsaSSPCoalescedCompletionRsp_s::sspComplCxt, agsaCoalSspComplCxt_s::SSPTag, agsaSATACoalescedCompletionRsp_s::stpComplCxt, agsaLLRoot_s::swConfig, agsaCoalSspComplCxt_s::tag, agsaCoalStpComplCxt_s::tag, and agsaIORequestDesc_s::valid.
Referenced by siProcessOBMsg().
GLOBAL bit32 mpiPCIeDiagExecuteRsp | ( | agsaRoot_t * | agRoot, |
void * | pInIomb | ||
) |
PCIE Diagnostics Response.
This routine handles the response of PCIE Diagnostics Response
agRoot | Handles for this instance of SAS/SATA LLL |
pIomb | Pointer of IOMB Mesage |
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().
GLOBAL bit32 mpiPhyCntrlRsp | ( | agsaRoot_t * | agRoot, |
agsaLocalPhyCntrlRsp_t * | pIomb | ||
) |
SPC MPI Phy Control Command Response.
This function handles the response of PHY Control Command.
agRoot | Handles for this instance of SAS/SATA hardware |
pIomb | pointer of Message |
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().
GLOBAL bit32 mpiPhyStartCmd | ( | agsaRoot_t * | agRoot, |
bit32 | tag, | ||
bit32 | phyId, | ||
agsaPhyConfig_t * | agPhyConfig, | ||
agsaSASIdentify_t * | agSASIdentify, | ||
bit32 | queueNum | ||
) |
SPC MPI Phy Start Command.
This command sends to SPC for the I/O.
agRoot | Handles for this instance of SAS/SATA LLL |
tag | tage for IOMB |
phyId | the phy id of the link will be started |
agPhyConfig | the phy properity |
agSASIdentify | the SAS identify frame will be sent by the phy |
Definition at line 755 of file sampicmd.c.
References AGSA_RC_SUCCESS, hpDBG_VERY_LOUD, index, IOMB_SIZE64, MPI_CATEGORY_SAS_SATA, mpiBuildCmd(), OPC_INB_PHYSTART, OSSA_OFFSET_OF, agsaPhyConfig_s::phyProperties, SA_ASSERT, SA_DBG1, SA_DBG2, SA_DBG3, agsaSASIdentify_s::sasAddressHi, agsaSASIdentify_s::sasAddressLo, agsaPhyStartCmd_s::sasIdentify, SHIFT16, SHIFT8, si_memcpy(), si_memset(), SM_PHYID_MASK, smIS_SPC(), smIS_spc8081, smTraceFuncEnter, and smTraceFuncExit.
Referenced by saPhyStart().
GLOBAL bit32 mpiPhyStartEvent | ( | agsaRoot_t * | agRoot, |
agsaHWEvent_Phy_OUB_t * | pIomb | ||
) |
Phy Event Response from SPCv.
Process Phy Event from SPC
agRoot | Handles for this instance of SAS/SATA LL Layer |
pIomb | pointer of IOMB |
Definition at line 898 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, agsaPhy_s::linkstatus, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, OSSA_HW_EVENT_PHY_START_STATUS, OSSA_MPI_ERR_INVALID_ANALOG_TBL_IDX, OSSA_MPI_ERR_INVALID_PHY_ID, OSSA_MPI_ERR_PHY_ALREADY_STARTED, OSSA_MPI_IO_SUCCESS, OSSA_OFFSET_OF, ossaHwCB(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaLLRoot_s::phys, agsaHWEvent_Phy_OUB_s::ReservedPhyId, SA_ASSERT, SA_DBG1, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, agsaContext_s::sdkData, SHIFT8, smTraceFuncEnter, smTraceFuncExit, Status, agsaHWEvent_Phy_OUB_s::Status, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by mpiParseOBIomb().
SPC MPI Phy Stop Command.
This command sends to SPC for the I/O.
agRoot | Handles for this instance of SAS/SATA LLL |
tag | tag of IOMB |
phyId | To stop the phyId |
Definition at line 854 of file sampicmd.c.
References AGSA_RC_SUCCESS, hpDBG_VERY_LOUD, IOMB_SIZE64, MPI_CATEGORY_SAS_SATA, mpiBuildCmd(), OPC_INB_PHYSTOP, OSSA_OFFSET_OF, SA_DBG3, si_memset(), SM_PHYID_MASK, smTraceFuncEnter, and smTraceFuncExit.
Referenced by saPhyStop().
GLOBAL bit32 mpiPhyStopEvent | ( | agsaRoot_t * | agRoot, |
agsaHWEvent_Phy_OUB_t * | pIomb | ||
) |
Definition at line 998 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, agsaPhy_s::linkstatus, LL_IOREQ_LOCKEQ_LOCK, LL_PORT_LOCK, MARK_OFF, OSSA_HW_EVENT_PHY_STOP_STATUS, OSSA_MPI_ERR_DEVICES_ATTACHED, OSSA_MPI_ERR_INVALID_PHY_ID, OSSA_MPI_ERR_PHY_NOT_STARTED, OSSA_MPI_IO_SUCCESS, OSSA_OFFSET_OF, ossaHwCB(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), PHY_STATUS_SET, PHY_STOPPED, agsaPort_s::phyMap, agsaLLRoot_s::phys, PORT_INVALIDATING, PORT_MARK_OFF, agsaPort_s::portContext, agsaPortMap_s::PortContext, agsaPort_s::portId, agsaPortMap_s::PortID, agsaLLRoot_s::PortMap, agsaPortMap_s::PortStatus, agsaPhy_s::pPort, SA_ASSERT, SA_DBG1, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, agsaContext_s::sdkData, SHIFT8, siPortInvalid(), smIS_SPCV(), smTraceFuncExit, Status, agsaPort_s::status, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by mpiParseOBIomb().
GLOBAL bit32 mpiPortControlRsp | ( | agsaRoot_t * | agRoot, |
agsaPortControlRsp_t * | pIomb | ||
) |
Port Control Response.
This routine handles the response of SAS HW Event Ack Command
agRoot | Handles for this instance of SAS/SATA LLL |
pIomb | Pointer of IOMB Mesage |
Definition at line 5751 of file sampirsp.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_MAX_VALID_PORTS, AGSA_PORT_CLEAN_UP, AGSA_PORT_HARD_RESET, AGSA_PORT_IO_ABORT, AGSA_PORT_SET_PORT_RECOVERY_TIME, AGSA_PORT_SET_PORT_RESET_TIME, AGSA_PORT_SET_SMP_PHY_WIDTH, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, AGSA_STOP_PORT_RECOVERY_TIMER, 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, MARK_OFF, OSSA_OFFSET_OF, ossaPortControlCB(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaPortMap_s::PortContext, agsaPortMap_s::PortID, PORTID_MASK, agsaLLRoot_s::PortMap, agsaPortMap_s::PortStatus, SA_ASSERT, SA_DBG1, SA_DBG2, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, agsaContext_s::sdkData, SHIFT28, SHIFT8, smTraceFuncEnter, smTraceFuncExit, status, agsaPortControlRsp_s::tag, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by mpiParseOBIomb().
GLOBAL void mpiReadCALTable | ( | agsaRoot_t * | agRoot, |
spc_SPASTable_t * | mpiCALTable, | ||
bit32 | index | ||
) |
Reading the Phy Analog Setup Register Table.
agsaRoot | Handles for this instance of SAS/SATA LLL |
mpiCALTable | Pointer of Phy Calibration Table |
Return: None
Definition at line 4065 of file sainit.c.
References ANALOG_SETUP_ENTRY_SIZE, GEN_MSGU_SCRATCH_PAD_0, index, MAIN_ANALOG_SETUP_OFFSET, mpiGetPCIBarIndex(), MSGU_SCRATCH_PAD_0, ossaHwRegReadExt(), RV_CFG1_OFFSET, RV_CFG2_OFFSET, RV_PORT_CFG1_OFFSET, RV_PORT_CFG2_OFFSET, SA_DBG3, SCRATCH_PAD0_BAR_MASK, SCRATCH_PAD0_OFFSET_MASK, SHIFT26, siHalRegReadExt(), smIS_SPCV(), spc_SPASTable_s::spaReg0, spc_SPASTable_s::spaReg1, spc_SPASTable_s::spaReg2, spc_SPASTable_s::spaReg3, spc_SPASTable_s::spaReg4, spc_SPASTable_s::spaReg5, spc_SPASTable_s::spaReg6, spc_SPASTable_s::spaReg7, TX_CFG_OFFSET, TX_PORT_CFG1_OFFSET, TX_PORT_CFG2_OFFSET, and TX_PORT_CFG3_OFFSET.
GLOBAL void mpiReadGSTable | ( | agsaRoot_t * | agRoot, |
spc_GSTableDescriptor_t * | mpiGSTable | ||
) |
Definition at line 3700 of file sainit.c.
References GEN_MSGU_SCRATCH_PAD_0, spc_GSTableDescriptor_s::GPIOpins, GST_GPIO_PINS_OFFSET, GST_GSTLEN_MPIS_OFFSET, GST_IOP1TCNT_OFFSET, GST_IOPTCNT_OFFSET, GST_IQ_FREEZE_STATE0_OFFSET, GST_IQ_FREEZE_STATE1_OFFSET, GST_MSGUTCNT_OFFSET, GST_PHYSTATE_OFFSET, GST_RERRINFO_OFFSET, spc_GSTableDescriptor_s::GSTLenMPIS, hpDBG_VERY_LOUD, spc_GSTableDescriptor_s::Iop1Tcnt, spc_GSTableDescriptor_s::IopTcnt, spc_GSTableDescriptor_s::IQFreezeState0, spc_GSTableDescriptor_s::IQFreezeState1, MAIN_GST_OFFSET, MAIN_PHY_ATTRIBUTE_OFFSET, mpiGetPCIBarIndex(), MSGU_SCRATCH_PAD_0, spc_GSTableDescriptor_s::MsguTcnt, ossaHwRegReadExt(), spc_GSTableDescriptor_s::PhyState, spc_GSTableDescriptor_s::recoverErrInfo, SA_ASSERT, SA_DBG1, SA_DBG4, SCRATCH_PAD0_BAR_MASK, SCRATCH_PAD0_OFFSET_MASK, SHIFT26, SHIFT3, siHalRegReadExt(), smIS_SPCV(), smTraceFuncEnter, and smTraceFuncExit.
Referenced by saGetControllerStatus().
GLOBAL bit32 mpiSASDiagExecuteRsp | ( | agsaRoot_t * | agRoot, |
agsaSASDiagExecuteRsp_t * | pIomb | ||
) |
SAS Diagnostic Execute Response.
This routine handles the response of SAS Diagnostic Execute Command
agRoot | Handles for this instance of SAS/SATA LLL |
pIomb | Pointer of IOMB Mesage |
Definition at line 4831 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_DIAG_INVALID_COMMAND, OSSA_DIAG_INVALID_PHY, OSSA_DIAG_NOT_IN_DIAGNOSTIC_MODE, OSSA_DIAG_SUCCESS, OSSA_MEMORY_ALLOC_FAILURE, OSSA_OFFSET_OF, OSSA_REGISTER_ACCESS_TIMEOUT, ossaSASDiagExecuteCB(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), SA_ASSERT, SA_DBG1, SA_DBG3, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, agsaContext_s::sdkData, smIS_SPCV(), smTraceFuncEnter, smTraceFuncExit, Status, agsaSASDiagExecuteRsp_s::tag, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by mpiParseOBIomb().
GLOBAL bit32 mpiSASDiagStartEndRsp | ( | agsaRoot_t * | agRoot, |
agsaSASDiagStartEndRsp_t * | pIomb | ||
) |
SAS Diagnostic Start/End Response.
This routine handles the response of SAS Diagnostic Start/End Command
agRoot | Handles for this instance of SAS/SATA LLL |
pIomb | Pointer of IOMB Mesage |
Definition at line 4735 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_DIAG_OTHER_FAILURE, OSSA_DIAG_PHY_NOT_DISABLED, OSSA_DIAG_SE_INVALID_PHY_ID, OSSA_DIAG_SE_SUCCESS, OSSA_OFFSET_OF, ossaSASDiagStartEndCB(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), SA_ASSERT, SA_DBG1, SA_DBG3, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, agsaContext_s::sdkData, smIS_SPCV(), smTraceFuncEnter, smTraceFuncExit, Status, agsaSASDiagStartEndRsp_s::tag, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by mpiParseOBIomb().
GLOBAL bit32 mpiSASHwEventAckRsp | ( | agsaRoot_t * | agRoot, |
agsaSASHwEventAckRsp_t * | pIomb | ||
) |
SAS HW Event Ack Response.
This routine handles the response of SAS HW Event Ack Command
agRoot | Handles for this instance of SAS/SATA LLL |
pIomb | Pointer of IOMB Mesage |
Definition at line 5657 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, agsaIORequestDesc_s::HwAckType, agsaLLRoot_s::IOMap, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, OSSA_OFFSET_OF, ossaHwEventAckCB(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), PORT_INVALIDATING, PORT_MARK_OFF, agsaPortMap_s::PortContext, agsaPort_s::portId, agsaPortMap_s::PortID, agsaLLRoot_s::PortMap, agsaPortMap_s::PortStatus, agsaIORequestDesc_s::pPort, SA_ASSERT, SA_DBG1, SA_DBG2, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, agsaContext_s::sdkData, siPortInvalid(), smTraceFuncEnter, smTraceFuncExit, status, agsaPort_s::status, agsaSASHwEventAckRsp_s::tag, agsaIOMap_s::Tag, agsaPort_s::tobedeleted, and agsaIORequestDesc_s::valid.
Referenced by mpiParseOBIomb().
GLOBAL bit32 mpiSasReinitializeCmd | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
agsaSASReconfig_t * | agSASConfig, | ||
bit32 | queueNum | ||
) |
SAS ReInitialize command.
This command is Reinitialize SAS paremeters to SPC.
agRoot | Handles for this instance of SAS/SATA LLL |
agContext | Context for the Get Nexus State command |
agSASConfig | SAS Configuration Parameters |
queueNum | Queue Number of inbound/outbound queue |
Definition at line 2003 of file sampicmd.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_BUSY, AGSA_RC_SUCCESS, agTRUE, agsaSASReconfig_s::flags, agsaLLRoot_s::freeIORequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaLLRoot_s::IOMap, IOMB_SIZE64, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, agsaSASReconfig_s::maxPorts, MPI_CATEGORY_SAS_SATA, mpiBuildCmd(), OPC_INB_SAS_RE_INITIALIZE, agsaSASReconfig_s::openRejectRetriesCmd, agsaSASReconfig_s::openRejectRetriesData, OSSA_OFFSET_OF, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), SA_ASSERT, SA_DBG1, SA_DBG3, saLlistIOAdd, saLlistIOGetHead, saLlistIORemove, agsaSASReconfig_s::sataHolTmo, agsaContext_s::sdkData, SHIFT16, si_memset(), smTraceFuncEnter, smTraceFuncExit, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by saReconfigSASParams().
GLOBAL bit32 mpiSasReInitializeRsp | ( | agsaRoot_t * | agRoot, |
agsaSasReInitializeRsp_t * | pIomb | ||
) |
SAS ReInitialize Response.
This routine handles the response of SAS Reinitialize Response
agRoot | Handles for this instance of SAS/SATA LLL |
pIomb | Pointer of IOMB Mesage |
Definition at line 6321 of file sampirsp.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, agsaSASReconfig_s::flags, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, hpDBG_VERY_LOUD, agsaLLRoot_s::IOMap, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, agsaSASReconfig_s::maxPorts, agsaSASReconfig_s::openRejectRetriesCmd, agsaSASReconfig_s::openRejectRetriesData, OSSA_OFFSET_OF, ossaReconfigSASParamsCB(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), SA_ASSERT, SA_DBG1, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, agsaSASReconfig_s::sataHolTmo, agsaContext_s::sdkData, SHIFT16, smTraceFuncEnter, smTraceFuncExit, status, agsaSasReInitializeRsp_s::status, agsaSasReInitializeRsp_s::tag, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by mpiParseOBIomb().
GLOBAL bit32 mpiSATAAbortRsp | ( | agsaRoot_t * | agRoot, |
agsaSATAAbortRsp_t * | pIomb | ||
) |
SPC MPI SATA ABORT Response.
This function handles the SATA Event.
agRoot | Handles for this instance of SAS/SATA LLL |
pIomb | pointer of Message |
Definition at line 4533 of file sampirsp.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, agTRUE, agsaIORequestDesc_s::completionCB, agsaLLRoot_s::freeIORequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaLLRoot_s::IOMap, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, OSSA_OFFSET_OF, ossaSATAAbortCB(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaIORequestDesc_s::pDevice, agsaDeviceDesc_s::pendingIORequests, agsaIORequestDesc_s::pIORequestContext, SA_ASSERT, SA_DBG1, SA_DBG3, saLlistIOAdd, saLlistIORemove, agsaContext_s::sdkData, smTraceFuncEnter, smTraceFuncExit, status, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by mpiParseOBIomb().
GLOBAL FORCEINLINE bit32 mpiSATACompletion | ( | agsaRoot_t * | agRoot, |
bit32 * | pIomb1 | ||
) |
SPC MPI SATA Completion.
This function handles the SATA completion.
agRoot | Handles for this instance of SAS/SATA LLL |
pIomb1 | Pointer of Message1 |
bc | buffer count |
Definition at line 2963 of file saint.c.
References agNULL, agsaIOErrorEventStats_s::agOSSA_IO_ABORT_DELAYED, agsaIOErrorEventStats_s::agOSSA_IO_ABORT_IN_PROGRESS, agsaIOErrorEventStats_s::agOSSA_IO_ABORTED, agsaIOErrorEventStats_s::agOSSA_IO_COMPLETED_ERROR_SCSI_STATUS, agsaIOErrorEventStats_s::agOSSA_IO_DS_IN_ERROR, agsaIOErrorEventStats_s::agOSSA_IO_DS_IN_RECOVERY, agsaIOErrorEventStats_s::agOSSA_IO_DS_INVALID, agsaIOErrorEventStats_s::agOSSA_IO_DS_NON_OPERATIONAL, 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_HW_RESOURCE_BUSY_ALT, 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_OPEN_PREEMPTED, 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_PORT_IN_RESET, agsaIOErrorEventStats_s::agOSSA_IO_UNDERFLOW, agsaIOErrorEventStats_s::agOSSA_IO_UNKNOWN_ERROR, agsaIOErrorEventStats_s::agOSSA_IO_XFER_ERR_EOB_DATA_OVERRUN, agsaIOErrorEventStats_s::agOSSA_IO_XFER_ERR_LAST_PIO_DATAIN_CRC_ERR, agsaIOErrorEventStats_s::agOSSA_IO_XFER_ERROR_BREAK, agsaIOErrorEventStats_s::agOSSA_IO_XFER_ERROR_DMA, agsaIOErrorEventStats_s::agOSSA_IO_XFER_ERROR_NAK_RECEIVED, agsaIOErrorEventStats_s::agOSSA_IO_XFER_ERROR_PHY_NOT_READY, agsaIOErrorEventStats_s::agOSSA_IO_XFER_ERROR_REJECTED_NCQ_MODE, agsaIOErrorEventStats_s::agOSSA_IO_XFER_ERROR_SATA_LINK_TIMEOUT, agsaIOErrorEventStats_s::agOSSA_IO_XFER_OPEN_RETRY_TIMEOUT, agsaIOErrorEventStats_s::agOSSA_IO_XFR_ERROR_DEK_INDEX_OUT_OF_BOUNDS, agsaIOErrorEventStats_s::agOSSA_IO_XFR_ERROR_DEK_IV_MISMATCH, 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_DEK_RAM_INTERFACE_ERROR, agsaIOErrorEventStats_s::agOSSA_MPI_ERR_ATAPI_DEVICE_BUSY, agsaIOErrorEventStats_s::agOSSA_MPI_ERR_IO_RESOURCE_UNAVAILABLE, agsaIOErrorEventStats_s::agOSSA_MPI_IO_RQE_BUSY_FULL, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, agsaDeviceDesc_s::DeviceMapIndex, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, 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_ERROR, OSSA_IO_DS_IN_RECOVERY, OSSA_IO_DS_INVALID, OSSA_IO_DS_NON_OPERATIONAL, 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_HW_RESOURCE_BUSY_ALT, 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_STP_RESOURCES_BUSY, OSSA_IO_OPEN_CNX_ERROR_WRONG_DESTINATION, OSSA_IO_OPEN_CNX_ERROR_ZONE_VIOLATION, OSSA_IO_PORT_IN_RESET, OSSA_IO_SUCCESS, OSSA_IO_UNDERFLOW, OSSA_IO_XFER_ERR_EOB_DATA_OVERRUN, OSSA_IO_XFER_ERR_LAST_PIO_DATAIN_CRC_ERR, OSSA_IO_XFER_ERROR_BREAK, OSSA_IO_XFER_ERROR_DMA, OSSA_IO_XFER_ERROR_NAK_RECEIVED, OSSA_IO_XFER_ERROR_PHY_NOT_READY, OSSA_IO_XFER_ERROR_REJECTED_NCQ_MODE, OSSA_IO_XFER_ERROR_SATA_LINK_TIMEOUT, OSSA_IO_XFER_OPEN_RETRY_TIMEOUT, OSSA_IO_XFR_ERROR_CIPHER_MODE_INVALID, OSSA_IO_XFR_ERROR_DEK_ILLEGAL_TABLE, OSSA_IO_XFR_ERROR_DEK_INDEX_OUT_OF_BOUNDS, OSSA_IO_XFR_ERROR_DEK_IV_MISMATCH, OSSA_IO_XFR_ERROR_DEK_KEY_CACHE_MISS, OSSA_IO_XFR_ERROR_DEK_KEY_TAG_MISMATCH, OSSA_IO_XFR_ERROR_DEK_RAM_INTERFACE_ERROR, OSSA_MPI_ERR_ATAPI_DEVICE_BUSY, OSSA_MPI_ERR_IO_RESOURCE_UNAVAILABLE, OSSA_MPI_IO_RQE_BUSY_FULL, OSSA_OFFSET_OF, agsaIORequestDesc_s::pDevice, SA_ASSERT, SA_DBG1, SA_DBG2, SA_DBG3, agsaContext_s::sdkData, siAbnormal(), siEventSATAResponseWtDataRcvd(), siIODone(), smTraceFuncEnter, smTraceFuncExit, status, and agsaIORequestDesc_s::valid.
Referenced by mpiParseOBIomb().
GLOBAL bit32 mpiSATAEvent | ( | agsaRoot_t * | agRoot, |
agsaSATAEventRsp_t * | pIomb | ||
) |
SPC MPI SATA Event.
This function handles the SATA Event.
agRoot | Handles for this instance of SAS/SATA LLL |
pIomb | pointer of Message |
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().
GLOBAL bit32 mpiSetControllerConfigCmd | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
agsaSetControllerConfigCmd_t * | agControllerConfig, | ||
bit32 | queueNum, | ||
bit8 | modePageContext | ||
) |
SAS Set Controller Configuration Command.
This command updates the contents of a controller mode page.
agRoot | Handles for this instance of SAS/SATA LLL |
agContext | Context for the Get Nexus State command |
agControllerConfig | Mode page being sent to the controller |
queueNum | Queue Number of inbound/outbound queue |
Definition at line 2099 of file sampicmd.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_BUSY, AGSA_RC_SUCCESS, agTRUE, agsaSetControllerConfigCmd_s::configPage, agsaLLRoot_s::freeIORequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaLLRoot_s::IOMap, IOMB_SIZE64, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, agsaIORequestDesc_s::modePageContext, MPI_CATEGORY_SAS_SATA, mpiBuildCmd(), OPC_INB_SET_CONTROLLER_CONFIG, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaSetControllerConfigCmd_s::pageCode, SA_ASSERT, SA_DBG1, SA_DBG2, SA_DBG3, saLlistIOAdd, saLlistIOGetHead, saLlistIORemove, agsaContext_s::sdkData, smTraceFuncEnter, smTraceFuncExit, agsaSetControllerConfigCmd_s::tag, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by saEncryptSetMode(), and saSetControllerConfig().
GLOBAL bit32 mpiSetControllerConfigRsp | ( | agsaRoot_t * | agRoot, |
agsaSetControllerConfigRsp_t * | pIomb | ||
) |
SAS Set Controller Config Response.
This routine handles the response of Set Controller Config Command
agRoot | Handles for this instance of SAS/SATA LLL |
pIomb | Pointer of IOMB Mesage |
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().
GLOBAL bit32 mpiSetDeviceInfoCmd | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | deviceid, | ||
bit32 | option, | ||
bit32 | queueNum, | ||
bit32 | param, | ||
ossaSetDeviceInfoCB_t | agCB | ||
) |
Set Device Information Command.
This command is Set Device Information to SPC.
agRoot | Handles for this instance of SAS/SATA LLL |
agDevHandle | Handle of device |
deviceid | Device Id |
opton | oprion |
Definition at line 642 of file sampicmd.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_BUSY, AGSA_RC_SUCCESS, agTRUE, agsaIORequestDesc_s::completionCB, agsaLLRoot_s::freeIORequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaLLRoot_s::IOMap, IOMB_SIZE64, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, MPI_CATEGORY_SAS_SATA, mpiBuildCmd(), OPC_INB_SET_DEV_INFO, OSSA_OFFSET_OF, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), SA_ASSERT, SA_DBG1, SA_DBG2, SA_DBG3, saLlistIOAdd, saLlistIOGetHead, saLlistIORemove, agsaContext_s::sdkData, SET_DEV_INFO_SPC_DW3_MASK, SET_DEV_INFO_SPC_DW4_MASK, SET_DEV_INFO_V_DW3_MASK, SET_DEV_INFO_V_DW4_MASK, si_memset(), smIS_SPC(), smTraceFuncEnter, smTraceFuncExit, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by saSetDeviceInfo().
GLOBAL bit32 mpiSetDeviceStateCmd | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | deviceId, | ||
bit32 | nds, | ||
bit32 | queueNum | ||
) |
Set Device State command.
This command is set Device State to SPC.
agRoot | Handles for this instance of SAS/SATA LLL |
agContext | Context for the Set Nexus State command |
deviceId | DeviceId |
queueNum | Queue Number of inbound/outbound queue |
Definition at line 1800 of file sampicmd.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_BUSY, AGSA_RC_SUCCESS, agTRUE, agsaLLRoot_s::freeIORequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaLLRoot_s::IOMap, IOMB_SIZE64, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, MPI_CATEGORY_SAS_SATA, mpiBuildCmd(), OPC_INB_SET_DEVICE_STATE, OSSA_OFFSET_OF, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), SA_DBG1, SA_DBG3, saLlistIOAdd, saLlistIOGetHead, saLlistIORemove, agsaContext_s::sdkData, si_memset(), smTraceFuncEnter, smTraceFuncExit, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by saSetDeviceState().
GLOBAL bit32 mpiSetDeviceStateRsp | ( | agsaRoot_t * | agRoot, |
agsaSetDeviceStateRsp_t * | pIomb | ||
) |
Set Device State Response.
This routine handles the response of SET Device State Response
agRoot | Handles for this instance of SAS/SATA LLL |
pIomb | Pointer of IOMB Mesage |
Definition at line 6084 of file sampirsp.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, DEVICE_ID_BITS, agsaDeviceMap_s::DeviceHandle, agsaSetDeviceStateRsp_s::deviceId, agsaLLRoot_s::DeviceMap, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, hpDBG_VERY_LOUD, agsaDeviceDesc_s::initiatorDevHandle, agsaLLRoot_s::IOMap, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, NDS_BITS, OSSA_IO_NO_DEVICE, OSSA_OFFSET_OF, ossaSetDeviceStateCB(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), PDS_BITS, SA_ASSERT, SA_DBG1, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, agsaContext_s::sdkData, SHIFT4, smTraceFuncEnter, smTraceFuncExit, status, agsaSetDeviceStateRsp_s::tag, agsaIOMap_s::Tag, agsaDeviceDesc_s::targetDevHandle, and agsaIORequestDesc_s::valid.
Referenced by mpiParseOBIomb().
GLOBAL bit32 mpiSetDevInfoRsp | ( | agsaRoot_t * | agRoot, |
agsaSetDeviceInfoRsp_t * | pIomb | ||
) |
Set Device Information Response.
This routine handles the response of Set Device Info Command Response
agRoot | Handles for this instance of SAS/SATA LLL |
pIomb | Pointer of IOMB Message |
Definition at line 3539 of file sampirsp.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, agsaIORequestDesc_s::completionCB, DEVICE_ID_BITS, agsaDeviceMap_s::DeviceHandle, agsaLLRoot_s::DeviceMap, agsaLLRoot_s::freeIORequests, hpDBG_VERY_LOUD, agsaDeviceDesc_s::initiatorDevHandle, agsaLLRoot_s::IOMap, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, agsaDeviceDesc_s::option, OSSA_IO_NO_DEVICE, OSSA_OFFSET_OF, OSSA_SUCCESS, ossaSetDeviceInfoCB(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaDeviceDesc_s::param, SA_ASSERT, SA_DBG1, SA_DBG2, SA_DBG3, saLlistIOAdd, agsaContext_s::sdkData, smIS_SPCV(), smTraceFuncEnter, smTraceFuncExit, status, agsaIOMap_s::Tag, agsaDeviceDesc_s::targetDevHandle, and agsaIORequestDesc_s::valid.
Referenced by mpiParseOBIomb().
GLOBAL bit32 mpiSetNVMDataRsp | ( | agsaRoot_t * | agRoot, |
agsaSetNVMDataRsp_t * | pIomb | ||
) |
Set NVM Data Response.
This routine handles the response of SET NVM Data Response
agRoot | Handles for this instance of SAS/SATA LLL |
pIomb | Pointer of IOMB Mesage |
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().
GLOBAL bit32 mpiSetNVMDCmd | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
agsaNVMDData_t * | NVMDInfo, | ||
bit32 | queueNum | ||
) |
Set NVM Data Command.
This command is set NVM Data to SPC.
agRoot | Handles for this instance of SAS/SATA LLL |
agContext | Context for the set VPD command |
NVMDInfo | pointer of VPD information |
queueNum | queue Number |
Definition at line 1639 of file sampicmd.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_NVMD_CONFIG_SEEPROM, AGSA_NVMD_TWI_DEVICES, AGSA_NVMD_VPD_FLASH, AGSA_RC_BUSY, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, agTRUE, agsaSetNVMDataCmd_s::Data, agsaNVMDData_s::dataOffsetAddress, agsaNVMDData_s::directData, agsaNVMDData_s::directLen, agsaLLRoot_s::freeIORequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaNVMDData_s::indirectAddrLower32, agsaNVMDData_s::indirectAddrUpper32, agsaNVMDData_s::indirectLen, agsaNVMDData_s::indirectPayload, agsaLLRoot_s::IOMap, IOMB_SIZE64, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, MPI_CATEGORY_SAS_SATA, mpiBuildCmd(), agsaSetNVMData_s::NVMData, agsaNVMDData_s::NVMDevice, OPC_INB_SET_NVMD_DATA, OSSA_NVMD_MODE_ERROR, OSSA_OFFSET_OF, ossaSetNVMDResponseCB(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), SA_ASSERT, SA_DBG1, SA_DBG3, saLlistIOAdd, saLlistIOGetHead, saLlistIORemove, agsaContext_s::sdkData, SHIFT12, SHIFT16, SHIFT24, SHIFT31, SHIFT4, SHIFT8, si_memcpy(), si_memset(), agsaNVMDData_s::signature, smTraceFuncEnter, smTraceFuncExit, agsaIOMap_s::Tag, agsaNVMDData_s::TWIBusNumber, agsaNVMDData_s::TWIDeviceAddress, agsaNVMDData_s::TWIDeviceAddressSize, agsaNVMDData_s::TWIDevicePageSize, and agsaIORequestDesc_s::valid.
Referenced by saSetNVMDCommand().
GLOBAL bit32 mpiSetOperatorCmd | ( | agsaRoot_t * | agRoot, |
bit32 | queueNum, | ||
agsaContext_t * | agContext, | ||
agsaSetOperatorCmd_t * | operatorcode | ||
) |
This command sends set operator command.
agRoot | Handles for this instance of SAS/SATA LLL |
agContext | Context |
queueNum | Queue Number of inbound/outbound queue |
Definition at line 2637 of file sampicmd.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_BUSY, AGSA_RC_SUCCESS, agTRUE, agsaLLRoot_s::freeIORequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaLLRoot_s::IOMap, IOMB_SIZE64, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, MPI_CATEGORY_SAS_SATA, mpiBuildCmd(), OPC_INB_SET_OPERATOR, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), SA_ASSERT, SA_DBG1, saLlistIOAdd, saLlistIOGetHead, saLlistIORemove, agsaContext_s::sdkData, smTraceFuncEnter, smTraceFuncExit, agsaSetOperatorCmd_s::tag, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by saSetOperator().
GLOBAL bit32 mpiSetOperatorRsp | ( | agsaRoot_t * | agRoot, |
agsaSetOperatorRsp_t * | pIomb | ||
) |
Set Operator Response.
This routine handles the response of the Operator management message
agRoot | Handles for this instance of SAS/SATA LLL |
pIomb | Pointer of IOMB Mesage |
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().
GLOBAL bit32 mpiSetPhyProfileCmd | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | Operation, | ||
bit32 | PhyId, | ||
bit32 | length, | ||
void * | buffer | ||
) |
Definition at line 440 of file sampicmd.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_BUSY, AGSA_RC_SUCCESS, agTRUE, agsaIORequestDesc_s::completionCB, agsaLLRoot_s::freeIORequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaLLRoot_s::IOMap, IOMB_SIZE128, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, MPI_CATEGORY_SAS_SATA, mpiBuildCmd(), OPC_INB_SET_PHY_PROFILE, OSSA_OFFSET_OF, ossaGetPhyProfileCB(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), SA_ASSERT, SA_DBG1, SA_DBG3, saLlistAdd, saLlistGetHead, saLlistRemove, agsaContext_s::sdkData, SHIFT8, si_memset(), smTraceFuncEnter, smTraceFuncExit, agsaIORequestDesc_s::SOP, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by saSetPhyProfile().
GLOBAL bit32 mpiSetPhyProfileRsp | ( | agsaRoot_t * | agRoot, |
agsaSetPhyProfileRspV_t * | pIomb | ||
) |
Definition at line 2930 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_MISC_PAGE, agsaIORequestDesc_s::completionCB, agsaPhyAnalogSettingsPage_s::Dword0, agsaPhyAnalogSettingsPage_s::Dword1, agsaPhyAnalogSettingsPage_s::Dword2, agsaPhyAnalogSettingsPage_s::Dword3, agsaPhyAnalogSettingsPage_s::Dword4, 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, ossaSetPhyProfileCB(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), SA_ASSERT, SA_DBG1, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, agsaContext_s::sdkData, smTraceFuncEnter, smTraceFuncExit, agsaIORequestDesc_s::SOP, status, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by mpiParseOBIomb().
GLOBAL bit32 mpiSGpioRsp | ( | agsaRoot_t * | agRoot, |
agsaSGpioRsp_t * | pInIomb | ||
) |
serial GPIO Response
This routine handles the response of serial GPIO Response
agRoot | Handles for this instance of SAS/SATA LLL |
pIomb | Pointer of IOMB Mesage |
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().
GLOBAL bit32 mpiSMPAbortRsp | ( | agsaRoot_t * | agRoot, |
agsaSMPAbortRsp_t * | pIomb | ||
) |
SPC MPI SMP ABORT Response.
This function handles the SMP Abort Response.
agRoot | Handles for this instance of SAS/SATA LLL |
pIomb | pointer of Message |
Definition at line 5888 of file sampirsp.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, agTRUE, agsaIORequestDesc_s::completionCB, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaLLRoot_s::IOMap, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, OSSA_OFFSET_OF, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), ossaSMPAbortCB(), 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, smTraceFuncEnter, smTraceFuncExit, status, agsaSMPAbortRsp_s::status, agsaSMPAbortRsp_s::tag, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by mpiParseOBIomb().
GLOBAL bit32 mpiSMPCmd | ( | agsaRoot_t * | agRoot, |
void * | pIomb, | ||
bit16 | opcode, | ||
agsaSMPCmd_t * | payload, | ||
bit8 | inq, | ||
bit8 | outq | ||
) |
SPC MPI SMP Request Command.
This command sends to SPC for the SMP.
agRoot | Handles for this instance of SAS/SATA LLL |
pIomb | pointer of IOMB |
opcode | opcode of IOMB |
payload | pointer of payload |
inq | inbound queue number |
outq | outbound queue number |
Definition at line 901 of file sampicmd.c.
References agNULL, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, BC_MASK, mpiMsgHeader_s::Header, hpDBG_VERY_LOUD, agsaLLRoot_s::inboundQueue, MPI_CATEGORY_SAS_SATA, mpiMsgProduce(), mpiICQueue_s::priority, SA_DBG3, SA_DBG6, agsaContext_s::sdkData, SHIFT24, si_memcpy(), smTraceFuncEnter, and smTraceFuncExit.
Referenced by saSendSMPIoctl(), and saSMPStart().
GLOBAL bit32 mpiSMPCompletion | ( | agsaRoot_t * | agRoot, |
agsaSMPCompletionRsp_t * | pIomb | ||
) |
SPC MPI SMP Completion.
This function handles the SMP completion.
agRoot | Handles for this instance of SAS/SATA hardware |
pIomb | pointer of Message1 |
bc | buffer count |
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().
GLOBAL bit32 mpiSSPAbortRsp | ( | agsaRoot_t * | agRoot, |
agsaSSPAbortRsp_t * | pIomb | ||
) |
SPC MPI SSP ABORT Response.
This function handles the SSP Abort Response.
agRoot | Handles for this instance of SAS/SATA LLL |
pIomb | pointer of Message |
Definition at line 4437 of file sampirsp.c.
References agFALSE, agNULL, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, agTRUE, agsaIORequestDesc_s::completionCB, agsaDeviceDesc_s::DeviceMapIndex, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaLLRoot_s::IOMap, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, OSSA_OFFSET_OF, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), ossaSSPAbortCB(), 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, siCountActiveIORequestsOnDevice(), smTraceFuncEnter, smTraceFuncExit, status, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by mpiParseOBIomb().
GLOBAL FORCEINLINE bit32 mpiSSPCompletion | ( | agsaRoot_t * | agRoot, |
bit32 * | pIomb1 | ||
) |
SPC MPI SSP Completion.
This function handles the SSP completion.
agRoot | Handles for this instance of SAS/SATA LLL |
pIomb1 | Pointer of Message1 |
bc | buffer count |
Definition at line 3383 of file saint.c.
References agNULL, agsaIOErrorEventStats_s::agOSSA_IO_ABORT_DELAYED, agsaIOErrorEventStats_s::agOSSA_IO_ABORT_IN_PROGRESS, agsaIOErrorEventStats_s::agOSSA_IO_ABORTED, agsaIOErrorEventStats_s::agOSSA_IO_COMPLETED_ERROR_SCSI_STATUS, agsaIOErrorEventStats_s::agOSSA_IO_DS_IN_ERROR, agsaIOErrorEventStats_s::agOSSA_IO_DS_IN_RECOVERY, agsaIOErrorEventStats_s::agOSSA_IO_DS_INVALID, agsaIOErrorEventStats_s::agOSSA_IO_DS_NON_OPERATIONAL, 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_HW_RESOURCE_BUSY_ALT, 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_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_PORT_IN_RESET, agsaIOErrorEventStats_s::agOSSA_IO_SSP_EXT_IU_ZERO_LEN_ERROR, agsaIOErrorEventStats_s::agOSSA_IO_TM_TAG_NOT_FOUND, agsaIOErrorEventStats_s::agOSSA_IO_UNKNOWN_ERROR, 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_DIF_INTERNAL_ERROR, agsaIOErrorEventStats_s::agOSSA_IO_XFER_ERROR_DMA, 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_OPEN_RETRY_TIMEOUT, agsaIOErrorEventStats_s::agOSSA_IO_XFER_PIO_SETUP_ERROR, agsaIOErrorEventStats_s::agOSSA_IO_XFR_ERROR_CIPHER_MODE_INVALID, agsaIOErrorEventStats_s::agOSSA_IO_XFR_ERROR_DEK_ILLEGAL_TABLE, agsaIOErrorEventStats_s::agOSSA_IO_XFR_ERROR_DEK_INDEX_OUT_OF_BOUNDS, agsaIOErrorEventStats_s::agOSSA_IO_XFR_ERROR_DEK_IV_MISMATCH, 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_DEK_RAM_INTERFACE_ERROR, 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_RAM, agsaIOErrorEventStats_s::agOSSA_IO_XFR_ERROR_INVALID_SSP_RSP_FRAME, agsaIOErrorEventStats_s::agOSSA_MPI_ERR_IO_RESOURCE_UNAVAILABLE, agsaIOErrorEventStats_s::agOSSA_MPI_IO_RQE_BUSY_FULL, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, agsaDeviceDesc_s::DeviceMapIndex, 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_ERROR, OSSA_IO_DS_IN_RECOVERY, OSSA_IO_DS_INVALID, OSSA_IO_DS_NON_OPERATIONAL, OSSA_IO_FAILED, 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_HW_RESOURCE_BUSY_ALT, 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_PORT_IN_RESET, OSSA_IO_SSP_EXT_IU_ZERO_LEN_ERROR, OSSA_IO_SUCCESS, OSSA_IO_TM_TAG_NOT_FOUND, OSSA_IO_UNDERFLOW, OSSA_IO_XFER_ERR_EOB_DATA_OVERRUN, OSSA_IO_XFER_ERROR_ACK_NAK_TIMEOUT, OSSA_IO_XFER_ERROR_BREAK, OSSA_IO_XFER_ERROR_DIF_INTERNAL_ERROR, OSSA_IO_XFER_ERROR_DMA, 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_OPEN_RETRY_TIMEOUT, OSSA_IO_XFER_PIO_SETUP_ERROR, OSSA_IO_XFR_ERROR_CIPHER_MODE_INVALID, OSSA_IO_XFR_ERROR_DEK_ILLEGAL_TABLE, OSSA_IO_XFR_ERROR_DEK_INDEX_OUT_OF_BOUNDS, OSSA_IO_XFR_ERROR_DEK_IV_MISMATCH, OSSA_IO_XFR_ERROR_DEK_KEY_CACHE_MISS, OSSA_IO_XFR_ERROR_DEK_KEY_TAG_MISMATCH, OSSA_IO_XFR_ERROR_DEK_RAM_INTERFACE_ERROR, 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_RAM, OSSA_IO_XFR_ERROR_INVALID_SSP_RSP_FRAME, OSSA_MPI_ERR_IO_RESOURCE_UNAVAILABLE, OSSA_MPI_IO_RQE_BUSY_FULL, OSSA_OFFSET_OF, agsaIORequestDesc_s::pDevice, SA_ASSERT, SA_DBG1, SA_DBG2, SA_DBG3, agsaContext_s::sdkData, siAbnormal(), siDifAbnormal(), siEventSSPResponseWtDataRcvd(), siIODone(), smTraceFuncEnter, smTraceFuncExit, agsaSSPCompletionRsp_s::SSPrsp, status, agsaSSPResponseInfoUnit_s::status, and agsaIORequestDesc_s::valid.
Referenced by mpiParseOBIomb().
GLOBAL bit32 mpiSSPEvent | ( | agsaRoot_t * | agRoot, |
agsaSSPEventRsp_t * | pIomb | ||
) |
SPC MPI SSP Event.
This function handles the SAS Event.
agRoot | Handles for this instance of SAS/SATA LLL |
pIomb | pointer of Message |
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().
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.
agRoot | Handles for this instance of SAS/SATA LLL |
pMsg1 | pointer of Message |
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().
GLOBAL bit32 mpiUnInitConfigTable | ( | agsaRoot_t * | agRoot | ) |
Definition at line 3434 of file sainit.c.
References AGSA_RC_FAILURE, AGSA_RC_SUCCESS, GEN_MSGU_IBDB_SET, GEN_MSGU_SCRATCH_PAD_0, GST_GSTLEN_MPIS_OFFSET, GST_MPI_STATE_MASK, GST_MPI_STATE_UNINIT, gWait_2, hpDBG_VERY_LOUD, MAIN_GST_OFFSET, MAKE_MODULO, mpiGetPCIBarIndex(), MSGU_IBDB_SET, MSGU_READ_IDR, MSGU_SCRATCH_PAD_0, MSGU_SCRATCH_PAD_1, MSGU_SCRATCH_PAD_2, MSGU_SCRATCH_PAD_3, NULL, ossaHwRegReadExt(), ossaStallThread(), PCIBAR0, SA_ASSERT, SA_DBG1, SCRATCH_PAD0_BAR_MASK, SCRATCH_PAD0_OFFSET_MASK, SHIFT26, siHalRegReadExt(), siHalRegWriteExt(), smIS_SPC(), smTraceFuncEnter, smTraceFuncExit, SPC_MSGU_CFG_TABLE_RESET, WAIT_INCREMENT, and WAIT_SECONDS.
Referenced by saHwShutdown().
GLOBAL void mpiUpdateFatalErrorTable | ( | agsaRoot_t * | agRoot, |
bit32 | FerrTableOffset, | ||
bit32 | lowerBaseAddress, | ||
bit32 | upperBaseAddress, | ||
bit32 | length, | ||
bit8 | pcibar | ||
) |
Definition at line 3627 of file sainit.c.
References hpDBG_VERY_LOUD, MPI_FATAL_EDUMP_TABLE_HANDSHAKE, MPI_FATAL_EDUMP_TABLE_HI_OFFSET, MPI_FATAL_EDUMP_TABLE_LENGTH, MPI_FATAL_EDUMP_TABLE_LO_OFFSET, MPI_FATAL_EDUMP_TABLE_STATUS, ossaHwRegWriteExt(), SA_DBG3, smTraceFuncEnter, and smTraceFuncExit.
GLOBAL void mpiUpdateIBQueueCfgTable | ( | agsaRoot_t * | agRoot, |
spc_inboundQueueDescriptor_t * | inQueueCfg, | ||
bit32 | QueueTableOffset, | ||
bit8 | pcibar | ||
) |
Writing to the inbound queue of the Configuration Table.
agsaRoot | Pointer to a data structure containing both application and LL layer context handles |
outQueueCfg | Pointer to inbuond configuration area |
QueueTableOffset | Queue configuration table offset |
pcibar | PCI BAR |
Return: None
Definition at line 3545 of file sainit.c.
References spc_inboundQueueDescriptor_s::ciLowerBaseAddress, spc_inboundQueueDescriptor_s::ciUpperBaseAddress, spc_inboundQueueDescriptor_s::elementPriSizeCount, hpDBG_VERY_LOUD, IB_BASE_ADDR_HI_OFFSET, IB_BASE_ADDR_LO_OFFSET, IB_CI_BASE_ADDR_HI_OFFSET, IB_CI_BASE_ADDR_LO_OFFSET, IB_PROPERITY_OFFSET, spc_inboundQueueDescriptor_s::lowerBaseAddress, ossaHwRegWriteExt(), SA_DBG3, smTrace, smTraceFuncEnter, smTraceFuncExit, and spc_inboundQueueDescriptor_s::upperBaseAddress.
Referenced by mpiInitialize().
GLOBAL void mpiUpdateOBQueueCfgTable | ( | agsaRoot_t * | agRoot, |
spc_outboundQueueDescriptor_t * | outQueueCfg, | ||
bit32 | QueueTableOffset, | ||
bit8 | pcibar | ||
) |
Writing to the inbound queue of the Configuration Table.
agsaRoot | Pointer to a data structure containing both application and LL layer context handles |
outQueueCfg | Pointer to outbuond configuration area |
QueueTableOffset | Queue configuration table offset |
pcibar | PCI BAR |
Return: None
Definition at line 3587 of file sainit.c.
References spc_outboundQueueDescriptor_s::elementSizeCount, hpDBG_VERY_LOUD, spc_outboundQueueDescriptor_s::interruptVecCntDelay, spc_outboundQueueDescriptor_s::lowerBaseAddress, OB_BASE_ADDR_HI_OFFSET, OB_BASE_ADDR_LO_OFFSET, OB_INTERRUPT_COALES_OFFSET, OB_PI_BASE_ADDR_HI_OFFSET, OB_PI_BASE_ADDR_LO_OFFSET, OB_PROPERITY_OFFSET, ossaHwRegWriteExt(), spc_outboundQueueDescriptor_s::piLowerBaseAddress, spc_outboundQueueDescriptor_s::piUpperBaseAddress, SA_DBG3, smTraceFuncEnter, smTraceFuncExit, and spc_outboundQueueDescriptor_s::upperBaseAddress.
Referenced by mpiInitialize().
GLOBAL bit32 mpiVHistCapCmd | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | queueNum, | ||
bit32 | Channel, | ||
bit32 | NumBitLo, | ||
bit32 | NumBitHi, | ||
bit32 | PcieAddrLo, | ||
bit32 | PcieAddrHi, | ||
bit32 | ByteCount | ||
) |
Definition at line 358 of file sampicmd.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_BUSY, AGSA_RC_SUCCESS, agTRUE, agsaIORequestDesc_s::completionCB, agsaLLRoot_s::freeIORequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaLLRoot_s::IOMap, IOMB_SIZE128, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, MPI_CATEGORY_SAS_SATA, mpiBuildCmd(), OPC_INB_GET_VHIST_CAP, OSSA_OFFSET_OF, ossaGetPhyProfileCB(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), SA_ASSERT, SA_DBG1, SA_DBG3, saLlistAdd, saLlistGetHead, saLlistRemove, agsaContext_s::sdkData, si_memset(), smTraceFuncEnter, smTraceFuncExit, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by saVhistCapture().
GLOBAL bit32 mpiWaitForConfigTable | ( | agsaRoot_t * | agRoot, |
spc_configMainDescriptor_t * | config | ||
) |
Reading and Writing the Configuration Table.
agsaRoot | Pointer to a data structure containing LL layer context handles |
config | Pointer to Configuration Table |
Return: AGSA_RC_SUCCESS if read the configuration table from SPC sucessful AGSA_RC_FAILURE if read the configuration table from SPC failed
Definition at line 2904 of file sainit.c.
References agNULL, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, AGSA_RC_VERSION_INCOMPATIBLE, AGSA_RC_VERSION_UNTESTED, mpiHostLLConfigDescriptor_s::analogSetupTblOffset, spc_configMainDescriptor_s::analogSetupTblOffset, BAR4, BAR5, spc_configMainDescriptor_s::ContrlCapFlag, agsaLLRoot_s::ControllerInfo, agsaControllerInfo_s::controllerSetting, mpiHostLLConfigDescriptor_s::FatalErrorDumpLength0, spc_configMainDescriptor_s::FatalErrorDumpLength0, mpiHostLLConfigDescriptor_s::FatalErrorDumpLength1, spc_configMainDescriptor_s::FatalErrorDumpLength1, mpiHostLLConfigDescriptor_s::FatalErrorDumpOffset0, spc_configMainDescriptor_s::FatalErrorDumpOffset0, mpiHostLLConfigDescriptor_s::FatalErrorDumpOffset1, spc_configMainDescriptor_s::FatalErrorDumpOffset1, agsaControllerInfo_s::fwInterfaceRev, agsaControllerInfo_s::fwRevision, spc_configMainDescriptor_s::FWRevision, GEN_MSGU_SCRATCH_PAD_0, GEN_MSGU_SCRATCH_PAD_1, GEN_MSGU_SCRATCH_PAD_2, GEN_MSGU_SCRATCH_PAD_3, spc_configMainDescriptor_s::GSTOffset, gWait_2, mpiHostLLConfigDescriptor_s::HDAModeFlags, spc_configMainDescriptor_s::HDAModeFlags, hpDBG_VERY_LOUD, agsaControllerInfo_s::hwRevision, agsaControllerInfo_s::ilaRevision, spc_configMainDescriptor_s::ilaRevision, spc_configMainDescriptor_s::inboundQueueOffset, spc_configMainDescriptor_s::InterfaceRev, mpiHostLLConfigDescriptor_s::InterruptVecTblOffset, spc_configMainDescriptor_s::InterruptVecTblOffset, MAIN_ANALOG_SETUP_OFFSET, MAIN_AWT_MIDRANGE, MAIN_CNTRL_CAP_OFFSET, MAIN_FATAL_ERROR_RDUMP0_LENGTH, MAIN_FATAL_ERROR_RDUMP0_OFFSET, MAIN_FATAL_ERROR_RDUMP1_LENGTH, MAIN_FATAL_ERROR_RDUMP1_OFFSET, MAIN_FW_REVISION, MAIN_GST_OFFSET, MAIN_HDA_FLAGS_OFFSET, MAIN_IBQ_OFFSET, MAIN_ILAT_ILAV_ILASMRN_ILAMRN_ILAMJN, MAIN_INACTIVE_ILA_REVSION, MAIN_INT_VEC_TABLE_OFFSET, MAIN_INTERFACE_REVISION, MAIN_MAX_OUTSTANDING_IO_OFFSET, MAIN_MAX_SGL_OFFSET, MAIN_OBQ_OFFSET, MAIN_PHY_ATTRIBUTE_OFFSET, MAIN_SEEPROM_REVSION, agsaLLRoot_s::mainConfigTable, MAKE_MODULO, MATCHING_12G_V_FW_VERSION, MATCHING_SPC_FW_VERSION, MATCHING_V_FW_VERSION, MAX_DEV_BITS, agsaSwConfig_s::maxActiveIOs, agsaControllerInfo_s::maxDevices, spc_configMainDescriptor_s::MaxOutstandingIO, agsaControllerInfo_s::maxPendingIO, agsaControllerInfo_s::maxSgElements, spc_configMainDescriptor_s::MDevMaxSGL, MIN_FW_12G_SPCVE_VERSION_SUPPORTED, MIN_FW_SPC_VERSION_SUPPORTED, MIN_FW_SPCVE_VERSION_SUPPORTED, mpiGetPCIBarIndex(), MSGU_SCRATCH_PAD_0, MSGU_SCRATCH_PAD_1, MSGU_SCRATCH_PAD_2, MSGU_SCRATCH_PAD_3, NULL, ossaHwRegReadConfig32(), ossaHwRegReadExt(), ossaStallThread(), spc_configMainDescriptor_s::outboundQueueOffset, PHY_COUNT_BITS, mpiHostLLConfigDescriptor_s::phyAttributeTblOffset, spc_configMainDescriptor_s::phyAttributeTblOffset, agsaControllerInfo_s::phyCount, spc_configMainDescriptor_s::portRecoveryResetTimer, mpiHostLLConfigDescriptor_s::PortRecoveryTimerPortResetTimer, Q_SUPPORT_BITS, agsaControllerInfo_s::queueSupport, mpiHostLLConfigDescriptor_s::regDumpPCIBAR, SA_ASSERT, SA_DBG1, SA_DBG2, SAS_SPEC_BITS, agsaControllerInfo_s::sasSpecsSupport, SCRATCH_PAD0_BAR_MASK, SCRATCH_PAD0_OFFSET_MASK, SCRATCH_PAD1_ERR, SCRATCH_PAD1_RDY, SCRATCH_PAD1_STATE_MASK, SCRATCH_PAD1_V_BOOTSTATE_HDA_SEEPROM, SCRATCH_PAD1_V_READY, SCRATCH_PAD2_ERR, SCRATCH_PAD2_RDY, SCRATCH_PAD2_STATE_MASK, SCRATCH_PAD_STATE_MASK, agsaContext_s::sdkData, agsaControllerInfo_s::sdkInterfaceRev, agsaControllerInfo_s::sdkRevision, SHIFT16, SHIFT19, SHIFT24, SHIFT25, SHIFT26, SHIFT8, si_memcpy(), Signature, agsaControllerInfo_s::signature, spc_configMainDescriptor_s::Signature, siHalRegReadExt(), smIS_SFC, smIS_SPC(), smIS_SPC12V(), smIS_SPC6V(), smIS_spc8081, smIS_SPCV(), smTraceFuncEnter, smTraceFuncExit, SPC_READ_DEV_REV, STSDK_LL_12G_INTERFACE_VERSION, STSDK_LL_12G_VERSION, STSDK_LL_INTERFACE_VERSION, STSDK_LL_INTERFACE_VERSION_IGNORE_MASK, STSDK_LL_OLD_INTERFACE_VERSION, STSDK_LL_SPC_VERSION, STSDK_LL_VERSION, agsaLLRoot_s::swConfig, WAIT_INCREMENT, and WAIT_SECONDS.
Referenced by mpiInitialize(), and siSpcSoftReset().
GLOBAL void mpiWrAnalogSetupTable | ( | agsaRoot_t * | agRoot, |
mpiConfig_t * | config | ||
) |
Definition at line 4194 of file sainit.c.
References GEN_MSGU_SCRATCH_PAD_0, MAIN_ANALOG_SETUP_OFFSET, mpiGetPCIBarIndex(), MSGU_SCRATCH_PAD_0, ossaHwRegReadExt(), ossaHwRegWriteExt(), mpiConfig_s::phyAnalogConfig, agsaPhyAnalogSetupTable_s::phyAnalogSetupRegisters, SA_DBG1, SA_DBG4, SCRATCH_PAD0_OFFSET_MASK, SHIFT24, siHalRegReadExt(), agsaPhyAnalogSetupRegisters_s::spaRegister0, agsaPhyAnalogSetupRegisters_s::spaRegister1, agsaPhyAnalogSetupRegisters_s::spaRegister2, agsaPhyAnalogSetupRegisters_s::spaRegister3, agsaPhyAnalogSetupRegisters_s::spaRegister4, agsaPhyAnalogSetupRegisters_s::spaRegister5, agsaPhyAnalogSetupRegisters_s::spaRegister6, agsaPhyAnalogSetupRegisters_s::spaRegister7, agsaPhyAnalogSetupRegisters_s::spaRegister8, and agsaPhyAnalogSetupRegisters_s::spaRegister9.
Referenced by mpiInitialize().
GLOBAL void mpiWrIntVecTable | ( | agsaRoot_t * | agRoot, |
mpiConfig_t * | config | ||
) |
Definition at line 4246 of file sainit.c.
References GEN_MSGU_SCRATCH_PAD_0, INT_VT_Coal_CNT_TO, mpiOutboundQueueDescriptor_s::interruptDelay, mpiOutboundQueueDescriptor_s::interruptThreshold, mpiOutboundQueueDescriptor_s::interruptVector, MAIN_INT_VEC_TABLE_OFFSET, MAX_NUM_VECTOR, mpiGetPCIBarIndex(), MSGU_SCRATCH_PAD_0, ossaHwRegReadExt(), ossaHwRegWriteExt(), mpiConfig_s::outboundQueues, SA_DBG1, SA_DBG3, SA_DBG4, SCRATCH_PAD0_BAR_MASK, SCRATCH_PAD0_OFFSET_MASK, SHIFT15, SHIFT26, and siHalRegReadExt().
Referenced by mpiInitialize().
GLOBAL void mpiWriteCALAll | ( | agsaRoot_t * | agRoot, |
agsaPhyAnalogSetupTable_t * | mpiCALTable | ||
) |
Writing the Phy Analog Setup Register Table.
agsaRoot | Handles for this instance of SAS/SATA LLL |
mpiCALTable | Pointer of Phy Calibration Table |
Return: None
Definition at line 4175 of file sainit.c.
References hpDBG_VERY_LOUD, MAX_INDEX, mpiWriteCALTable(), agsaPhyAnalogSetupTable_s::phyAnalogSetupRegisters, smIS_SPCV(), smTraceFuncEnter, and smTraceFuncExit.
Referenced by mpiInitialize().
GLOBAL void mpiWriteCALTable | ( | agsaRoot_t * | agRoot, |
spc_SPASTable_t * | mpiCALTable, | ||
bit32 | index | ||
) |
Definition at line 4121 of file sainit.c.
References ANALOG_SETUP_ENTRY_SIZE, GEN_MSGU_SCRATCH_PAD_0, hpDBG_VERY_LOUD, index, MAIN_ANALOG_SETUP_OFFSET, mpiGetPCIBarIndex(), MSGU_SCRATCH_PAD_0, ossaHwRegReadExt(), ossaHwRegWriteExt(), RV_CFG1_OFFSET, RV_CFG2_OFFSET, RV_PORT_CFG1_OFFSET, RV_PORT_CFG2_OFFSET, SA_DBG4, SCRATCH_PAD0_BAR_MASK, SCRATCH_PAD0_OFFSET_MASK, SHIFT26, siHalRegReadExt(), smIS_SPCV(), smTraceFuncEnter, smTraceFuncExit, spc_SPASTable_s::spaReg0, spc_SPASTable_s::spaReg1, spc_SPASTable_s::spaReg2, spc_SPASTable_s::spaReg3, spc_SPASTable_s::spaReg4, spc_SPASTable_s::spaReg5, spc_SPASTable_s::spaReg6, spc_SPASTable_s::spaReg7, TX_CFG_OFFSET, TX_PORT_CFG1_OFFSET, TX_PORT_CFG2_OFFSET, and TX_PORT_CFG3_OFFSET.
Referenced by mpiWriteCALAll().
GLOBAL void mpiWrPhyAttrbTable | ( | agsaRoot_t * | agRoot, |
sasPhyAttribute_t * | phyAttrib | ||
) |
Definition at line 4310 of file sainit.c.
References GEN_MSGU_SCRATCH_PAD_0, MAIN_PHY_ATTRIBUTE_OFFSET, MAX_VALID_PHYS, mpiGetPCIBarIndex(), MSGU_SCRATCH_PAD_0, ossaHwRegReadExt(), ossaHwRegWriteExt(), PHY_EVENT_OQ, sasPhyAttribute_s::phyAttribute, phyAttrb_s::phyEventOQ, SA_DBG1, SA_DBG3, SCRATCH_PAD0_BAR_MASK, SCRATCH_PAD0_OFFSET_MASK, SHIFT26, and siHalRegReadExt().
GLOBAL bit32 si_check_V_HDA | ( | agsaRoot_t * | agRoot | ) |
Definition at line 4486 of file sainit.c.
References AGSA_RC_HDA_NO_FW_RUNNING, AGSA_RC_SUCCESS, ossaHwRegReadExt(), PCIBAR0, SA_DBG1, SPC_V_HDA_RESPONSE_OFFSET, SPC_V_HDAR_IDLE, and SPC_V_HDAR_RSPCODE_MASK.
Referenced by saGetControllerInfo(), and saGetControllerStatus().
GLOBAL bit32 si_check_V_Ready | ( | agsaRoot_t * | agRoot | ) |
Definition at line 4505 of file sainit.c.
References AGSA_RC_FAILURE, AGSA_RC_SUCCESS, MAKE_MODULO, MSGU_SCRATCH_PAD_1, ossaHwRegReadExt(), ossaStallThread(), PCIBAR0, SA_DBG1, SCRATCH_PAD1_V_ILA_MASK, SCRATCH_PAD1_V_IOP0_MASK, SCRATCH_PAD1_V_IOP1_MASK, SCRATCH_PAD1_V_RAAE_MASK, and WAIT_INCREMENT.
Referenced by saGetControllerStatus().
void si_macro_check | ( | agsaRoot_t * | agRoot | ) |
Definition at line 4633 of file sainit.c.
References SA_DBG1, smIS64bInt, smIS_ADAP8088, smIS_ADAP8089, smIS_HIL(), smIS_SFC, smIS_SPC(), smIS_spc8001, smIS_spc8081, smIS_SPCV(), smIS_SPCV8008, smIS_SPCV8009, smIS_SPCV8018, smIS_SPCV8019, smIS_SPCV8070, smIS_SPCV8071, smIS_SPCV8072, smIS_SPCV8073, smIS_SPCV8074, smIS_SPCV8075, smIS_SPCV8076, smIS_SPCV8077, smIS_SPCV9015, and smIS_SPCV9060.
Referenced by saInitialize().
GLOBAL FORCEINLINE void * si_memcpy | ( | void * | dst, |
void * | src, | ||
bit32 | count | ||
) |
memcopy
char | value |
Definition at line 76 of file sautil.c.
Referenced by mpiBuildCmd(), mpiDIFEncryptionOffloadCmd(), mpiEchoCmd(), mpiGetDevInfoRsp(), mpiHWevent(), mpiInitialize(), mpiPhyStartCmd(), mpiSetNVMDCmd(), mpiSMPCmd(), mpiWaitForConfigTable(), saEncryptSelftestExecute(), saGetRegisterDump(), saInitialize(), saOperatorManagement(), saSATAStart(), saSetOperator(), saSMPStart(), saSSPStart(), siDumpInboundQueue(), siDumpOutboundQueue(), siGSMDump(), siNonFatalErrorBuffer(), and siUpdateBarOffsetTable().
GLOBAL FORCEINLINE void * si_memset | ( | void * | s, |
int | c, | ||
bit32 | n | ||
) |
memset
char | value |
Definition at line 104 of file sautil.c.
Referenced by mpiBistRsp(), mpiDekManagementRsp(), mpiDeregDevHandleCmd(), mpiDevHandleAcceptCmd(), mpiDeviceHandleArrived(), mpiDifEncOffloadRsp(), mpiDIFEncryptionOffloadCmd(), mpiGeneralEventRsp(), mpiGetControllerConfigRsp(), mpiGetDeviceHandleCmd(), mpiGetDeviceInfoCmd(), mpiGetDeviceStateCmd(), mpiGetDevInfoRsp(), mpiGetNVMDCmd(), mpiGetOperatorRsp(), mpiGetPhyProfileCmd(), mpiGPIORsp(), mpiHWevent(), mpiInitialize(), mpiKekManagementRsp(), mpiLocalPhyControlCmd(), mpiNVMReadRegDumpCmd(), mpiOperatorManagementRsp(), mpiPCIeDiagExecuteRsp(), mpiPhyStartCmd(), mpiPhyStopCmd(), mpiSasReinitializeCmd(), mpiSetControllerConfigRsp(), mpiSetDeviceInfoCmd(), mpiSetDeviceStateCmd(), mpiSetNVMDCmd(), mpiSetPhyProfileCmd(), mpiVHistCapCmd(), saEncryptDekCacheInvalidate(), saEncryptDekCacheUpdate(), saEncryptKekInvalidate(), saEncryptKekUpdate(), saEncryptSelftestExecute(), saEncryptSetMode(), saFlashExtExecute(), saGetControllerConfig(), saGetControllerInfo(), saGetControllerStatus(), saGetDFEData(), saGetIOErrorStats(), saGetIOEventStats(), saGetOperator(), saGetPhyProfile(), saGetRequirements(), saGetTimeStamp(), saGpioEventSetup(), saGpioPinSetup(), saGpioRead(), saGpioWrite(), saHwEventAck(), saHwReset(), saInitialize(), saLocalPhyControl(), saOperatorManagement(), saPCIeDiagExecute(), saPortControl(), saRegisterNewDevice(), saSASDiagExecute(), saSASDiagStartEnd(), saSATAStart(), saSendSMPIoctl(), saSetControllerConfig(), saSetOperator(), saSgpio(), saSMPStart(), saSSPStart(), siConfiguration(), siDifAbnormal(), siFatalInterruptHandler(), siInitResources(), siNonFatalErrorBuffer(), and siProcessOBMsg().
GLOBAL void siAbnormal | ( | agsaRoot_t * | agRoot, |
agsaIORequestDesc_t * | pRequest, | ||
bit32 | status, | ||
bit32 | param, | ||
bit32 | sspTag | ||
) |
Routine to handle abnormal completed IO/SMP event.
Handle abnormal completed IO/SMP
agRoot | handles for this instance of SAS/SATA hardware |
pRequest | Pointer of IO request of the IO |
status | status of the IO |
param | Length |
Definition at line 1678 of file saint.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_REQTYPE_MASK, AGSA_SATA_REQTYPE, AGSA_SMP_REQTYPE, AGSA_SSP_REQTYPE, agTRUE, agsaIORequestDesc_s::completionCB, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaLLRoot_s::IOMap, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, agsaContext_s::osData, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaIORequestDesc_s::pDevice, agsaDeviceDesc_s::pendingIORequests, agsaIORequestDesc_s::pIORequestContext, agsaIORequestDesc_s::requestType, SA_ASSERT, SA_DBG1, SA_DBG5, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, saLlistIORemove, agsaContext_s::sdkData, smTrace, smTraceFuncEnter, smTraceFuncExit, SSP_AGR_S_BIT, SSPTAG_BITS, status, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by mpiSATACompletion(), mpiSMPCompletion(), and mpiSSPCompletion().
GLOBAL bit32 siBar4Shift | ( | agsaRoot_t * | agRoot, |
bit32 | shiftValue | ||
) |
Function to do BAR shifting.
The siBarShift() function is called to shift BAR base address
agRoot | handles for this instance of SAS/SATA hardware |
shiftValue | shifting value |
Definition at line 1333 of file sahw.c.
References AGSA_RC_FAILURE, AGSA_RC_SUCCESS, hpDBG_VERY_LOUD, MAKE_MODULO, ossaHwRegReadExt(), ossaHwRegWriteExt(), ossaStallThread(), PCIBAR0, PCIBAR1, SA_DBG1, SA_DBG2, smIS_SPC(), smIS_SPCV(), smTrace, smTraceFuncEnter, smTraceFuncExit, SPC_IBW_AXI_TRANSLATION_LOW, V_MEMBASE_II_ShiftRegister, WAIT_INCREMENT, and WAIT_SECONDS.
Referenced by mpiInitialize(), saInitialize(), saLocalPhyControl(), siGetForensicData(), siGSMDump(), siSpcSoftReset(), and siSpcSoftResetRDYChk().
GLOBAL void siCheckQs | ( | agsaRoot_t * | agRoot | ) |
Definition at line 2952 of file sahw.c.
References mpiOCQueue_s::agRoot, mpiICQueue_s::agRoot, mpiICQueue_s::ciPointer, mpiOCQueue_s::consumerIdx, mpiICQueue_s::consumerIdx, agsaLLRoot_s::inboundQueue, mpiOCQueue_s::numElements, mpiICQueue_s::numElements, agsaQueueConfig_s::numInboundQueues, agsaQueueConfig_s::numOutboundQueues, agsaLLRoot_s::outboundQueue, mpiOCQueue_s::piPointer, mpiOCQueue_s::producerIdx, mpiICQueue_s::producerIdx, agsaLLRoot_s::QueueConfig, SA_DBG1, and agsaContext_s::sdkData.
GLOBAL void siChipReset | ( | agsaRoot_t * | agRoot | ) |
Generic Reset.
The siChipReset() function is called to reset the SPC chip. Upon return, the SPC chip got reset. The PCIe bus got reset.
agRoot | handles for this instance of SAS/SATA hardware |
Definition at line 528 of file sahw.c.
References agNULL, hpDBG_VERY_LOUD, SA_ASSERT, SA_DBG1, agsaContext_s::sdkData, siChipResetSpc(), siChipResetV(), smIS_SPC(), smTraceFuncEnter, smTraceFuncExit, and SPC_SOFT_RESET_SIGNATURE.
Referenced by saHwReset().
GLOBAL void siChipResetSpc | ( | agsaRoot_t * | agRoot | ) |
Function to Reset the SPC Hardware.
The siChipResetSpc() function is called to reset the SPC chip. Upon return, the SPC chip got reset. The PCIe bus got reset.
agRoot | handles for this instance of SAS/SATA hardware |
Definition at line 835 of file sahw.c.
References hpDBG_VERY_LOUD, ossaHwRegReadExt(), ossaHwRegWriteExt(), ossaStallThread(), PCIBAR2, SA_DBG1, smTraceFuncEnter, smTraceFuncExit, SPC_REG_RESET, SPC_REG_RESET_DEVICE, and WAIT_INCREMENT.
Referenced by siChipReset().
GLOBAL bit32 siChipResetV | ( | agsaRoot_t * | agRoot, |
bit32 | signature | ||
) |
Function to Reset the SPC V Hardware.
The siChipResetV() function is called to reset the SPC chip. Upon return, the SPC chip got reset. The PCIe bus got reset.
agRoot | handles for this instance of SAS/SATA hardware |
Definition at line 569 of file sahw.c.
References AGSA_RC_FAILURE, AGSA_RC_SUCCESS, hpDBG_LOUD, hpDBG_VERY_LOUD, MAKE_MODULO, MSGU_SCRATCH_PAD_1, ossaHwRegReadExt(), ossaHwRegWriteExt(), ossaStallThread(), ossaTimeStamp64(), PCIBAR0, SA_DBG1, SCRATCH_PAD1_V_BOOTSTATE_CRIT_ERROR, SCRATCH_PAD1_V_BOOTSTATE_HDA_BOOTSTRAP, SCRATCH_PAD1_V_BOOTSTATE_HDA_SEEPROM, SCRATCH_PAD1_V_BOOTSTATE_HDA_SOFTRESET, SCRATCH_PAD1_V_BOOTSTATE_MASK, SCRATCH_PAD1_V_ERROR_STATE, SCRATCH_PAD1_V_ILA_MASK, SCRATCH_PAD1_V_IOP0_MASK, SCRATCH_PAD1_V_IOP1_MASK, SCRATCH_PAD1_V_RAAE_MASK, smIS_SPCV_2_IOP(), smTrace, smTraceFuncEnter, smTraceFuncExit, SPC_HDASOFT_RESET_SIGNATURE, SPC_SOFT_RESET_SIGNATURE, SPC_V_HDA_RESPONSE_OFFSET, SPC_V_HDAR_IDLE, SPC_V_HDAR_RSPCODE_MASK, SPCv_Reset_Read_ChipResetOccurred, SPCv_Reset_Read_Mask, SPCv_Reset_Read_NoReset, SPCv_Reset_Read_NormalResetOccurred, SPCv_Reset_Read_SoftResetHDAOccurred, SPCv_Reset_Write_NormalReset, SPCv_Reset_Write_SoftResetHDA, V_SoftResetRegister, and WAIT_INCREMENT.
Referenced by saHwReset(), saHwShutdown(), saInitialize(), si_V_SoftReset(), and siChipReset().
GLOBAL void siClearActiveIORequests | ( | agsaRoot_t * | agRoot | ) |
saCountActiveIORequests
char | value |
Definition at line 214 of file sautil.c.
References agFALSE, agNULL, AGSAMEM_ELEMENT_READ, agTRUE, agsaLLRoot_s::IORequestMem, agsaSwConfig_s::maxActiveIOs, SA_ASSERT, SA_DBG1, agsaContext_s::sdkData, agsaLLRoot_s::swConfig, and agsaIORequestDesc_s::valid.
GLOBAL void siClearActiveIORequestsOnDevice | ( | agsaRoot_t * | agRoot, |
bit32 | device | ||
) |
siCountActiveIORequestsOnDevice count all active IO's
char | value |
Definition at line 264 of file sautil.c.
References agFALSE, agNULL, AGSAMEM_ELEMENT_READ, agTRUE, device, agsaDeviceDesc_s::DeviceMapIndex, agsaLLRoot_s::IORequestMem, agsaSwConfig_s::maxActiveIOs, agsaIORequestDesc_s::pDevice, SA_ASSERT, SA_DBG1, agsaContext_s::sdkData, agsaLLRoot_s::swConfig, and agsaIORequestDesc_s::valid.
GLOBAL bit32 siConfiguration | ( | agsaRoot_t * | agRoot, |
mpiConfig_t * | mpiConfig, | ||
agsaHwConfig_t * | hwConfig, | ||
agsaSwConfig_t * | swConfig | ||
) |
Routine to do SPC configuration with default or specified values.
Set up configuration table in LL Layer
agRoot | handles for this instance of SAS/SATA hardware |
mpiConfig | MPI Configuration |
swConfig | Pointer to the software configuration |
Definition at line 1556 of file sainit.c.
References agNULL, AGSA_MAX_INBOUND_Q, AGSA_MAX_OUTBOUND_Q, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, mpiHostLLConfigDescriptor_s::custset, agsaSwConfig_s::disableMDF, agsaQueueInbound_s::elementCount, agsaQueueOutbound_s::elementCount, agsaQueueInbound_s::elementSize, agsaQueueOutbound_s::elementSize, mpiInboundQueueDescriptor_s::elementSize, mpiOutboundQueueDescriptor_s::elementSize, agsaSwConfig_s::eventLog1Option, agsaSwConfig_s::eventLog2Option, mpiHostLLConfigDescriptor_s::eventLogOption, mpiHostLLConfigDescriptor_s::eventLogSize, FATAL_ERROR_INT_BITS, mpiHostLLConfigDescriptor_s::FatalErrorInterrupt, agsaSwConfig_s::fatalErrorInterruptEnable, agsaSwConfig_s::fatalErrorInterruptVector, agsaSwConfig_s::FWConfig, agsaQueueConfig_s::generalEventQueue, hpDBG_VERY_LOUD, HW_CFG_PICI_EFFECTIVE_ADDRESS, agsaHwConfig_s::hwOption, INBOUND_DEPTH_SIZE, agsaQueueConfig_s::inboundQueues, mpiConfig_s::inboundQueues, INT_OPTION, agsaQueueOutbound_s::interruptCount, agsaQueueOutbound_s::interruptDelay, mpiOutboundQueueDescriptor_s::interruptDelay, agsaQueueOutbound_s::interruptEnable, mpiOutboundQueueDescriptor_s::interruptEnable, mpiOutboundQueueDescriptor_s::interruptThreshold, mpiOutboundQueueDescriptor_s::interruptVector, agsaQueueOutbound_s::interruptVectorIndex, agsaHwConfig_s::intReassertionOption, mpiHostLLConfigDescriptor_s::ioAbortDelay, IOMB_SIZE64, mpiHostLLConfigDescriptor_s::IOPeventLogOption, mpiHostLLConfigDescriptor_s::IOPeventLogSize, IQ_NUM_32, agsaQueueConfig_s::iqHighPriorityProcessingDepth, agsaQueueConfig_s::iqNormalPriorityProcessingDepth, mpiHostLLConfigDescriptor_s::iQNPPD_HPPD_GEvent, KBYTES, mpiHostLLConfigDescriptor_s::lowerEventLogAddress, mpiHostLLConfigDescriptor_s::lowerIOPeventLogAddress, mpiConfig_s::mainConfig, mpiConfig_s::maxNumInboundQueues, mpiConfig_s::maxNumOutboundQueues, MPI_LOGSIZE, MPI_QUEUE_NORMAL, mpiInboundQueueDescriptor_s::numElements, mpiOutboundQueueDescriptor_s::numElements, agsaQueueConfig_s::numInboundQueues, mpiConfig_s::numInboundQueues, agsaQueueConfig_s::numOutboundQueues, mpiConfig_s::numOutboundQueues, OQ_NUM_32, OUTBOUND_DEPTH_SIZE, mpiHostLLConfigDescriptor_s::outboundHWEventPID0_3, mpiHostLLConfigDescriptor_s::outboundHWEventPID4_7, mpiHostLLConfigDescriptor_s::outboundNCQEventPID0_3, mpiHostLLConfigDescriptor_s::outboundNCQEventPID4_7, agsaQueueConfig_s::outboundQueues, mpiConfig_s::outboundQueues, mpiHostLLConfigDescriptor_s::outboundTargetITNexusEventPID0_3, mpiHostLLConfigDescriptor_s::outboundTargetITNexusEventPID4_7, mpiHostLLConfigDescriptor_s::outboundTargetSSPEventPID0_3, mpiHostLLConfigDescriptor_s::outboundTargetSSPEventPID4_7, agsaSwConfig_s::param3, agsaSwConfig_s::PortRecoveryResetTimer, mpiHostLLConfigDescriptor_s::PortRecoveryTimerPortResetTimer, agsaQueueInbound_s::priority, mpiInboundQueueDescriptor_s::priority, agsaQueueConfig_s::queueOption, mpiConfig_s::queueOption, SA_ARBTE, SA_ASSERT, SA_DBG1, SA_DBG2, SA_MDFD_MULTI_DATA_FETCH, SA_OUTBOUND_COALESCE, SA_PTNFE_POISION_TLP, agsaQueueConfig_s::sasHwEventQueue, agsaQueueConfig_s::sataNCQErrorEventQueue, agsaSwConfig_s::sgpioSupportEnable, SHIFT1, SHIFT16, SHIFT17, SHIFT2, SHIFT24, SHIFT3, SHIFT4, SHIFT5, SHIFT6, SHIFT8, si_memset(), agsaSwConfig_s::sizefEventLog1, agsaSwConfig_s::sizefEventLog2, smIS_SPCV(), smTraceFuncEnter, smTraceFuncExit, agsaQueueConfig_s::tgtDeviceRemovedEventQueue, mpiHostLLConfigDescriptor_s::upperEventLogAddress, and mpiHostLLConfigDescriptor_s::upperIOPeventLogAddress.
Referenced by saGetRequirements(), and saInitialize().
GLOBAL void siCountActiveIORequestsOnDevice | ( | agsaRoot_t * | agRoot, |
bit32 | device | ||
) |
siCountActiveIORequestsOnDevice count all active IO's
char | value |
Definition at line 315 of file sautil.c.
References agNULL, AGSAMEM_ELEMENT_READ, agTRUE, device, agsaDeviceDesc_s::DeviceMapIndex, agsaLLRoot_s::IORequestMem, agsaSwConfig_s::maxActiveIOs, agsaIORequestDesc_s::pDevice, agsaLLRoot_s::ResetStartTick, SA_ASSERT, SA_DBG1, SA_DBG2, agsaContext_s::sdkData, agsaIORequestDesc_s::startTick, agsaLLRoot_s::swConfig, and agsaIORequestDesc_s::valid.
Referenced by mpiSSPAbortRsp(), saSATAAbort(), and saSSPAbort().
GLOBAL void siDifAbnormal | ( | agsaRoot_t * | agRoot, |
agsaIORequestDesc_t * | pRequest, | ||
bit32 | status, | ||
bit32 | param, | ||
bit32 | sspTag, | ||
bit32 * | pMsg1 | ||
) |
Routine to handle abnormal DIF completed IO/SMP event.
Handle abnormal completed IO/SMP
agRoot | handles for this instance of SAS/SATA hardware |
pRequest | Pointer of IO request of the IO |
status | status of the IO |
param | Length |
Definition at line 1845 of file saint.c.
References agsaDifDetails_s::ActualCRCUDT01, agsaDifDetails_s::ActualUDT2345, agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_REQTYPE_MASK, AGSA_SSP_REQTYPE, agTRUE, agsaIORequestDesc_s::completionCB, agsaDifDetails_s::DIFErrDevID, agsaDifDetails_s::ErrBoffsetEDataLen, agsaDifDetails_s::ExpectedCRCUDT01, agsaDifDetails_s::ExpectedUDT2345, agsaDifDetails_s::frame, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaLLRoot_s::IOMap, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, agsaDifDetails_s::LowerLBA, MARK_OFF, OSSA_OFFSET_OF, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaIORequestDesc_s::pDevice, agsaDeviceDesc_s::pendingIORequests, agsaIORequestDesc_s::pIORequestContext, agsaIORequestDesc_s::requestType, SA_DBG1, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, saLlistIORemove, agsaDifDetails_s::sasAddressHi, agsaDifDetails_s::sasAddressLo, agsaContext_s::sdkData, si_memset(), smTrace, smTraceFuncEnter, smTraceFuncExit, SSP_AGR_S_BIT, SSPTAG_BITS, status, agsaIOMap_s::Tag, agsaDifDetails_s::UpperLBA, and agsaIORequestDesc_s::valid.
Referenced by mpiSSPCompletion().
void siDisableLegacy_V_Interrupts | ( | agsaRoot_t * | agRoot, |
bit32 | interruptVectorIndex | ||
) |
Function to process Legacy V interrupts.
siDisableLegacyInterrupts disables interrupts called thru macro ossaDisableInterrupts
agRoot | OS Layer-specific and LL Layer-specific context handles for this instance of SAS/SATA hardware |
interruptVectorIndex | not used in legacy case |
Definition at line 603 of file saint.c.
References agsabit32bit64_U::B64, GEN_MSGU_ODMR, GEN_MSGU_ODR, ossaHwRegWriteExt(), PCIBAR0, agsabit32bit64_U::S32, SA_DBG4, siHalRegReadExt(), smIS64bInt, V_Outbound_Doorbell_Mask_Set_Register, V_Outbound_Doorbell_Mask_Set_RegisterU, and V_Outbound_Doorbell_Set_Register.
Referenced by saInitialize().
void siDisableLegacyInterrupts | ( | agsaRoot_t * | agRoot, |
bit32 | interruptVectorIndex | ||
) |
Function to process Legacy interrupts.
siDisableLegacyInterrupts disables interrupts called thru macro ossaDisableInterrupts
agRoot | OS Layer-specific and LL Layer-specific context handles for this instance of SAS/SATA hardware |
interruptVectorIndex | not used in legacy case |
Definition at line 580 of file saint.c.
References MSGU_ODCR, MSGU_ODMR, ODCR_CLEAR_ALL, ODMR_MASK_ALL, and ossaHwRegWrite().
Referenced by saInitialize().
void siDisableMSI_V_Interrupts | ( | agsaRoot_t * | agRoot, |
bit32 | interruptVectorIndex | ||
) |
Function to disable MSI V interrupts.
siDisableMSIInterrupts disables interrupts called thru macro ossaDisableInterrupts
agRoot | OS Layer-specific and LL Layer-specific context handles for this instance of SAS/SATA hardware |
interruptVectorIndex | - vector index for message |
void siDisableMSIInterrupts | ( | agsaRoot_t * | agRoot, |
bit32 | interruptVectorIndex | ||
) |
Function to disable MSI interrupts.
siDisableMSIInterrupts disables interrupts called thru macro ossaDisableInterrupts
agRoot | OS Layer-specific and LL Layer-specific context handles for this instance of SAS/SATA hardware |
interruptVectorIndex | - vector index for message |
Definition at line 531 of file saint.c.
References MSGU_ODCR, MSGU_ODMR, ossaHwRegRead(), and ossaHwRegWrite().
Referenced by saInitialize().
void siDisableMSIX_V_Interrupts | ( | agsaRoot_t * | agRoot, |
bit32 | interruptVectorIndex | ||
) |
Function to disable MSIX V interrupts.
siDisableMSIXInterrupts disables interrupts called thru macro ossaDisableInterrupts
agRoot | OS Layer-specific and LL Layer-specific context handles for this instance of SAS/SATA hardware |
interruptVectorIndex | - vector index for message |
Definition at line 503 of file saint.c.
References agsabit32bit64_U::B64, ossaHwRegWriteExt(), PCIBAR0, agsabit32bit64_U::S32, SA_DBG4, smIS64bInt, V_Outbound_Doorbell_Mask_Set_Register, and V_Outbound_Doorbell_Mask_Set_RegisterU.
Referenced by saInitialize().
void siDisableMSIXInterrupts | ( | agsaRoot_t * | agRoot, |
bit32 | interruptVectorIndex | ||
) |
Function to disable MSIX interrupts.
siDisableMSIXInterrupts disables interrupts called thru macro ossaDisableInterrupts
agRoot | OS Layer-specific and LL Layer-specific context handles for this instance of SAS/SATA hardware |
interruptVectorIndex | - vector index for message |
Definition at line 473 of file saint.c.
References MSGU_ODCR, MSIX_INTERRUPT_DISABLE, MSIX_TABLE_BASE, MSIX_TABLE_ELEMENT_SIZE, ossaHwRegRead(), and ossaHwRegWrite().
Referenced by saInitialize().
GLOBAL void siDumpActiveIORequests | ( | agsaRoot_t * | agRoot, |
bit32 | count | ||
) |
siDumpActiveIORequests
char | value |
Definition at line 130 of file sautil.c.
References agNULL, mpiOCQueue_s::agRoot, AGSAMEM_ELEMENT_READ, agTRUE, mpiOCQueue_s::consumerIdx, agsaDeviceDesc_s::DeviceMapIndex, agsaIORequestDesc_s::HTag, agsaLLRoot_s::IORequestMem, agsaQueueConfig_s::numOutboundQueues, ossaHwRegRead(), agsaLLRoot_s::outboundQueue, agsaIORequestDesc_s::pDevice, agsaIORequestDesc_s::pIORequestContext, mpiOCQueue_s::piPointer, mpiOCQueue_s::producerIdx, agsaLLRoot_s::QueueConfig, agsaIORequestDesc_s::requestType, SA_ASSERT, SA_DBG1, saCountActiveIORequests(), SCRATCH_PAD1_V_ERROR_STATE, agsaContext_s::sdkData, smIS_SPCV(), agsaIORequestDesc_s::startTick, agsaLLRoot_s::timeTick, agsaLLRoot_s::usecsPerTick, V_Scratchpad_0_Register, V_Scratchpad_1_Register, V_Scratchpad_2_Register, V_Scratchpad_3_Register, and agsaIORequestDesc_s::valid.
Referenced by saHwReset(), saInitialize(), and saSSPStart().
GLOBAL void siEventPhyUpRcvd | ( | agsaRoot_t * | agRoot, |
bit32 | phyId, | ||
agsaSASIdentify_t * | agSASIdentify, | ||
bit32 | portId, | ||
bit32 | npipps, | ||
bit8 | linkRate | ||
) |
Routine to handle for received Phy Up event.
The handle for received Phy Up event
agRoot | handles for this instance of SAS/SATA hardware |
phyId | for the Phy Up event happened |
agSASIdentify | is the remote phy Identify |
portId | is the port context index of the phy up event |
deviceId | is the device context index |
linkRate | link up rate from SPC |
Definition at line 2069 of file saint.c.
References agNULL, agTRUE, agsaLLRoot_s::freePorts, hpDBG_VERY_LOUD, agsaPort_s::linkNode, LL_PORT_LOCK, agsaContext_s::osData, OSSA_HW_EVENT_SAS_PHY_UP, OSSA_PORT_VALID, ossaHwCB(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), PHY_IN_PORT_MASK, PHY_STATUS_SET, PHY_UP, agsaPort_s::phyMap, agsaLLRoot_s::phys, PORT_STATE_MASK, agsaPort_s::portContext, agsaPortMap_s::PortContext, agsaPort_s::portId, agsaPortMap_s::PortID, PORTID_MASK, agsaLLRoot_s::PortMap, agsaPortMap_s::PortStatus, agsaPhy_s::pPort, SA_DBG1, SA_DBG2, SA_DBG3, saLlistAdd, saLlistGetHead, saLlistRemove, agsaContext_s::sdkData, SHIFT16, SHIFT8, smIS_SPCV8006, smTraceFuncEnter, smTraceFuncExit, agsaPort_s::status, and agsaLLRoot_s::validPorts.
Referenced by mpiHWevent().
GLOBAL void siEventSATAResponseWtDataRcvd | ( | agsaRoot_t * | agRoot, |
agsaIORequestDesc_t * | pRequest, | ||
bit32 * | agFirstDword, | ||
bit32 * | pResp, | ||
bit32 | lengthResp | ||
) |
Routine to handle for received SATA with data payload event.
The handle for received SATA with data payload event
agRoot | handles for this instance of SAS/SATA hardware |
pRequest | the IO request descriptor |
agFirstDword | pointer to the first Dword |
pResp | pointer to the rest of SATA response |
lengthResp | total length of SATA Response frame |
Definition at line 859 of file sasata.c.
References agFALSE, agTRUE, agsaIORequestDesc_s::completionCB, agsaLLRoot_s::freeIORequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, OSSA_IO_SUCCESS, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaIORequestDesc_s::pDevice, agsaDeviceDesc_s::pendingIORequests, agsaIORequestDesc_s::pIORequestContext, saLlistIOAdd, saLlistIORemove, agsaContext_s::sdkData, smTraceFuncEnter, smTraceFuncExit, and agsaIORequestDesc_s::valid.
Referenced by mpiSATACompletion().
GLOBAL void siEventSATASignatureRcvd | ( | agsaRoot_t * | agRoot, |
bit32 | phyId, | ||
void * | pMsg, | ||
bit32 | portId, | ||
bit32 | npipps, | ||
bit8 | linkRate | ||
) |
Routine to handle for received SATA signature event.
The handle for received SATA signature event
agRoot | handles for this instance of SAS/SATA hardware |
phyId | the phy id of the phy received the frame |
pMsg | the pointer to the message payload |
portId | the port context index of the phy up event |
deviceId | the device context index |
linkRate | link up rate from SPC |
Definition at line 2200 of file saint.c.
References agNULL, agTRUE, agsaFisRegDeviceToHost_s::d, agsaFisRegD2HData_s::device, agsaFisRegD2HHeader_s::error, agsaFisRegD2HHeader_s::fisType, agsaLLRoot_s::freePorts, agsaFisRegDeviceToHost_s::h, hpDBG_VERY_LOUD, agsaFisRegD2HHeader_s::i_pmPort, agsaFisRegD2HData_s::lbaHigh, agsaFisRegD2HData_s::lbaHighExp, agsaFisRegD2HData_s::lbaLow, agsaFisRegD2HData_s::lbaLowExp, agsaFisRegD2HData_s::lbaMid, agsaFisRegD2HData_s::lbaMidExp, agsaPort_s::linkNode, LL_PORT_LOCK, agsaContext_s::osData, OSSA_HW_EVENT_SATA_PHY_UP, OSSA_PORT_VALID, ossaHwCB(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), PHY_IN_PORT_MASK, PHY_STATUS_SET, PHY_UP, agsaPort_s::phyMap, agsaLLRoot_s::phys, PORT_STATE_MASK, agsaPort_s::portContext, agsaPortMap_s::PortContext, agsaPort_s::portId, agsaPortMap_s::PortID, PORTID_MASK, agsaLLRoot_s::PortMap, agsaPortMap_s::PortStatus, agsaPhy_s::pPort, agsaFisRegD2HData_s::reserved4, agsaFisRegD2HData_s::reserved5, agsaFisRegD2HData_s::reserved6, agsaFisRegD2HData_s::reserved7, SA_DBG1, SA_DBG2, SA_DBG3, SA_DBG5, saLlistAdd, saLlistGetHead, saLlistRemove, agsaContext_s::sdkData, agsaFisRegD2HData_s::sectorCount, agsaFisRegD2HData_s::sectorCountExp, SHIFT16, SHIFT8, smTraceFuncEnter, smTraceFuncExit, agsaFisRegD2HHeader_s::status, agsaPort_s::status, and agsaLLRoot_s::validPorts.
Referenced by mpiHWevent().
GLOBAL void siEventSSPResponseWtDataRcvd | ( | agsaRoot_t * | agRoot, |
agsaIORequestDesc_t * | pRequest, | ||
agsaSSPResponseInfoUnit_t * | pRespIU, | ||
bit32 | param, | ||
bit32 | sspTag | ||
) |
Routine to handle for received SAS with data payload event.
The handle for received SAS with data payload event
agRoot | handles for this instance of SAS/SATA hardware |
pRequest | handles for the IOrequest |
pRespIU | the pointer to the Response IU |
param | Payload Length |
Definition at line 1467 of file saint.c.
References agFALSE, agTRUE, agsaIORequestDesc_s::completionCB, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, OSSA_IO_SUCCESS, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaIORequestDesc_s::pDevice, agsaDeviceDesc_s::pendingIORequests, agsaIORequestDesc_s::pIORequestContext, SA_DBG1, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, saLlistIORemove, agsaContext_s::sdkData, smTraceFuncEnter, smTraceFuncExit, SSP_RESCV_BIT, SSP_RESCV_PAD_SHIFT, SSPTAG_BITS, and agsaIORequestDesc_s::valid.
Referenced by mpiSSPCompletion().
GLOBAL bit32 siGetPciBar | ( | agsaRoot_t * | agRoot | ) |
Definition at line 2915 of file sahw.c.
References GEN_MSGU_SCRATCH_PAD_0, mpiGetPCIBarIndex(), MSGU_SCRATCH_PAD_0, SCRATCH_PAD0_BAR_MASK, SHIFT26, and siHalRegReadExt().
Referenced by mpiInitialize(), siFatalErrorBuffer(), siGetTableOffset(), and siNonFatalErrorBuffer().
GLOBAL bit32 siGetRegisterDumpGSM | ( | agsaRoot_t * | agRoot, |
void * | destinationAddress, | ||
bit32 | regDumpNum, | ||
bit32 | regDumpOffset, | ||
bit32 | len | ||
) |
Initiate a GET REGISTER DUMP from GSM command.
This function is called to Get Register Dump from the GSM of SPC.
agRoot | handles for this instance of SAS/SATA hardware |
destinationAddress | address of the register dump data copied to |
regDumpNum | Register Dump # 0 or 1 |
regDumpOffset | Offset within the register dump area |
len | Length in bytes of the register dump data to copy |
Definition at line 3213 of file saioctlcmd.c.
References agNULL, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, mpiHostLLConfigDescriptor_s::FatalErrorDumpLength0, mpiHostLLConfigDescriptor_s::FatalErrorDumpLength1, mpiHostLLConfigDescriptor_s::FatalErrorDumpOffset0, mpiHostLLConfigDescriptor_s::FatalErrorDumpOffset1, hpDBG_VERY_LOUD, agsaLLRoot_s::mainConfigTable, SA_ASSERT, SA_DBG1, agsaContext_s::sdkData, siGSMDump(), smTraceFuncEnter, and smTraceFuncExit.
Referenced by saHwReset(), siSpcGetErrorContent(), and siSpcvGetErrorContent().
GLOBAL bit32 siGetTableOffset | ( | agsaRoot_t * | agRoot, |
bit32 | TableOffsetInTable | ||
) |
Definition at line 2929 of file sahw.c.
References GEN_MSGU_SCRATCH_PAD_0, MSGU_SCRATCH_PAD_0, ossaHwRegReadExt(), SA_DBG4, SCRATCH_PAD0_OFFSET_MASK, siGetPciBar(), and siHalRegReadExt().
Referenced by siFatalErrorBuffer(), siNonFatalErrorBuffer(), and siWaitForFatalTransfer().
GLOBAL bit32 siHalRegReadExt | ( | agsaRoot_t * | agRoot, |
bit32 | generic, | ||
bit32 | regOffset | ||
) |
Definition at line 2818 of file sahw.c.
References agNULL, ossaHwRegRead(), ossaHwRegReadExt(), SA_ASSERT, and WHATTABLE.
Referenced by mpiInitialize(), mpiReadCALTable(), mpiReadGSTable(), mpiUnInitConfigTable(), mpiWaitForConfigTable(), mpiWrAnalogSetupTable(), mpiWrIntVecTable(), mpiWriteCALTable(), mpiWrPhyAttrbTable(), saDelayedInterruptHandler(), saGetControllerInfo(), saGetControllerStatus(), saHwReset(), saHwShutdown(), saTimerTick(), siDisableLegacy_V_Interrupts(), siFatalErrorBuffer(), siFatalInterruptHandler(), siGetPciBar(), siGetTableOffset(), siOurLegacy_V_Interrupt(), siProcessOBMsg(), siReenableLegacy_V_Interrupts(), siReenableMSIInterrupts(), siSpcGetErrorContent(), and siSpcvGetErrorContent().
GLOBAL void siHalRegWriteExt | ( | agsaRoot_t * | agRoot, |
bit32 | generic, | ||
bit32 | regOffset, | ||
bit32 | regValue | ||
) |
Definition at line 2858 of file sahw.c.
References agNULL, ossaHwRegWrite(), ossaHwRegWriteExt(), SA_ASSERT, SA_DBG6, and WHATTABLE.
Referenced by mpiInitialize(), mpiUnInitConfigTable(), saSystemInterruptsActive(), siReenableLegacyInterrupts(), siReenableMSIInterrupts(), and siReenableMSIXInterrupts().
GLOBAL void siInitResources | ( | agsaRoot_t * | agRoot, |
agsaMemoryRequirement_t * | memoryAllocated, | ||
agsaHwConfig_t * | hwConfig, | ||
agsaSwConfig_t * | swConfig, | ||
bit32 | usecsPerTick | ||
) |
Definition at line 3796 of file sainit.c.
References agFALSE, agsaMemoryRequirement_s::agMemory, agNULL, AGSA_REQ_TYPE_UNKNOWN, AGSAMEM_ELEMENT_READ, agsaLLRoot_s::autoDeregDeviceflag, mpiICQueue_s::ciPointer, mpiOCQueue_s::consumerIdx, agsaLLRoot_s::DeviceDeregistrationCB, agsaDeviceMap_s::DeviceHandle, agsaDeviceMap_s::DeviceIdFromFW, DEVICELINK_MEM_INDEX, agsaLLRoot_s::deviceLinkMem, agsaLLRoot_s::DeviceMap, agsaDeviceDesc_s::DeviceMapIndex, agsaLLRoot_s::DeviceRegistrationCB, agsaDeviceDesc_s::deviceType, agsaTimerDesc_s::Event, agsaLLRoot_s::freeDevicesList, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freePorts, agsaLLRoot_s::freeReservedRequests, agsaLLRoot_s::freeTimers, agsaIORequestDesc_s::HTag, agsaLLRoot_s::inboundQueue, agsaDeviceDesc_s::initiatorDevHandle, agsaLLRoot_s::IOMap, IOREQLINK_MEM_INDEX, agsaIOMap_s::IORequest, agsaLLRoot_s::IORequestMem, agsaTimerDesc_s::linkNode, agsaPort_s::linkNode, agsaDeviceDesc_s::linkNode, agsaIORequestDesc_s::linkNode, agsaPort_s::listSASATADevices, LLROOT_MEM_INDEX, MARK_OFF, MAX_ACTIVE_IO_REQUESTS, MAX_IO_DEVICE_ENTRIES, agsaSwConfig_s::maxActiveIOs, mpiOCQueue_s::memoryRegion, mpiICQueue_s::memoryRegion, NUM_TIMERS, agsaSwConfig_s::numDevHandles, agsaMem_s::numElements, mpiOCQueue_s::numElements, mpiICQueue_s::numElements, agsaQueueConfig_s::numInboundQueues, agsaQueueConfig_s::numOutboundQueues, agsaContext_s::osData, agsaLLRoot_s::outboundQueue, agsaIORequestDesc_s::pDevice, agsaDeviceDesc_s::pendingIORequests, agsaTimerDesc_s::pfnTimeout, PHY_STATUS_SET, PHY_STOPPED, agsaMem_s::phyAddrLower, agsaHwConfig_s::phyCount, agsaLLRoot_s::phyCount, agsaPhy_s::phyId, agsaPort_s::phyMap, agsaLLRoot_s::phys, agsaIORequestDesc_s::pIORequestContext, mpiOCQueue_s::piPointer, PORT_MARK_OFF, PORT_NORMAL, agsaPort_s::portContext, agsaPortMap_s::PortContext, agsaLLRoot_s::portCount, agsaPort_s::portId, agsaPortMap_s::PortID, agsaPort_s::portIdx, agsaLLRoot_s::PortMap, agsaLLRoot_s::ports, agsaPortMap_s::PortStatus, agsaTimerDesc_s::pParm, agsaPhy_s::pPort, agsaDeviceDesc_s::pPort, agsaIORequestDesc_s::pPort, mpiOCQueue_s::producerIdx, agsaLLRoot_s::QueueConfig, agsaIORequestDesc_s::requestType, SA_DBG2, SA_DBG3, SA_RESERVED_REQUEST_COUNT, saLlinkInitialize, saLlinkIOInitialize, saLlistAdd, saLlistInitialize, saLlistIOAdd, saLlistIOGetCount, saLlistIOInitialize, SAS_SATA_UNKNOWN_DEVICE, agsaContext_s::sdkData, si_memset(), agsaPort_s::status, agsaLLRoot_s::sysIntsActive, agsaIOMap_s::Tag, agsaDeviceDesc_s::targetDevHandle, agsaTimerDesc_s::timeoutTick, TIMERLINK_MEM_INDEX, agsaLLRoot_s::timerLinkMem, agsaLLRoot_s::timeTick, agsaMem_s::totalLength, mpiMem_s::totalLength, agsaMem_s::type, agsaLLRoot_s::usecsPerTick, agsaTimerDesc_s::valid, agsaIORequestDesc_s::valid, agsaLLRoot_s::validPorts, agsaLLRoot_s::validTimers, agsaMem_s::virtPtr, and mpiMem_s::virtPtr.
Referenced by saHwReset(), and saHwShutdown().
GLOBAL FORCEINLINE void siIODone | ( | agsaRoot_t * | agRoot, |
agsaIORequestDesc_t * | pRequest, | ||
bit32 | status, | ||
bit32 | sspTag | ||
) |
Routine to handle successfully completed IO event.
Handle successfully completed IO
agRoot | handles for this instance of SAS/SATA hardware |
pRequest | Pointer of IO request of the IO |
status | status of the IO |
Definition at line 1549 of file saint.c.
References agFALSE, agNULL, AGSA_REQTYPE_MASK, AGSA_SATA_REQTYPE, AGSA_SMP_REQTYPE, AGSA_SSP_REQTYPE, agTRUE, agsaIORequestDesc_s::completionCB, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, NULL, OSSA_IO_SUCCESS, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaIORequestDesc_s::pDevice, agsaDeviceDesc_s::pendingIORequests, agsaIORequestDesc_s::pIORequestContext, agsaIORequestDesc_s::requestType, SA_ASSERT, SA_DBG1, SA_DBG5, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, saLlistIORemove, agsaContext_s::sdkData, smTraceFuncEnter, smTraceFuncExit, SSPTAG_BITS, and agsaIORequestDesc_s::valid.
Referenced by mpiParseOBIomb(), mpiSATACompletion(), and mpiSSPCompletion().
int siIsHexDigit | ( | char | a | ) |
bit32 siOurLegacy_V_Interrupt | ( | agsaRoot_t * | agRoot, |
bit32 | interruptVectorIndex | ||
) |
Function to process Legacy V interrupts.
siOurLegacyInterrupt checks if we generated interrupt called thru function pointer saRoot->OurInterrupt
agRoot | OS Layer-specific and LL Layer-specific context handles for this instance of SAS/SATA hardware |
Definition at line 744 of file saint.c.
References FALSE, GEN_MSGU_ODR, siHalRegReadExt(), TRUE, and V_Outbound_Doorbell_Set_Register.
Referenced by saInitialize().
bit32 siOurLegacyInterrupt | ( | agsaRoot_t * | agRoot, |
bit32 | interruptVectorIndex | ||
) |
Function to process Legacy interrupts.
siOurLegacyInterrupt checks if we generated interrupt called thru function pointer saRoot->OurInterrupt
agRoot | OS Layer-specific and LL Layer-specific context handles for this instance of SAS/SATA hardware |
Definition at line 711 of file saint.c.
References FALSE, MSGU_READ_ODMR, MSGU_READ_ODR, and TRUE.
Referenced by saInitialize().
bit32 siOurMSI_V_Interrupt | ( | agsaRoot_t * | agRoot, |
bit32 | interruptVectorIndex | ||
) |
Function to process MSI V interrupts.
siOurMSIInterrupt checks if we generated interrupt called thru function pointer saRoot->OurInterrupt
agRoot | OS Layer-specific and LL Layer-specific context handles for this instance of SAS/SATA hardware |
bit32 siOurMSIInterrupt | ( | agsaRoot_t * | agRoot, |
bit32 | interruptVectorIndex | ||
) |
Function to process MSI interrupts.
siOurMSIInterrupt checks if we generated interrupt called thru function pointer saRoot->OurInterrupt
agRoot | OS Layer-specific and LL Layer-specific context handles for this instance of SAS/SATA hardware |
Definition at line 672 of file saint.c.
References TRUE.
Referenced by saInitialize().
bit32 siOurMSIX_V_Interrupt | ( | agsaRoot_t * | agRoot, |
bit32 | interruptVectorIndex | ||
) |
Function to process MSIX V interrupts.
siOurMSIXInterrupt checks if we generated interrupt called thru function pointer saRoot->OurInterrupt
agRoot | OS Layer-specific and LL Layer-specific context handles for this instance of SAS/SATA hardware |
Definition at line 654 of file saint.c.
References TRUE.
Referenced by saInitialize().
bit32 siOurMSIXInterrupt | ( | agsaRoot_t * | agRoot, |
bit32 | interruptVectorIndex | ||
) |
Function to process MSIX interrupts.
siOurMSIXInterrupt checks if we generated interrupt called thru function pointer saRoot->OurInterrupt
agRoot | OS Layer-specific and LL Layer-specific context handles for this instance of SAS/SATA hardware |
Definition at line 635 of file saint.c.
References TRUE.
Referenced by saInitialize().
GLOBAL void siPciCpyMem | ( | agsaRoot_t * | agRoot, |
bit32 | soffset, | ||
const void * | dst, | ||
bit32 | DWcount, | ||
bit32 | busBaseNumber | ||
) |
Definition at line 2991 of file sahw.c.
References ossaHwRegReadExt(), SA_ASSERT, and SA_DBG1.
Referenced by siFatalErrorBuffer().
GLOBAL void siPCITriger | ( | agsaRoot_t * | agRoot | ) |
Definition at line 2907 of file sahw.c.
References ossaHwRegReadExt(), PCIBAR0, PCIE_TRIGGER_ON_REGISTER_READ, and SA_DBG1.
Referenced by mpiParseOBIomb(), mpiSSPEvent(), and saInitialize().
GLOBAL bit32 siPhyStopCB | ( | agsaRoot_t * | agRoot, |
bit32 | phyId, | ||
bit32 | status, | ||
agsaContext_t * | agContext, | ||
bit32 | portId, | ||
bit32 | npipps | ||
) |
CallBack Routine to stop a Phy.
CallBack for Stop a Phy
agRoot | handles for this instance of SAS/SATA hardware |
phyId | the phy id of the link will be stopped |
status | the status of the phy |
agContext | the context of the saPhyStop |
Definition at line 314 of file saphy.c.
References agFALSE, agNULL, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, hpDBG_VERY_LOUD, LL_PORT_LOCK, OSSA_HW_EVENT_PHY_STOP_STATUS, OSSA_PORT_INVALID, OSSA_SUCCESS, ossaHwCB(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), PHY_STATUS_SET, PHY_STOPPED, agsaLLRoot_s::phyCount, agsaPort_s::phyMap, agsaLLRoot_s::phys, PORT_INVALIDATING, PORT_MARK_OFF, PORT_STATE_MASK, agsaPort_s::portContext, agsaPortMap_s::PortContext, agsaPort_s::portId, agsaPortMap_s::PortID, agsaLLRoot_s::PortMap, agsaPortMap_s::PortStatus, agsaPhy_s::pPort, SA_ASSERT, SA_DBG1, agsaContext_s::sdkData, SHIFT16, SHIFT8, siPortInvalid(), smTraceFuncEnter, smTraceFuncExit, status, and agsaPort_s::status.
Referenced by mpiHWevent().
GLOBAL void siPortDeviceListRemove | ( | agsaRoot_t * | agRoot, |
agsaPort_t * | pPort, | ||
agsaDeviceDesc_t * | pDevice | ||
) |
The function to remove a device descriptor.
The function to remove a device descriptor
agRoot | handles for this instance of SAS/SATA hardware |
pPort | The pointer to the port |
pDevice | The pointer to the device |
Definition at line 370 of file saport.c.
References agNULL, agsaDeviceDesc_s::deviceType, agsaLLRoot_s::freeDevicesList, hpDBG_VERY_LOUD, agsaDeviceDesc_s::initiatorDevHandle, agsaDeviceDesc_s::linkNode, agsaPort_s::listSASATADevices, LL_DEVICE_LOCK, agsaContext_s::osData, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaPort_s::portId, agsaDeviceDesc_s::pPort, SA_ASSERT, SA_DBG3, saLlistAdd, saLlistRemove, SAS_SATA_UNKNOWN_DEVICE, agsaContext_s::sdkData, smTraceFuncEnter, smTraceFuncExit, and agsaDeviceDesc_s::targetDevHandle.
Referenced by mpiDeviceRegRsp().
GLOBAL void siPortDeviceRemove | ( | agsaRoot_t * | agRoot, |
agsaPort_t * | pPort, | ||
agsaDeviceDesc_t * | pDevice, | ||
bit32 | unmap | ||
) |
The function to remove a device descriptor.
The function to remove a device descriptor
agRoot | handles for this instance of SAS/SATA hardware |
pPort | The pointer to the port |
pDevice | The pointer to the device |
Definition at line 169 of file saport.c.
References agNULL, DEVICE_ID_BITS, agsaDeviceMap_s::DeviceHandle, agsaDeviceMap_s::DeviceIdFromFW, agsaLLRoot_s::DeviceMap, agsaDeviceDesc_s::DeviceMapIndex, agsaDeviceDesc_s::deviceType, agsaLLRoot_s::freeDevicesList, hpDBG_VERY_LOUD, agsaDeviceDesc_s::initiatorDevHandle, agsaDeviceDesc_s::linkNode, agsaPort_s::listSASATADevices, LL_DEVICE_LOCK, MAX_IO_DEVICE_ENTRIES, OS_ASSERT, agsaContext_s::osData, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaDeviceDesc_s::pPort, SA_ASSERT, SA_DBG3, saLlistAdd, saLlistRemove, SAS_SATA_UNKNOWN_DEVICE, agsaContext_s::sdkData, smTraceFuncEnter, smTraceFuncExit, and agsaDeviceDesc_s::targetDevHandle.
Referenced by mpiDeviceRegRsp(), and siRemoveDevHandle().
GLOBAL void siPortInvalid | ( | agsaRoot_t * | agRoot, |
agsaPort_t * | pPort | ||
) |
Invalid a port.
Invalid a port
agRoot | handles for this instance of SAS/SATA hardware |
pPort |
Definition at line 331 of file saport.c.
References agFALSE, agNULL, agsaLLRoot_s::freePorts, hpDBG_VERY_LOUD, agsaPort_s::linkNode, LL_PORT_LOCK, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), PORT_INVALIDATING, SA_ASSERT, saLlistAdd, saLlistRemove, agsaContext_s::sdkData, smTraceFuncEnter, smTraceFuncExit, agsaPort_s::status, agsaPort_s::tobedeleted, and agsaLLRoot_s::validPorts.
Referenced by mpiPhyStopEvent(), mpiSASHwEventAckRsp(), and siPhyStopCB().
GLOBAL agsaDeviceDesc_t * siPortSASDeviceAdd | ( | agsaRoot_t * | agRoot, |
agsaPort_t * | pPort, | ||
agsaSASIdentify_t | sasIdentify, | ||
bit32 | sasInitiator, | ||
bit32 | smpTimeout, | ||
bit32 | itNexusTimeout, | ||
bit32 | firstBurstSize, | ||
bit8 | dTypeSRate, | ||
bit32 | flag | ||
) |
Add a SAS device to the discovery list of the port.
Add a SAS device from the discovery list of the port
agRoot | handles for this instance of SAS/SATA LLL |
pPort | |
sasIdentify | |
sasInitiator | |
smpTimeout | |
itNexusTimeout | |
firstBurstSize | |
dTypeSRate | – device type and link rate |
flag |
Definition at line 60 of file saport.c.
References agNULL, agTRUE, agsaSASDeviceInfo_s::commonDevInfo, agsaDeviceDesc_s::deviceType, agsaDeviceDesc_s::devInfo, agsaDeviceInfo_s::devType_S_Rate, agsaDeviceInfo_s::firstBurstSize, agsaDeviceInfo_s::flag, agsaLLRoot_s::freeDevicesList, hpDBG_VERY_LOUD, agsaSASDeviceInfo_s::initiator_ssp_stp_smp, agsaSASIdentify_s::initiator_ssp_stp_smp, agsaDeviceDesc_s::initiatorDevHandle, agsaDeviceInfo_s::it_NexusTimeout, agsaDeviceDesc_s::linkNode, agsaPort_s::listSASATADevices, LL_DEVICE_LOCK, agsaContext_s::osData, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaDeviceDesc_s::pendingIORequests, agsaSASDeviceInfo_s::phyIdentifier, agsaSASIdentify_s::phyIdentifier, agsaDeviceDesc_s::pPort, SA_ASSERT, SA_DBG1, SA_DBG3, SA_IDFRM_GET_SAS_ADDRESSHI, SA_IDFRM_GET_SAS_ADDRESSLO, saLlistAdd, saLlistGetHead, saLlistInitialize, saLlistRemove, agsaDeviceInfo_s::sasAddressHi, agsaSASIdentify_s::sasAddressHi, agsaDeviceInfo_s::sasAddressLo, agsaSASIdentify_s::sasAddressLo, agsaSASSATADevInfo_s::sasDeviceInfo, agsaContext_s::sdkData, SHIFT4, agsaDeviceInfo_s::smpTimeout, smTraceFuncEnter, smTraceFuncExit, agsaSASDeviceInfo_s::target_ssp_stp_smp, agsaSASIdentify_s::target_ssp_stp_smp, and agsaDeviceDesc_s::targetDevHandle.
Referenced by mpiDeviceHandleArrived(), and saRegisterNewDevice().
GLOBAL agsaDeviceDesc_t * siPortSATADeviceAdd | ( | agsaRoot_t * | agRoot, |
agsaPort_t * | pPort, | ||
agsaDeviceDesc_t * | pSTPBridge, | ||
bit8 * | pSignature, | ||
bit8 | pm, | ||
bit8 | pmField, | ||
bit32 | smpReqTimeout, | ||
bit32 | itNexusTimeout, | ||
bit32 | firstBurstSize, | ||
bit8 | dTypeSRate, | ||
bit32 | flag | ||
) |
Add a SATA device to the discovery list of the port.
Add a SATA device from the discovery list of the port
agRoot | handles for this instance of SAS/SATA hardware |
pPort | |
pSTPBridge | |
pSignature | |
pm | |
pmField | |
smpReqTimeout | |
itNexusTimeout | |
firstBurstSize | |
dTypeSRate |
Definition at line 238 of file saport.c.
References agNULL, agsaSATADeviceInfo_s::commonDevInfo, agsaSATADeviceInfo_s::connection, agsaDeviceDesc_s::deviceType, agsaDeviceDesc_s::devInfo, agsaDeviceInfo_s::devType_S_Rate, agsaDeviceInfo_s::firstBurstSize, agsaDeviceInfo_s::flag, agsaLLRoot_s::freeDevicesList, hpDBG_VERY_LOUD, agsaDeviceDesc_s::initiatorDevHandle, agsaDeviceInfo_s::it_NexusTimeout, agsaDeviceDesc_s::linkNode, agsaPort_s::listSASATADevices, LL_DEVICE_LOCK, agsaContext_s::osData, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaSATADeviceInfo_s::portMultiplierField, agsaDeviceDesc_s::pPort, SA_ASSERT, SA_DBG1, SA_DBG3, saLlistAdd, saLlistGetHead, saLlistRemove, agsaDeviceInfo_s::sasAddressHi, agsaDeviceInfo_s::sasAddressLo, agsaSASSATADevInfo_s::sataDeviceInfo, agsaContext_s::sdkData, SHIFT4, agsaDeviceInfo_s::smpTimeout, smTraceFuncEnter, smTraceFuncExit, agsaSATADeviceInfo_s::stpPhyIdentifier, and agsaDeviceDesc_s::targetDevHandle.
Referenced by saRegisterNewDevice().
GLOBAL void siPrintBuffer | ( | bit32 | debugLevel, |
siPrintType | type, | ||
char * | header, | ||
void * | a, | ||
bit32 | length | ||
) |
void siReenableLegacy_V_Interrupts | ( | agsaRoot_t * | agRoot, |
bit32 | interruptVectorIndex | ||
) |
Function to reenable Legacy V interrupts.
siReenableLegacyInterrupts reenableinterrupts called thru macro ossaReenableInterrupts
agRoot | OS Layer-specific and LL Layer-specific context handles for this instance of SAS/SATA hardware |
interruptVectorIndex | always zero |
Definition at line 1079 of file saint.c.
References GEN_MSGU_ODMR, GEN_MSGU_ODR, ossaHwRegWriteExt(), PCIBAR0, SA_DBG5, siHalRegReadExt(), V_Outbound_Doorbell_Clear_Register, V_Outbound_Doorbell_Mask_Clear_Register, V_Outbound_Doorbell_Mask_Set_Register, and V_Outbound_Doorbell_Set_Register.
Referenced by saInitialize().
void siReenableLegacyInterrupts | ( | agsaRoot_t * | agRoot, |
bit32 | interruptVectorIndex | ||
) |
Function to reenable Legacy interrupts.
siReenableLegacyInterrupts reenableinterrupts called thru macro ossaReenableInterrupts
agRoot | OS Layer-specific and LL Layer-specific context handles for this instance of SAS/SATA hardware |
interruptVectorIndex | always zero |
Definition at line 1055 of file saint.c.
References GEN_MSGU_ODCR, GEN_MSGU_ODMR, MSGU_ODCR, MSGU_ODMR, ODCR_CLEAR_ALL, ODMR_CLEAR_ALL, and siHalRegWriteExt().
Referenced by saInitialize().
void siReenableMSI_V_Interrupts | ( | agsaRoot_t * | agRoot, |
bit32 | interruptVectorIndex | ||
) |
Function to reenable MSI V interrupts.
siReenableMSIXInterrupts reenableinterrupts called thru macro ossaReenableInterrupts
agRoot | OS Layer-specific and LL Layer-specific context handles for this instance of SAS/SATA hardware |
interruptVectorIndex | - vector index for message |
void siReenableMSIInterrupts | ( | agsaRoot_t * | agRoot, |
bit32 | interruptVectorIndex | ||
) |
Function to reenable MSI interrupts.
siReenableMSIXInterrupts reenableinterrupts called thru macro ossaReenableInterrupts
agRoot | OS Layer-specific and LL Layer-specific context handles for this instance of SAS/SATA hardware |
interruptVectorIndex | - vector index for message |
Definition at line 1008 of file saint.c.
References GEN_MSGU_ODMR, MSGU_ODMR, siHalRegReadExt(), and siHalRegWriteExt().
Referenced by saInitialize().
void siReenableMSIX_V_Interrupts | ( | agsaRoot_t * | agRoot, |
bit32 | interruptVectorIndex | ||
) |
Function to reenable MSIX interrupts.
siReenableMSIXInterrupts reenableinterrupts called thru macro ossaReenableInterrupts
agRoot | OS Layer-specific and LL Layer-specific context handles for this instance of SAS/SATA hardware |
interruptVectorIndex | - vector index for message |
Definition at line 967 of file saint.c.
References agsabit32bit64_U::B64, ossaHwRegWriteExt(), PCIBAR0, agsabit32bit64_U::S32, SA_DBG1, SA_DBG4, agsaContext_s::sdkData, smIS64bInt, agsaLLRoot_s::sysIntsActive, V_Outbound_Doorbell_Mask_Clear_Register, and V_Outbound_Doorbell_Mask_Clear_RegisterU.
Referenced by saInitialize().
void siReenableMSIXInterrupts | ( | agsaRoot_t * | agRoot, |
bit32 | interruptVectorIndex | ||
) |
Function to reenable MSIX interrupts.
siReenableMSIXInterrupts reenableinterrupts called thru macro ossaReenableInterrupts
agRoot | OS Layer-specific and LL Layer-specific context handles for this instance of SAS/SATA hardware |
interruptVectorIndex | - vector index for message |
Definition at line 935 of file saint.c.
References GEN_MSGU_ODCR, MSGU_ODCR, MSIX_INTERRUPT_ENABLE, MSIX_TABLE_BASE, MSIX_TABLE_ELEMENT_SIZE, ossaHwRegWriteExt(), PCIBAR0, SA_DBG4, and siHalRegWriteExt().
Referenced by saInitialize().
GLOBAL bit32 siRemoveDevHandle | ( | agsaRoot_t * | agRoot, |
agsaDevHandle_t * | agDevHandle | ||
) |
Function for target to remove stale initiator device handle.
function is called to ask the LL layer to remove all LL layer internal resources associated with a device handle
agRoot | Handles for this instance of SAS/SATA hardware |
agDevHandle | Handle of the device that this I/O request will be made on |
Definition at line 158 of file sadisc.c.
References agFALSE, agNULL, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, agTRUE, agsaDeviceDesc_s::deviceType, DIRECT_SATA_DEVICE, hpDBG_VERY_LOUD, agsaDeviceDesc_s::initiatorDevHandle, OS_ASSERT, agsaDeviceDesc_s::pPort, SA_ASSERT, SA_DBG1, SA_DBG3, agsaContext_s::sdkData, siPortDeviceRemove(), smTraceFuncEnter, smTraceFuncExit, SSP_SMP_DEVICE, STP_DEVICE, and agsaDeviceDesc_s::targetDevHandle.
Referenced by mpiDeregDevHandleRsp().
GLOBAL bit32 siScratchDump | ( | agsaRoot_t * | agRoot | ) |
Definition at line 4574 of file sainit.c.
References MSGU_SCRATCH_PAD_0, MSGU_SCRATCH_PAD_1, MSGU_SCRATCH_PAD_2, MSGU_SCRATCH_PAD_3, ossaHwRegReadExt(), PCIBAR0, SA_DBG1, SCRATCH_PAD1_V_BOOTSTATE_MASK, SCRATCH_PAD1_V_ILA_MASK, SCRATCH_PAD1_V_IOP0_MASK, SCRATCH_PAD1_V_IOP1_MASK, SCRATCH_PAD1_V_RAAE_MASK, SCRATCH_PAD1_V_READY, and SCRATCH_PAD1_V_RESERVED.
Referenced by saHwShutdown(), and saInitialize().
GLOBAL void siSMPRespRcvd | ( | agsaRoot_t * | agRoot, |
agsaSMPCompletionRsp_t * | pIomb, | ||
bit32 | payloadSize, | ||
bit32 | tag | ||
) |
Routine to handle for received SMP response event.
The handle for received SMP response event
agRoot | handles for this instance of SAS/SATA hardware |
pIomb | Pointer of payload of IOMB |
payloadSize | size of the payload |
tag | the tag of the request SMP |
Definition at line 1961 of file saint.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, agTRUE, agsaIORequestDesc_s::completionCB, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, hpDBG_VERY_LOUD, agsaLLRoot_s::IOMap, agsaIOMap_s::IORequest, agsaIORequestDesc_s::IRmode, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, OSSA_IO_SUCCESS, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaIORequestDesc_s::pDevice, agsaDeviceDesc_s::pendingIORequests, agsaIORequestDesc_s::pIORequestContext, agsaIORequestDesc_s::pPort, SA_ASSERT, SA_DBG1, SA_DBG3, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, saLlistIORemove, agsaContext_s::sdkData, agsaSMPCompletionRsp_s::SMPrsp, smTraceFuncEnter, smTraceFuncExit, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by mpiSMPCompletion().
GLOBAL bit32 siSoftReset | ( | agsaRoot_t * | agRoot, |
bit32 | signature | ||
) |
Definition at line 872 of file sahw.c.
References AGSA_RC_SUCCESS, si_V_SoftReset(), siSpcSoftReset(), and smIS_SPCV().
Referenced by saInitialize().
GLOBAL bit32 siSpcSoftReset | ( | agsaRoot_t * | agRoot, |
bit32 | signature | ||
) |
Function to soft/FW reset the SPC.
The siSpcSoftReset() function is called to soft reset SPC. Upon return, the SPC FW got reset. The PCIe bus is not touched.
agRoot | handles for this instance of SAS/SATA hardware |
signature | soft reset normal signature or HDA soft reset signature |
Definition at line 926 of file sahw.c.
References agNULL, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, GPIO_ADDR_BASE, GPIO_GPIO_0_0UTPUT_CTL_OFFSET, GSM_ADDR_BASE, GSM_CONFIG_RESET, GSM_CONFIG_RESET_VALUE, GSM_READ_ADDR_PARITY_CHECK, GSM_READ_ADDR_PARITY_INDIC, GSM_WRITE_ADDR_PARITY_CHECK, GSM_WRITE_ADDR_PARITY_INDIC, GSM_WRITE_DATA_PARITY_CHECK, GSM_WRITE_DATA_PARITY_INDIC, hpDBG_VERY_LOUD, MAKE_MODULO, MBIC_AAP1_ADDR_BASE, MBIC_IOP_ADDR_BASE, MBIC_NMI_ENABLE_VPE0_AAP1, MBIC_NMI_ENABLE_VPE0_IOP, mpiWaitForConfigTable(), MSGU_HOST_SCRATCH_PAD_0, MSGU_ODCR, MSGU_ODMR, MSGU_SCRATCH_PAD_0, MSGU_SCRATCH_PAD_1, MSGU_SCRATCH_PAD_2, MSGU_SCRATCH_PAD_3, ODCR_CLEAR_ALL, ODMR_CLEAR_ALL, ossaHwRegRead(), ossaHwRegReadExt(), ossaHwRegWrite(), ossaHwRegWriteExt(), ossaStallThread(), PCIBAR1, PCIBAR2, PCIE_ERROR_INTERRUPT, PCIE_ERROR_INTERRUPT_ENABLE, PCIE_EVENT_INTERRUPT, PCIE_EVENT_INTERRUPT_ENABLE, RAM_ECC_DB_ERR, SA_ASSERT, SA_DBG1, SCRATCH_PAD1_RST, agsaContext_s::sdkData, siBar4Shift(), siSpcSoftResetRDYChk(), smTrace, smTraceFuncEnter, smTraceFuncExit, SPC_HDASOFT_RESET_SIGNATURE, SPC_REG_RESET, SPC_REG_RESET_BDMA_CORE, SPC_REG_RESET_OSSP, SPC_REG_RESET_PCS_AAP1_SS, SPC_REG_RESET_PCS_IOP_SS, SPC_SOFT_RESET_SIGNATURE, SPC_TOP_LEVEL_ADDR_BASE, WAIT_INCREMENT, and WAIT_SECONDS.
Referenced by saHwReset(), saHwShutdown(), saInitialize(), and siSoftReset().
GLOBAL agsaTimerDesc_t * siTimerAdd | ( | agsaRoot_t * | agRoot, |
bit32 | timeout, | ||
agsaCallback_t | pfnTimeout, | ||
bit32 | Event, | ||
void * | pParm | ||
) |
add a timer
add a timer
agRoot | handles for this instance of SAS/SATA hardware |
pTimer | the pointer to the timer being added |
timeout | the timeout ticks from now |
pfnTimeout | callback function when time is out |
Event | the Event code passed to callback function |
pParm | the pointer to parameter passed to callback function |
Definition at line 230 of file satimer.c.
References agNULL, agTRUE, agsaTimerDesc_s::Event, agsaLLRoot_s::freeTimers, hpDBG_VERY_LOUD, agsaTimerDesc_s::linkNode, LL_TIMER_LOCK, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaTimerDesc_s::pfnTimeout, agsaTimerDesc_s::pParm, saLlinkInitialize, saLlistAdd, saLlistGetHead, saLlistGetNext, saLlistInsert, saLlistRemove, agsaContext_s::sdkData, smTraceFuncEnter, smTraceFuncExit, agsaTimerDesc_s::timeoutTick, agsaLLRoot_s::timeTick, agsaTimerDesc_s::valid, and agsaLLRoot_s::validTimers.
Referenced by saInitialize().
GLOBAL void siTimerRemove | ( | agsaRoot_t * | agRoot, |
agsaTimerDesc_t * | pTimer | ||
) |
remove a valid timer
remove a timer
agRoot | handles for this instance of SAS/SATA hardware |
pTimer | the timer to be removed |
Definition at line 335 of file satimer.c.
References agFALSE, agTRUE, agsaLLRoot_s::freeTimers, hpDBG_VERY_LOUD, agsaTimerDesc_s::linkNode, LL_TIMER_LOCK, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), saLlistAdd, saLlistRemove, agsaContext_s::sdkData, smTraceFuncEnter, smTraceFuncExit, agsaTimerDesc_s::valid, and agsaLLRoot_s::validTimers.
GLOBAL void siTimerRemoveAll | ( | agsaRoot_t * | agRoot | ) |
remove all valid timer
remove all timer
agRoot | handles for this instance of SAS/SATA hardware |
Definition at line 373 of file satimer.c.
References agFALSE, agNULL, agsaLLRoot_s::freeTimers, hpDBG_VERY_LOUD, agsaTimerDesc_s::linkNode, LL_TIMER_LOCK, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), saLlistAdd, saLlistGetHead, saLlistRemove, agsaContext_s::sdkData, smTraceFuncEnter, smTraceFuncExit, agsaTimerDesc_s::valid, and agsaLLRoot_s::validTimers.
GLOBAL void siUpdateBarOffsetTable | ( | agsaRoot_t * | agRoot, |
bit32 | Spc_Type | ||
) |
agsaRoot | Pointer to a data structure containing both application and LL layer context handles |
Spc_type | Device Id of hardware |
Return: None
Definition at line 2768 of file sahw.c.
References agsaBarOffset_s::Bar, agsaBarOffset_s::Generic, hpDBG_VERY_LOUD, agsaBarOffset_s::Length, agsaBarOffset_s::Offset, SA_DBG1, SA_DBG4, SA_DBG5, agsaContext_s::sdkData, si_memcpy(), smTrace, smTraceFuncEnter, smTraceFuncExit, SPC_V_Table, agsaLLRoot_s::SpcBarOffset, SPCTable, and VEN_DEV_SPC.
Referenced by saInitialize().
GLOBAL bit32 smIS_ENCRYPT | ( | agsaRoot_t * | agRoot | ) |
Definition at line 510 of file sautil.c.
References smIS_ADAP8088, smIS_SPCV8009, smIS_SPCV8019, smIS_SPCV8071, smIS_SPCV8073, smIS_SPCV8077, smIS_SPCV9015, and smIS_SPCV9060.
GLOBAL bit32 smIS_HIL | ( | agsaRoot_t * | agRoot | ) |
Definition at line 446 of file sautil.c.
References smIS_ADAP8088, smIS_ADAP8089, smIS_spc8081, smIS_SPCV8074, smIS_SPCV8075, smIS_SPCV8076, and smIS_SPCV8077.
Referenced by mpiInitialize(), and si_macro_check().
GLOBAL bit32 smIS_SPC | ( | agsaRoot_t * | agRoot | ) |
Definition at line 437 of file sautil.c.
References smIS_SFC_AS_SPC, smIS_spc8001, and smIS_spc8081.
Referenced by mpiGetDeviceInfoCmd(), mpiHWevent(), mpiInitialize(), mpiParseOBIomb(), mpiPhyStartCmd(), mpiSetDeviceInfoCmd(), mpiUnInitConfigTable(), mpiWaitForConfigTable(), saGetControllerInfo(), saGetControllerStatus(), saGetRegisterDump(), saHwEventAck(), saHwReset(), saHwShutdown(), saInitialize(), saLocalPhyControl(), saPhyStop(), saRegisterNewDevice(), saSASDiagExecute(), saSendSMPIoctl(), saSMPStart(), saSSPStart(), saSystemInterruptsActive(), si_macro_check(), siBar4Shift(), siChipReset(), siGetForensicData(), siGSMDump(), and siProcessOBMsg().
GLOBAL bit32 smIS_SPC12V | ( | agsaRoot_t * | agRoot | ) |
Definition at line 470 of file sautil.c.
References smIS_SPCV8006, smIS_SPCV8070, smIS_SPCV8071, smIS_SPCV8072, smIS_SPCV8073, smIS_SPCV8074, smIS_SPCV8075, smIS_SPCV8076, smIS_SPCV8077, smIS_SPCV9015, and smIS_SPCV9060.
Referenced by mpiGetVHistRsp(), mpiInitialize(), mpiParseOBIomb(), mpiWaitForConfigTable(), saGetControllerInfo(), and smIS_SPCV().
GLOBAL bit32 smIS_SPC6V | ( | agsaRoot_t * | agRoot | ) |
Definition at line 459 of file sautil.c.
References smIS_ADAP8088, smIS_ADAP8089, smIS_SPCV8008, smIS_SPCV8009, smIS_SPCV8018, and smIS_SPCV8019.
Referenced by mpiInitialize(), mpiParseOBIomb(), mpiWaitForConfigTable(), saGetControllerInfo(), and smIS_SPCV().
GLOBAL bit32 smIS_SPCV | ( | agsaRoot_t * | agRoot | ) |
Definition at line 502 of file sautil.c.
References smIS_SFC_AS_V, smIS_SPC12V(), and smIS_SPC6V().
Referenced by mpiDeviceHandleArrived(), mpiDeviceRegRsp(), mpiDIFEncryptionOffloadCmd(), mpiGetDFEDataRsp(), mpiInitialize(), mpiParseOBIomb(), mpiPCIeDiagExecuteRsp(), mpiPhyStopEvent(), mpiReadCALTable(), mpiReadGSTable(), mpiSASDiagExecuteRsp(), mpiSASDiagStartEndRsp(), mpiSetDevInfoRsp(), mpiWaitForConfigTable(), mpiWriteCALAll(), mpiWriteCALTable(), saDIFEncryptionOffloadStart(), saEncryptGetMode(), saEncryptSetMode(), saGetControllerConfig(), saGetControllerInfo(), saGetDFEData(), saGetPhyProfile(), saGetRegisterDump(), saHwReset(), saHwShutdown(), saInitialize(), saLocalPhyControl(), saPCIeDiagExecute(), saReconfigSASParams(), saSASDiagExecute(), saSATAAbort(), saSetControllerConfig(), saSSPAbort(), saSystemInterruptsActive(), si_macro_check(), siBar4Shift(), siConfiguration(), siDumpActiveIORequests(), siGSMDump(), and siSoftReset().
GLOBAL bit32 smIS_SPCV_2_IOP | ( | agsaRoot_t * | agRoot | ) |
Definition at line 486 of file sautil.c.
References smIS_ADAP8088, smIS_ADAP8089, smIS_SPCV8006, smIS_SPCV8009, smIS_SPCV8018, smIS_SPCV8019, smIS_SPCV8071, smIS_SPCV8072, smIS_SPCV8073, smIS_SPCV8076, and smIS_SPCV8077.
Referenced by siChipResetV().
GLOBAL bit32 smIsCfg_V_ANY | ( | agsaRoot_t * | agRoot | ) |
Definition at line 412 of file sautil.c.
References smIS_SPCV8074, smIS_SPCV8075, smIS_SPCV8076, smIS_SPCV8077, smIsCfg_V8006, smIsCfg_V8008, smIsCfg_V8009, smIsCfg_V8018, smIsCfg_V8019, smIsCfg_V8025, smIsCfg_V8070, smIsCfg_V8071, smIsCfg_V8072, smIsCfg_V8073, smIsCfg_V8088, smIsCfg_V8089, smIsCfg_V9015, and smIsCfg_V9060.