33#define SA_CLEAR_ODCR_IN_INTERRUPT
37#ifdef SA_TEST_FW_SPURIOUS_INT
38bit32 gOurIntCount = 0;
39bit32 gSpuriousIntCount = 0;
40bit32 gSpuriousInt[64]=
51bit32 gSpuriousInt1[64]=
64#ifdef SA_ENABLE_TRACE_FUNCTIONS
68#define siTraceFileID 'G'
79 bit32 interruptVectorIndex
91 SA_DBG1((
"siFatalInterruptHandler: agRoot == agNULL\n"));
98 SA_DBG1((
"siFatalInterruptHandler: saRoot == agNULL\n"));
105 SA_DBG1((
"siFatalInterruptHandler: ResetFailed\n"));
121 SA_DBG1((
"siFatalInterruptHandler: AAP error state and error code 0x%x\n", value));
124 SA_DBG1((
"siFatalInterruptHandler: SCRATCH_PAD2 0x%08x\n", fatal_error.
errorInfo2 ));
126#if defined(SALLSDK_DEBUG)
157 SA_DBG1((
"siFatalInterruptHandler: SCRATCH_PAD2_HW_ERROR_INT_INDX_PCS_ERR 0x%08x\n", value));
161 SA_DBG1((
"siFatalInterruptHandler: SCRATCH_PAD2_HW_ERROR_INT_INDX_GSM_ERR 0x%08x\n", value));
165 SA_DBG1((
"siFatalInterruptHandler: SCRATCH_PAD2_HW_ERROR_INT_INDX_OSSP0_ERR 0x%08x\n", value));
169 SA_DBG1((
"siFatalInterruptHandler: SCRATCH_PAD2_HW_ERROR_INT_INDX_OSSP1_ERR 0x%08x\n", value));
173 SA_DBG1((
"siFatalInterruptHandler: SCRATCH_PAD2_HW_ERROR_INT_INDX_OSSP2_ERR 0x%08x\n", value));
177 SA_DBG1((
"siFatalInterruptHandler: SCRATCH_PAD2_HW_ERROR_INT_INDX_ERAAE_ERR 0x%08x\n", value));
181 SA_DBG1((
"siFatalInterruptHandler: SCRATCH_PAD2_HW_ERROR_INT_INDX_SDS_ERR 0x%08x\n", value));
185 SA_DBG1((
"siFatalInterruptHandler: SCRATCH_PAD2_HW_ERROR_INT_INDX_PCIE_CORE_ERR 0x%08x\n", value));
189 SA_DBG1((
"siFatalInterruptHandler: SCRATCH_PAD2_HW_ERROR_INT_INDX_PCIE_AL_ERR 0x%08x\n", value));
193 SA_DBG1((
"siFatalInterruptHandler: SCRATCH_PAD2_HW_ERROR_INT_INDX_MSGU_ERR 0x%08x\n", value));
197 SA_DBG1((
"siFatalInterruptHandler: SCRATCH_PAD2_HW_ERROR_INT_INDX_SPBC_ERR 0x%08x\n", value));
201 SA_DBG1((
"siFatalInterruptHandler: SCRATCH_PAD2_HW_ERROR_INT_INDX_BDMA_ERR 0x%08x\n", value));
205 SA_DBG1((
"siFatalInterruptHandler: SCRATCH_PAD2_HW_ERROR_INT_INDX_MCPSL2B_ERR 0x%08x\n", value));
209 SA_DBG1((
"siFatalInterruptHandler: SCRATCH_PAD2_HW_ERROR_INT_INDX_MCPSDC_ERR 0x%08x\n", value));
213 SA_DBG1((
"siFatalInterruptHandler: SCRATCH_PAD2_HW_ERROR_INT_INDX_UNDETERMINED_ERROR_OCCURRED 0x%08x\n", value));
240 SA_DBG1((
"siFatalInterruptHandler: SCRATCH_PAD2_FW_HW_NON_FATAL_ERR 0x%08x\n", value));
245 SA_DBG1((
"siFatalInterruptHandler: ScratchPad3 IOP error code 0x%08x\n", value));
268 SA_DBG1((
"siFatalInterruptHandler: ScratchPad2 0x%x ScratchPad3 0x%x\n",
279 if( host_reg0 == 0x2)
283 SA_DBG1((
"siFatalInterruptHandler: Non fatal ScratchPad1 0x%x HostR0 0x%x\n", value,host_reg0));
284 SA_DBG1((
"siFatalInterruptHandler: ScratchPad0 0x%x ScratchPad1 0x%x\n",
287 SA_DBG1((
"siFatalInterruptHandler: ScratchPad2 0x%x ScratchPad3 0x%x\n",
296 SA_DBG1((
"siFatalInterruptHandler: HDA_AES_DIF_FUNC 0x%x\n",
303 SA_DBG1((
"siFatalInterruptHandler: No error detected ScratchPad1 0x%x HostR0 0x%x\n", value,host_reg0));
304 SA_DBG1((
"siFatalInterruptHandler: ScratchPad0 0x%x ScratchPad1 0x%x\n",
307 SA_DBG1((
"siFatalInterruptHandler: ScratchPad2 0x%x ScratchPad3 0x%x\n",
311 SA_DBG1((
"siFatalInterruptHandler: Doorbell_Set %08X U %08X\n",
314 SA_DBG1((
"siFatalInterruptHandler: Doorbell_Mask %08X U %08X\n",
327 bit32 interruptVectorIndex
340 SA_DBG1((
"saFatalInterruptHandler: ResetFailed\n"));
346 SA_DBG1((
"saFatalInterruptHandler: fatalErrorInterrtupt is NOT enabled\n"));
353 SA_DBG1((
"saFatalInterruptHandler: interruptVectorIndex does not match 0x%x 0x%x\n",
355 SA_DBG1((
"saFatalInterruptHandler: ScratchPad0 0x%x ScratchPad1 0x%x\n",
358 SA_DBG1((
"saFatalInterruptHandler: ScratchPad2 0x%x ScratchPad3 0x%x\n",
390 bit32 interruptVectorIndex
394 bit32 ToBeProcessedCount = 0;
396#ifdef SA_TEST_FW_SPURIOUS_INT
405 return(ToBeProcessedCount);
410#ifdef SA_TEST_FW_SPURIOUS_INT
415 return(ToBeProcessedCount);
427#ifdef SA_PRINTOUT_IN_WINDBG
429 DbgPrint(
"saInterruptHandler: sysIntsActive not set Doorbell_Mask_Set %08X U %08X\n",
436 SA_DBG1((
"saInterruptHandler: Doorbell_Mask_Set %08X U %08X\n",
440 return(ToBeProcessedCount);
448#ifdef SA_TEST_FW_SPURIOUS_INT
475 bit32 interruptVectorIndex
479#ifndef SA_CLEAR_ODCR_IN_INTERRUPT
486#ifndef SA_CLEAR_ODCR_IN_INTERRUPT
487 value = (1 << interruptVectorIndex);
505 bit32 interruptVectorIndex
510 mask =( (
bit64)1 << interruptVectorIndex);
514 SA_DBG4((
"siDisableMSIX_V_Interrupts: VI %d U 0x%08X L 0x%08X\n",interruptVectorIndex,u64.
S32[1],u64.
S32[0]));
533 bit32 interruptVectorIndex
538 mask = 1 << interruptVectorIndex;
561 bit32 interruptVectorIndex
565 SA_DBG4((
"siDisableMSI_V_Interrupts:\n"));
582 bit32 interruptVectorIndex
586#ifndef SA_CLEAR_ODCR_IN_INTERRUPT
605 bit32 interruptVectorIndex
611 mask =( (
bit64)1 << interruptVectorIndex);
618 SA_DBG4((
"siDisableLegacy_V_Interrupts: VI %d U 0x%08X L 0x%08X\n",interruptVectorIndex,u64.
S32[1],u64.
S32[0]));
637 bit32 interruptVectorIndex
656 bit32 interruptVectorIndex
674 bit32 interruptVectorIndex
693 bit32 interruptVectorIndex
696 SA_DBG4((
":siOurMSI_V_Interrupt\n"));
713 bit32 interruptVectorIndex
746 bit32 interruptVectorIndex
774 bit32 interruptVectorIndex,
779 bit32 processedMsgCount = 0;
782#if defined(SALLSDK_DEBUG)
812#if defined(SALLSDK_DEBUG)
819 SA_DBG1((
"saDelayedInterruptHandler: Sp 1 %08X Hr0 %08X Hr1 %08X\n",pad1,host_reg0,host_reg1 ));
832 SA_DBG2((
"saDelayedInterruptHandler: Fatal Check VI %d SCRATCH_PAD1 %08X host_reg0 %08X host_reg1 %08X\n",interruptVectorIndex, pad1,host_reg0,host_reg1));
833 SA_DBG2((
"saDelayedInterruptHandler: ScratchPad0 0x%x ScratchPad1 0x%x\n",
836 SA_DBG2((
"saDelayedInterruptHandler: ScratchPad2 0x%x ScratchPad3 0x%x\n",
840 SA_DBG2((
"saDelayedInterruptHandler: Doorbell_Set %08X U %08X\n",
843 SA_DBG2((
"saDelayedInterruptHandler: Doorbell_Mask %08X U %08X\n",
851#ifdef SA_LNX_PERF_MODE
872#ifdef SA_FW_TEST_INTERRUPT_REASSERT
873 else if (saRoot->CheckAll)
895#ifdef SA_FW_TEST_INTERRUPT_REASSERT
896 else if (saRoot->CheckAll)
905#ifdef SA_FW_TEST_INTERRUPT_REASSERT
906 saRoot->CheckAll = 0;
909#ifndef SA_RENABLE_IN_OSLAYER
920 return processedMsgCount;
937 bit32 interruptVectorIndex
941#ifdef SA_CLEAR_ODCR_IN_INTERRUPT
948 SA_DBG4((
"siReenableMSIXInterrupts:interruptVectorIndex %d\n",interruptVectorIndex));
950#ifdef SA_CLEAR_ODCR_IN_INTERRUPT
951 value = (1 << interruptVectorIndex);
969 bit32 interruptVectorIndex
975 mask =( (
bit64)1 << interruptVectorIndex);
978 SA_DBG4((
"siReenableMSIX_V_Interrupts:\n"));
984 SA_DBG4((
"siReenableMSIX_V_Interrupts: VI %d U 0x%08X L 0x%08X\n",interruptVectorIndex,u64.
S32[1],u64.
S32[0]));
991 SA_DBG1((
"siReenableMSIX_V_Interrupts: VI %d sysIntsActive off\n",interruptVectorIndex));
1010 bit32 interruptVectorIndex
1016 ODMRValue &= ~(1 << interruptVectorIndex);
1035 bit32 interruptVectorIndex
1040 SA_DBG4((
"siReenableMSI_V_Interrupts:\n"));
1057 bit32 interruptVectorIndex
1062#ifdef SA_CLEAR_ODCR_IN_INTERRUPT
1081 bit32 interruptVectorIndex
1086 mask = 1 << interruptVectorIndex;
1123 bit32 interruptVectorIndex
1150 bit32 ret, processedMsgCount = 0;
1151 bit32 ParseOBIombStatus = 0;
1152#ifdef SA_ENABLE_TRACE_FUNCTIONS
1162 SA_DBG3((
"siProcessOBMsg: queueNum 0x%x\n", queueNum));
1173 return processedMsgCount;
1181 ret =
mpiMsgConsume(circularQ, &pMsg1, &category, &opcode, &bc);
1193#ifdef SA_ENABLE_TRACE_FUNCTIONS
1216#if defined(SALLSDK_DEBUG)
1220 processedMsgCount ++;
1227 processedMsgCount ++;
1237 while(count > processedMsgCount);
1261#if defined(SALLSDK_FATAL_ERROR_DETECT)
1283 SA_DBG1((
"siProcessOBMsg: ScratchPad0 AAP error code 0x%x\n", value));
1288 SA_DBG1((
"siProcessOBMsg: AAP error state and error code 0x%x\n", value));
1292 SA_DBG1((
"siProcessOBMsg: IOP error state and error code 0x%x\n", value));
1294 SA_DBG1((
"siProcessOBMsg: ScratchPad3 IOP error code 0x%x\n", value));
1316 SA_DBG1((
"siProcessOBMsg: SALLSDK_FATAL_ERROR_DETECT \n"));
1323 return processedMsgCount;
1351 SA_DBG1((
"saSystemInterruptsActive: agRoot == agNULL\n"));
1358 SA_DBG1((
"saSystemInterruptsActive: saRoot == agNULL\n"));
1363 SA_DBG1((
"saSystemInterruptsActive: now 0x%X new 0x%x\n",saRoot->
sysIntsActive,sysIntsActive));
1364 SA_DBG3((
"saSystemInterruptsActive: Doorbell_Set %08X U %08X\n",
1367 SA_DBG3((
"saSystemInterruptsActive: Doorbell_Mask %08X U %08X\n",
1373 SA_DBG1((
"saSystemInterruptsActive: Already active 0x%X new 0x%x\n",saRoot->
sysIntsActive,sysIntsActive));
1389 SA_DBG1((
"saSystemInterruptsActive: Already disabled 0x%X new 0x%x\n",saRoot->
sysIntsActive,sysIntsActive));
1401 if (
agTRUE == sysIntsActive )
1404 SA_DBG1((
"saSystemInterruptsActive: Doorbell_Set %08X U %08X\n",
1407 SA_DBG1((
"saSystemInterruptsActive: Doorbell_Mask_Set %08X U %08X\n",
1443 SA_DBG3((
"saSystemInterruptsActive: Doorbell_Set %08X U %08X\n",
1446 SA_DBG3((
"saSystemInterruptsActive: Doorbell_Mask %08X U %08X\n",
1500 count = *(
bit32 *)((
bit8 *)pRespIU + param + padCount);
1516 SA_DBG1((
"siEventSSPResponseWtDataRcvd: saving pRequest (%p) for later use\n", pRequest));
1529 SA_DBG1((
"siEventSSPResponseWtDataRcvd: pRequest->Valid not TRUE\n"));
1595 SA_DBG5((
"siIODone: SATA complete\n"));
1599 SA_DBG5((
"siIODone: Complete Request\n"));
1636 SA_DBG1((
"siIODone: saving pRequest (%p) for later use\n", pRequest));
1651 SA_DBG1((
"siIODone: unknown request type (%x) is completed. HTag=0x%x\n", pRequest->
requestType, pRequest->
HTag));
1658 SA_DBG1((
"siIODone: The request is not valid any more. HTag=0x%x requestType=0x%x\n", pRequest->
HTag, pRequest->
requestType));
1693 SA_DBG1((
"siAbnormal: pRequest is NULL.\n"));
1736 SA_DBG1((
"siAbnormal: saving pRequest (%p) for later use\n", pRequest));
1750 SA_DBG5((
"siAbnormal: SATA \n"));
1754 SA_DBG5((
"siAbnormal: Calling SATACompletedCB\n"));
1771 SA_DBG1((
"siAbnormal: saving pRequest (%p) for later use\n", pRequest));
1801 SA_DBG1((
"siAbnormal: saving pRequest (%p) for later use\n", pRequest));
1815 SA_DBG1((
"siAbnormal: unknown request type (%x) is completed. Tag=0x%x\n", pRequest->
requestType, pRequest->
HTag));
1823 SA_DBG1((
"siAbnormal: The request is not valid any more. Tag=0x%x\n", pRequest->
HTag));
1861 SA_DBG1((
"siDifAbnormal: pRequest is NULL.\n"));
1887 si_memset(&agDifDetails, 0,
sizeof(agDifDetails));
1917 SA_DBG1((
"siDifAbnormal: saving pRequest (%p) for later use\n", pRequest));
1931 SA_DBG1((
"siDifAbnormal: unknown request type (%x) is completed. Tag=0x%x\n", pRequest->
requestType, pRequest->
HTag));
1939 SA_DBG1((
"siDifAbnormal: The request is not valid any more. Tag=0x%x\n", pRequest->
HTag));
1981 pPort = pRequest->
pPort;
1984 if (pRequest->
IRmode == 0)
1988#if defined(SALLSDK_DEBUG)
1989 SA_DBG3((
"saSMPRespRcvd(direct): smpRspPtr=0x%p - len=0x%x\n",
2016 if (
agNULL == frameHandle)
2038 SA_DBG1((
"siSMPRespRcvd: saving pRequest (%p) for later use\n", pRequest));
2087 remoteIdentify = *agSASIdentify;
2093 SA_DBG2((
"siEventPhyUpRcvd: portID %d PortContext %p linkRate 0x%X\n", portId, agPortContext,linkRate));
2096 SA_DBG1((
"siEventPhyUpRcvd: SAS_PHY_UP received for SATA Controller\n"));
2100 if (
agNULL != agPortContext)
2114 pPort->
status &= ~PORT_INVALIDATING;
2116 SA_DBG1((
"siEventPhyUpRcvd: portID %d PortContext %p, hitting workaround\n", portId, agPortContext));
2161 pPort->
status &= ~PORT_INVALIDATING;
2171 phyId = (linkRate <<
SHIFT8) | phyId;
2213#if defined(SALLSDK_DEBUG)
2221 SA_DBG5((
"siEventSATASignatureRcvd: About to read the signatureFIS data\n"));
2224 SA_DBG5((
"agsaFisRegDeviceToHost_t:\n"));
2247 SA_DBG5((
"siEventSATASignatureRcvd: GOOD signatureFIS data\n"));
2249#if defined(SALLSDK_DEBUG)
2252 pPhy->remoteSignature[1] = (
bit8) fisD2H->
d.
lbaLow;
2253 pPhy->remoteSignature[2] = (
bit8) fisD2H->
d.
lbaMid;
2255 pPhy->remoteSignature[4] = (
bit8) fisD2H->
d.
device;
2262 SA_DBG2((
"siEventSATASignatureRcvd: portID %d PortContext %p\n", portId, agPortContext));
2264 if (
agNULL != agPortContext)
2316 pPort->
status &= ~PORT_INVALIDATING;
2321 SA_DBG1((
"siEventSATASignatureRcvd: PortInvalid portID %d PortContext %p\n", portId, saRoot->
PortMap[portId].
PortContext));
2326 phyId = (linkRate <<
SHIFT8) | phyId;
2380 saRoot->LLCounters.IOCounter.numSSPCompleted++;
2381 SA_DBG3((
"mpiParseOBIomb, SSP_COMP Response received IOMB=%p %d\n",
2382 pMsg1, saRoot->LLCounters.IOCounter.numSSPCompleted));
2384 SA_DBG3((
"mpiParseOBIomb, OPC_OUB_COMBINED_SSP_COMP Response received IOMB=%p\n", pMsg1));
2396 SA_DBG1((
"mpiParseOBIomb,OPC_OUB_COMBINED_SSP_COMP Resp IOMB tag=0x%x, status=0x%x, param=0x%x, SSPTag=0x%x\n", tag,
OSSA_IO_SUCCESS, 0, sspTag));
2397#ifdef SA_ENABLE_PCI_TRIGGER
2407#ifdef SA_ENABLE_PCI_TRIGGER
2408 if(!pRequest->
valid)
2418 SA_DBG3((
"mpiParseOBIomb, OPC_OUB_COMBINED_SSP_COMP IOMB tag=0x%x, status=0x%x, param=0x%x, SSPTag=0x%x\n", tag,
OSSA_IO_SUCCESS, 0, sspTag));
2429 saRoot->LLCounters.IOCounter.numSSPCompleted++;
2430 SA_DBG3((
"mpiParseOBIomb, SSP_COMP Response received IOMB=%p %d\n",
2431 pMsg1, saRoot->LLCounters.IOCounter.numSSPCompleted));
2433 SA_DBG3((
"mpiParseOBIomb, SSP_COMP Response received IOMB=%p\n", pMsg1));
2446 #ifdef SALL_API_TEST
2447 saRoot->LLCounters.IOCounter.numSSPCompleted++;
2448 SA_DBG3((
"mpiParseOBIomb, OPC_OUB_COMBINED_SATA_COMP Response received IOMB=%p %d\n",
2449 pMsg1, saRoot->LLCounters.IOCounter.numSSPCompleted));
2451 SA_DBG3((
"mpiParseOBIomb, OPC_OUB_COMBINED_SATA_COMP Response received IOMB=%p\n", pMsg1));
2464 SA_DBG1((
"mpiParseOBIomb,OPC_OUB_COMBINED_SATA_COMP Resp IOMB tag=0x%x, status=0x%x, param=0x%x\n", tag,
OSSA_IO_SUCCESS, 0));
2469 SA_DBG3((
"mpiParseOBIomb, OPC_OUB_COMBINED_SATA_COMP IOMB tag=0x%x, status=0x%x, param=0x%x\n", tag,
OSSA_IO_SUCCESS, 0));
2479 saRoot->LLCounters.IOCounter.numSataCompleted++;
2480 SA_DBG3((
"mpiParseOBIomb, SATA_COMP Response received IOMB=%p %d\n",
2481 pMsg1, saRoot->LLCounters.IOCounter.numSataCompleted));
2483 SA_DBG3((
"mpiParseOBIomb, SATA_COMP Response received IOMB=%p\n", pMsg1));
2492 saRoot->LLCounters.IOCounter.numSSPAbortedCB++;
2494 SA_DBG3((
"mpiParseOBIomb, SSP_ABORT Response received IOMB=%p\n", pMsg1));
2500 SA_DBG3((
"mpiParseOBIomb, mpiSSPAbortRsp FAIL IOMB=%p\n", pMsg1));
2508 saRoot->LLCounters.IOCounter.numSataAbortedCB++;
2510 SA_DBG3((
"mpiParseOBIomb, SATA_ABORT Response received IOMB=%p\n", pMsg1));
2518 SA_DBG3((
"mpiParseOBIomb, SATA_EVENT Response received IOMB=%p\n", pMsg1));
2525 SA_DBG3((
"mpiParseOBIomb, SSP_EVENT Response received IOMB=%p\n", pMsg1));
2533 saRoot->LLCounters.IOCounter.numSMPCompleted++;
2534 SA_DBG3((
"mpiParseOBIomb, SMP_COMP Response received IOMB=%p, %d\n",
2535 pMsg1, saRoot->LLCounters.IOCounter.numSMPCompleted));
2537 SA_DBG3((
"mpiParseOBIomb, SMP_COMP Response received IOMB=%p\n", pMsg1));
2546 saRoot->LLCounters.IOCounter.numEchoCB++;
2547 SA_DBG3((
"mpiParseOBIomb, ECHO Response received %d\n", saRoot->LLCounters.IOCounter.numEchoCB));
2549 SA_DBG3((
"mpiParseOBIomb, ECHO Response received\n"));
2557 SA_DBG3((
"mpiParseOBIomb, OPC_OUB_GET_NVMD_DATA received IOMB=%p\n", pMsg1));
2565 SA_DBG3((
"mpiParseOBIomb, OPC_OUB_SPC_HW_EVENT Response received IOMB=%p\n", pMsg1));
2572 SA_DBG3((
"mpiParseOBIomb, HW_EVENT Response received IOMB=%p\n", pMsg1));
2579 SA_DBG1((
"mpiParseOBIomb, OPC_OUB_PHY_START_RESPONSE Response received IOMB=%p\n", pMsg1));
2587 SA_DBG1((
"mpiParseOBIomb, OPC_OUB_PHY_STOP_RESPONSE Response received IOMB=%p\n", pMsg1));
2595 SA_DBG3((
"mpiParseOBIomb, PHY CONTROL Response received IOMB=%p\n", pMsg1));
2603 SA_DBG3((
"mpiParseOBIomb, OPC_OUB_SPC_DEV_REGIST Response received IOMB=%p\n", pMsg1));
2610 SA_DBG2((
"mpiParseOBIomb, DEV_REGISTRATION Response received IOMB=%p\n", pMsg1));
2617 SA_DBG3((
"mpiParseOBIomb, DEREGISTRATION DEVICE Response received IOMB=%p\n", pMsg1));
2624 SA_DBG3((
"mpiParseOBIomb, GET_DEV_HANDLE Response received IOMB=%p\n", pMsg1));
2631 SA_DBG3((
"mpiParseOBIomb, SPC_DEV_HANDLE_ARRIV Response received IOMB=%p\n", pMsg1));
2638 SA_DBG3((
"mpiParseOBIomb, DEV_HANDLE_ARRIV Response received IOMB=%p\n", pMsg1));
2645 SA_DBG3((
"mpiParseOBIomb, SSP_RECV_EVENT Response received IOMB=%p\n", pMsg1));
2653 SA_DBG3((
"mpiParseOBIomb, DEV_INFO Response received IOMB=%p\n", pMsg1));
2661 SA_DBG2((
"mpiParseOBIomb, OPC_OUB_GET_PHY_PROFILE_RSP Response received IOMB=%p\n", pMsg1));
2669 SA_DBG3((
"mpiParseOBIomb, OPC_OUB_SET_PHY_PROFILE_RSP Response received IOMB=%p\n", pMsg1));
2677 SA_DBG3((
"mpiParseOBIomb, DEV_INFO Response received IOMB=%p\n", pMsg1));
2684 SA_DBG3((
"mpiParseOBIomb, OPC_OUB_FW_FLASH_UPDATE Response received IOMB=%p\n", pMsg1));
2691 SA_DBG3((
"mpiParseOBIomb, OPC_OUB_FLASH_OP_EXT_RSP Response received IOMB=%p\n", pMsg1));
2696#ifdef SPC_ENABLE_PROFILE
2699 SA_DBG3((
"mpiParseOBIomb, OPC_OUB_FW_PROFILE Response received IOMB=%p\n", pMsg1));
2701 mpiFwProfileRsp(agRoot, (agsaFwProfileRsp_t *)pMsg1);
2707 SA_DBG3((
"mpiParseOBIomb, OPC_OUB_SET_NVMD_DATA received IOMB=%p\n", pMsg1));
2714 SA_DBG3((
"mpiParseOBIomb, OPC_OUB_SET_GPIO_RESPONSE Response received IOMB=%p\n", pMsg1));
2721 SA_DBG3((
"mpiParseOBIomb, OPC_OUB_SET_GPIO_RESPONSE Response received IOMB=%p\n", pMsg1));
2728 SA_DBG3((
"mpiParseOBIomb, OPC_OUB_SET_GENERAL_EVENT Response received IOMB=%p\n", pMsg1));
2735 SA_DBG3((
"mpiParseOBIomb, OPC_OUB_SAS_DIAG_MODE_START_END Response received IOMB=%p\n", pMsg1));
2742 SA_DBG3((
"mpiParseOBIomb, OPC_OUB_SAS_DIAG_EXECUTE_RSP Response received IOMB=%p\n", pMsg1));
2749 SA_DBG3((
"mpiParseOBIomb, OPC_OUB_GET_TIME_STAMP Response received IOMB=%p\n", pMsg1));
2758 SA_DBG3((
"mpiParseOBIomb,OPC_OUB_SPC_SAS_HW_EVENT_ACK Response received IOMB=%p\n", pMsg1));
2767 SA_DBG1((
"mpiParseOBIomb, OPC_OUB_SAS_HW_EVENT_ACK Response received IOMB=%p\n", pMsg1));
2774 SA_DBG1((
"mpiParseOBIomb, OPC_OUB_PORT_CONTROL Response received IOMB=%p\n", pMsg1));
2782 saRoot->LLCounters.IOCounter.numSMPAbortedCB++;
2783 SA_DBG3((
"mpiParseOBIomb, SMP_ABORT Response received IOMB=%p, %d\n",
2784 pMsg1, saRoot->LLCounters.IOCounter.numSMPAbortedCB));
2786 SA_DBG3((
"mpiParseOBIomb, OPC_OUB_SMP_ABORT_RSP Response received IOMB=%p\n", pMsg1));
2794 SA_DBG3((
"mpiParseOBIomb, OPC_OUB_DEVICE_HANDLE_REMOVAL received IOMB=%p\n", pMsg1));
2801 SA_DBG3((
"mpiParseOBIomb, OPC_OUB_SET_DEVICE_STATE received IOMB=%p\n", pMsg1));
2808 SA_DBG3((
"mpiParseOBIomb, OPC_OUB_GET_DEVICE_STATE received IOMB=%p\n", pMsg1));
2815 SA_DBG3((
"mpiParseOBIomb, OPC_OUB_SET_DEV_INFO received IOMB=%p\n", pMsg1));
2823 SA_DBG3((
"mpiParseOBIomb, OPC_OUB_SAS_RE_INITIALIZE received IOMB=%p\n", pMsg1));
2831 SA_DBG3((
"mpiParseOBIomb, OPC_OUB_SGPIO_RESPONSE Response received IOMB=%p\n", pMsg1));
2839 SA_DBG3((
"mpiParseOBIomb, OPC_OUB_PCIE_DIAG_EXECUTE Response received IOMB=%p\n", pMsg1));
2847 SA_DBG3((
"mpiParseOBIomb, OPC_INB_GET_VIST_CAP Response received IOMB=%p\n", pMsg1));
2856 SA_DBG3((
"mpiParseOBIomb, OPC_OUB_GET_DFE_DATA_RSP Response received IOMB=%p\n", pMsg1));
2862 SA_DBG3((
"mpiParseOBIomb, OPC_INB_GET_VIST_CAP Response received IOMB=%p\n", pMsg1));
2868 SA_DBG1((
"mpiParseOBIomb, 2104 Response received IOMB=%p\n", pMsg1));
2875 SA_DBG3((
"mpiParseOBIomb, OPC_OUB_SET_CONTROLLER_CONFIG Response received IOMB=%p\n", pMsg1));
2881 SA_DBG3((
"mpiParseOBIomb, OPC_OUB_GET_CONTROLLER_CONFIG Response received IOMB=%p\n", pMsg1));
2887 SA_DBG3((
"mpiParseOBIomb, OPC_OUB_KEK_MANAGEMENT Response received IOMB=%p\n", pMsg1));
2893 SA_DBG3((
"mpiParseOBIomb, OPC_OUB_DEK_MANAGEMENT Response received IOMB=%p\n", pMsg1));
2899 SA_DBG1((
"mpiParseOBIomb, OPC_OUB_OPR_MGMT Response received IOMB=%p\n", pMsg1));
2905 SA_DBG1((
"mpiParseOBIomb, OPC_OUB_ENC_TEST_EXECUTE Response received IOMB=%p\n", pMsg1));
2911 SA_DBG1((
"mpiParseOBIomb, OPC_OUB_SET_OPERATOR Response received IOMB=%p\n", pMsg1));
2917 SA_DBG1((
"mpiParseOBIomb, OPC_OUB_GET_OPERATOR Response received IOMB=%p\n", pMsg1));
2924 SA_DBG1((
"mpiParseOBIomb, OPC_OUB_DIF_ENC_OFFLOAD_RSP Response received IOMB=%p\n", pMsg1));
2932 saRoot->LLCounters.IOCounter.numUNKNWRespIOMB++;
2933 SA_DBG1((
"mpiParseOBIomb, UnKnown Response received IOMB=%p, %d\n",
2934 pMsg1, saRoot->LLCounters.IOCounter.numUNKNWRespIOMB));
2936 SA_DBG1((
"mpiParseOBIomb, Unknown IOMB Response received opcode 0x%X IOMB=%p\n",opcode, pMsg1));
2974 bit32 *agFirstDword;
2983 SA_DBG3((
"mpiSATACompletion: start, HTAG=0x%x\n", tag));
2991 SA_DBG1((
"mpiSATACompletion: agNULL == pRequest tag 0x%X status 0x%X\n",tag,
status ));
2997 if(!pRequest->
valid)
2999 SA_DBG1((
"mpiSATACompletion: not valid IOMB tag=0x%x status=0x%x param=0x%x Device =0x%x\n", tag,
status, param,
3007 SA_DBG3((
"mpiSATACompletion: OSSA_IO_SUCCESS, param=0x%x\n", param));
3016 agFirstDword = &pIomb1[3];
3022 SA_DBG2((
"mpiSATACompletion: param 0x%x agFirstDwordResp 0x%x Resp 0x%x tag 0x%x\n",param,*agFirstDword,*pResp ,tag));
3030 SA_DBG2((
"mpiSATACompletion: OSSA_IO_ABORTED tag 0x%X\n", tag));
3038 SA_DBG1((
"mpiSATACompletion, OSSA_IO_UNDERFLOW tag 0x%X\n", tag));
3046 SA_DBG1((
"mpiSATACompletion, OSSA_IO_NO_DEVICE tag 0x%X\n", tag));
3053 SA_DBG1((
"mpiSATACompletion, OSSA_IO_XFER_ERROR_BREAK SPC tag 0x%X\n", tag));
3060 SA_DBG1((
"mpiSATACompletion, OSSA_IO_XFER_ERROR_PHY_NOT_READY tag 0x%X\n", tag));
3067 SA_DBG1((
"mpiSATACompletion, OSSA_IO_OPEN_CNX_ERROR_PROTOCOL_NOT_SUPPORTED tag 0x%X\n", tag));
3074 SA_DBG1((
"mpiSATACompletion, OSSA_IO_OPEN_CNX_ERROR_ZONE_VIOLATION tag 0x%X\n", tag));
3081 SA_DBG1((
"mpiSATACompletion, OSSA_IO_OPEN_CNX_ERROR_BREAK SPC tag 0x%X\n", tag));
3088 SA_DBG1((
"mpiSATACompletion, OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS tag 0x%X\n", tag));
3095 SA_DBG1((
"mpiSATACompletion, OSSA_IO_OPEN_CNX_ERROR_BAD_DESTINATION tag 0x%X\n", tag));
3102 SA_DBG1((
"mpiSATACompletion, OSSA_IO_OPEN_CNX_ERROR_CONNECTION_RATE_NOT_SUPPORTED tag 0x%X\n", tag));
3109 SA_DBG1((
"mpiSATACompletion, OSSA_IO_OPEN_CNX_ERROR_STP_RESOURCES_BUSY tag 0x%X\n", tag));
3116 SA_DBG1((
"mpiSATACompletion, OSSA_IO_OPEN_CNX_ERROR_WRONG_DESTINATION tag 0x%X\n", tag));
3123 SA_DBG1((
"mpiSATACompletion, OSSA_IO_XFER_ERROR_NAK_RECEIVED tag 0x%X\n", tag));
3130 SA_DBG1((
"mpiSATACompletion, OSSA_IO_XFER_ERROR_DMA tag 0x%X\n", tag));
3137 SA_DBG1((
"mpiSATACompletion, OSSA_IO_XFER_ERROR_SATA_LINK_TIMEOUT tag 0x%X\n", tag));
3144 SA_DBG1((
"mpiSATACompletion, OSSA_IO_XFER_ERROR_REJECTED_NCQ_MODE tag 0x%X\n", tag));
3151 SA_DBG1((
"mpiSATACompletion, OSSA_IO_XFER_OPEN_RETRY_TIMEOUT tag 0x%X\n", tag));
3158 SA_DBG1((
"mpiSATACompletion: OSSA_IO_PORT_IN_RESET tag 0x%X\n", tag));
3165 SA_DBG1((
"mpiSATACompletion: OSSA_IO_DS_NON_OPERATIONAL tag 0x%X\n", tag));
3172 SA_DBG1((
"mpiSATACompletion: OSSA_IO_DS_IN_RECOVERY tag 0x%X\n", tag));
3179 SA_DBG1((
"mpiSATACompletion: OSSA_IO_DS_IN_ERROR tag 0x%X\n", tag));
3187 SA_DBG1((
"mpiSATACompletion: OSSA_IO_OPEN_CNX_ERROR_HW_RESOURCE_BUSY tag 0x%X\n", tag));
3194 SA_DBG1((
"mpiSATACompletion: OSSA_IO_ABORT_IN_PROGRESS tag 0x%X\n", tag));
3201 SA_DBG1((
"mpiSATACompletion: OSSA_IO_ABORT_DELAYED tag 0x%X\n", tag));
3208 SA_DBG1((
"mpiSATACompletion: OSSA_IO_OPEN_CNX_ERROR_HW_RESOURCE_BUSY_ALT tag 0x%X\n", tag));
3215 SA_DBG1((
"mpiSATACompletion: OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_RETRY_BACKOFF_THRESHOLD_REACHED HTAG = 0x%x\n", tag));
3222 SA_DBG1((
"mpiSATACompletion, OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_TMO tag 0x%x\n", tag));
3229 SA_DBG1((
"mpiSATACompletion, OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_NO_DEST tag 0x%x\n", tag));
3236 SA_DBG1((
"mpiSATACompletion, OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_COLLIDE tag 0x%x\n", tag));
3243 SA_DBG1((
"mpiSATACompletion, OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_PATHWAY_BLOCKED tag 0x%x\n", tag));
3250 SA_DBG1((
"mpiSATACompletion: OSSA_IO_DS_INVALID tag 0x%X\n", tag));
3257 SA_DBG1((
"mpiSATACompletion: OSSA_IO_XFER_ERR_LAST_PIO_DATAIN_CRC_ERR tag 0x%X\n", tag));
3264 SA_DBG1((
"mpiSATACompletion: OSSA_MPI_IO_RQE_BUSY_FULL tag 0x%X\n", tag));
3272 SA_DBG1((
"mpiSATACompletion: OSSA_IO_XFER_ERR_EOB_DATA_OVERRUN tag 0x%x\n", tag));
3280 SA_DBG1((
"mpiSATACompletion: OPC_OUB_SATA_COMP:OSSA_MPI_ERR_IO_RESOURCE_UNAVAILABLE \n"));
3287 SA_DBG1((
"mpiSATACompletion: OSSA_MPI_ERR_ATAPI_DEVICE_BUSY tag 0x%X\n", tag));
3294 SA_DBG1((
"mpiSATACompletion: OSSA_IO_XFR_ERROR_DEK_KEY_CACHE_MISS tag 0x%X\n", tag));
3301 SA_DBG1((
"mpiSATACompletion: OSSA_IO_XFR_ERROR_CIPHER_MODE_INVALID tag 0x%X\n", tag));
3308 SA_DBG1((
"mpiSATACompletion: OSSA_IO_XFR_ERROR_DEK_IV_MISMATCH tag 0x%X\n", tag));
3315 SA_DBG1((
"mpiSATACompletion: OSSA_IO_XFR_ERROR_DEK_RAM_INTERFACE_ERROR tag 0x%X\n", tag));
3322 SA_DBG1((
"mpiSATACompletion: OSSA_IO_OPEN_CNX_ERROR_OPEN_PREEMPTED tag 0x%X\n", tag));
3330 SA_DBG1((
"mpiSATACompletion: OSSA_IO_XFR_ERROR_DEK_KEY_TAG_MISMATCH tag 0x%X\n", tag));
3337 SA_DBG1((
"mpiSATACompletion: OSSA_IO_XFR_ERROR_DEK_INDEX_OUT_OF_BOUNDS tag 0x%X\n", tag));
3344 SA_DBG1((
"mpiSATACompletion: OSSA_IO_XFR_ERROR_DEK_ILLEGAL_TABLE tag 0x%X\n", tag));
3352 SA_DBG1((
"mpiSATACompletion: Unknown status 0x%x tag 0x%x\n",
status, tag));
3360 if (pRequest->
HTag != tag)
3362 SA_DBG1((
"mpiSATACompletion: Error Htag %d not equal IOMBtag %d\n", pRequest->
HTag, tag));
3410 SA_DBG1((
"mpiSSPCompletion,AGSA_RC_FAILURE SSP Resp IOMB tag=0x%x, status=0x%x, param=0x%x, SSPTag=0x%x\n", tag,
status, param, sspTag));
3416 if(!pRequest->
valid)
3418 SA_DBG1((
"mpiSSPCompletion, SSP Resp IOMB tag=0x%x, status=0x%x, param=0x%x, SSPTag=0x%x Device =0x%x\n", tag,
status, param, sspTag,
3435 if (pRespIU->
status == 0x02 || pRespIU->
status == 0x18 ||
3440 SA_DBG2((
"mpiSSPCompletion: pRespIU->status 0x%x tag 0x%x\n", pRespIU->
status,tag));
3450 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_XFR_ERROR_INVALID_SSP_RSP_FRAME tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3454 if (pRespIU->
status == 0x02 || pRespIU->
status == 0x18 ||
3459 SA_DBG2((
"mpiSSPCompletion: pRespIU->status 0x%x tag 0x%x\n", pRespIU->
status,tag));
3469 saRoot->LLCounters.IOCounter.numSSPAborted++;
3470 SA_DBG3((
"mpiSSPCompletion, OSSA_IO_ABORTED Response received IOMB=%p %d\n",
3471 pIomb1, saRoot->LLCounters.IOCounter.numSSPAborted));
3473 SA_DBG2((
"mpiSSPCompletion, OSSA_IO_ABORTED IOMB tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3482 SA_DBG2((
"mpiSSPCompletion, OSSA_IO_UNDERFLOW tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3489 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_NO_DEVICE tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3496 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_XFER_ERROR_BREAK tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3503 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_XFER_ERROR_PHY_NOT_READY tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3510 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_OPEN_CNX_ERROR_PROTOCOL_NOT_SUPPORTED tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3519 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_OPEN_CNX_ERROR_ZONE_VIOLATION tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3524 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_OPEN_CNX_ERROR_BREAK tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3531 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3538 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_OPEN_CNX_ERROR_BAD_DESTINATION tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3545 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_OPEN_CNX_ERROR_CONNECTION_RATE_NOT_SUPPORTED tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3552 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_OPEN_CNX_ERROR_WRONG_DESTINATION tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3559 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_XFER_ERROR_NAK_RECEIVED tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3566 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_XFER_ERROR_ACK_NAK_TIMEOUT tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3573 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_XFER_ERROR_DMA tag 0x%x ssptag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3580 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_XFER_OPEN_RETRY_TIMEOUT tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3587 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_XFER_ERROR_UNEXPECTED_PHASE tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3594 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_XFER_ERROR_OFFSET_MISMATCH tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3601 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_PORT_IN_RESET tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3608 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_DS_NON_OPERATIONAL tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3615 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_DS_IN_RECOVERY tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3622 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_TM_TAG_NOT_FOUND tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3629 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_XFER_PIO_SETUP_ERROR tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3637 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_SSP_IU_ZERO_LEN_ERROR tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3644 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_DS_IN_ERROR tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3652 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_OPEN_CNX_ERROR_HW_RESOURCE_BUSY tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3660 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_ABORT_IN_PROGRESS tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3668 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_ABORT_DELAYED tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3676 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_INVALID_LENGTH tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3684 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_OPEN_CNX_ERROR_HW_RESOURCE_BUSY_ALT tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3692 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_RETRY_BACKOFF_THRESHOLD_REACHED HTAG = 0x%x ssptag = 0x%x\n", tag, sspTag));
3699 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_TMO tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3706 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_NO_DEST tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3713 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_COLLIDE tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3720 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_PATHWAY_BLOCKED tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3727 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_DS_INVALID tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3734 SA_DBG1((
"mpiSSPCompletion: OSSA_MPI_IO_RQE_BUSY_FULL tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3741 SA_DBG1((
"mpiSSPCompletion: OSSA_MPI_ERR_IO_RESOURCE_UNAVAILABLE tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3748 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_XFR_ERROR_DEK_KEY_CACHE_MISS tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3755 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_XFR_ERROR_DEK_KEY_TAG_MISMATCH tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3762 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_XFR_ERROR_CIPHER_MODE_INVALID tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3769 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_XFR_ERROR_DEK_IV_MISMATCH tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3776 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_XFR_ERROR_DEK_RAM_INTERFACE_ERROR tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3783 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_XFR_ERROR_INTERNAL_RAM tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3790 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_XFR_ERROR_DEK_INDEX_OUT_OF_BOUNDS tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3797 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_XFR_ERROR_DEK_ILLEGAL_TABLE tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3802#ifdef SA_TESTBASE_EXTRA
3804 case OSSA_IO_HOST_BST_INVALID:
3806 SA_DBG1((
"mpiParseOBIomb, OPC_OUB_SSP_COMP: OSSA_IO_HOST_BST_INVALID 0x%x\n",
status));
3813 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_XFR_ERROR_DIF_MISMATCH tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3820 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_XFR_ERROR_DIF_APPLICATION_TAG_MISMATCH tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3827 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_XFR_ERROR_DIF_REFERENCE_TAG_MISMATCH tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3834 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_XFR_ERROR_DIF_CRC_MISMATCH tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3841 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_XFER_ERROR_DIF_INTERNAL_ERROR tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3848 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_XFER_ERR_EOB_DATA_OVERRUN tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3855 SA_DBG1((
"mpiSSPCompletion: OSSA_IO_OPEN_CNX_ERROR_OPEN_PREEMPTED tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
3862 SA_DBG1((
"mpiSSPCompletion: Unknown tag 0x%x sspTag 0x%x status 0x%x param 0x%x\n", tag,sspTag,
status,param));
GLOBAL FORCEINLINE bit32 mpiMsgFreeSet(mpiOCQueue_t *circularQ, void *messagePtr1, bit8 bc)
GLOBAL FORCEINLINE bit32 mpiMsgConsume(mpiOCQueue_t *circularQ, void **messagePtr1, mpiMsgCategory_t *pCategory, bit16 *pOpCode, bit8 *pBC)
enum mpiMsgCategory_e mpiMsgCategory_t
#define smTraceFuncEnter(L, I)
#define MPI_DEBUG_TRACE_OBQ
#define smTraceFuncExit(L, S, I)
#define SA_RESERVED_REQUEST_COUNT
#define AGSA_REQTYPE_MASK
void(* ossaSMPCompletedCB_t)(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle)
Callback definition for.
void * agsaFrameHandle_t
handle to access frame
#define OSSA_OFFSET_OF(STRUCT_TYPE, FEILD)
void(* ossaSSPCompletedCB_t)(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit16 sspTag, bit32 agOtherInfo)
Callback definition for.
void(* ossaSATACompletedCB_t)(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, void *agFirstDword, bit32 agIOInfoLen, void *agParam)
Callback definition for.
#define AGSA_SATA_REQTYPE
#define OSSA_HW_EVENT_SAS_PHY_UP
#define OSSA_HW_EVENT_SATA_PHY_UP
#define AGSA_INTERRUPT_HANDLE_ALL_CHANNELS
#define OSSA_HW_EVENT_MALFUNCTION
#define OSSA_IO_XFER_ERROR_DMA
#define OSSA_IO_OPEN_CNX_ERROR_WRONG_DESTINATION
#define OSSA_IO_XFR_ERROR_CIPHER_MODE_INVALID
#define OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_COLLIDE
#define OSSA_MPI_ERR_IO_RESOURCE_UNAVAILABLE
#define OSSA_IO_XFER_ERROR_REJECTED_NCQ_MODE
#define OSSA_IO_XFR_ERROR_DEK_INDEX_OUT_OF_BOUNDS
#define OSSA_IO_TM_TAG_NOT_FOUND
#define OSSA_IO_DS_IN_RECOVERY
#define OSSA_IO_OPEN_CNX_ERROR_OPEN_PREEMPTED
#define OSSA_IO_XFER_ERR_LAST_PIO_DATAIN_CRC_ERR
#define OSSA_IO_DS_NON_OPERATIONAL
#define OSSA_IO_XFR_ERROR_INVALID_SSP_RSP_FRAME
#define OSSA_IO_XFER_ERROR_DIF_INTERNAL_ERROR
#define OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_TMO
#define OSSA_IO_SSP_EXT_IU_ZERO_LEN_ERROR
#define OSSA_IO_OPEN_CNX_ERROR_HW_RESOURCE_BUSY_ALT
#define OSSA_IO_OPEN_CNX_ERROR_STP_RESOURCES_BUSY
#define OSSA_IO_XFER_ERROR_PHY_NOT_READY
#define OSSA_IO_ABORT_DELAYED
#define OSSA_IO_XFR_ERROR_DEK_KEY_TAG_MISMATCH
#define OSSA_IO_XFR_ERROR_DIF_CRC_MISMATCH
#define OSSA_IO_XFR_ERROR_DEK_RAM_INTERFACE_ERROR
#define OSSA_IO_XFER_ERROR_UNEXPECTED_PHASE
#define OSSA_IO_OPEN_CNX_ERROR_BREAK
#define OSSA_IO_XFER_ERROR_OFFSET_MISMATCH
#define OSSA_IO_UNDERFLOW
#define OSSA_IO_PORT_IN_RESET
#define OSSA_IO_DS_IN_ERROR
#define OSSA_IO_XFER_ERROR_NAK_RECEIVED
#define OSSA_IO_XFER_ERROR_BREAK
#define OSSA_IO_XFR_ERROR_DIF_MISMATCH
#define OSSA_IO_XFR_ERROR_DEK_ILLEGAL_TABLE
#define OSSA_IO_XFER_ERROR_ACK_NAK_TIMEOUT
#define OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_PATHWAY_BLOCKED
#define OSSA_IO_XFER_PIO_SETUP_ERROR
#define OSSA_IO_XFR_ERROR_DEK_KEY_CACHE_MISS
#define OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS
#define OSSA_IO_XFER_ERROR_SATA_LINK_TIMEOUT
#define OSSA_IO_INVALID_LENGTH
#define OSSA_IO_OPEN_CNX_ERROR_HW_RESOURCE_BUSY
#define OSSA_IO_XFR_ERROR_DIF_APPLICATION_TAG_MISMATCH
#define OSSA_IO_XFER_OPEN_RETRY_TIMEOUT
#define OSSA_IO_XFER_ERR_EOB_DATA_OVERRUN
#define OSSA_IO_XFR_ERROR_DEK_IV_MISMATCH
#define OSSA_IO_OPEN_CNX_ERROR_PROTOCOL_NOT_SUPPORTED
#define OSSA_MPI_ERR_ATAPI_DEVICE_BUSY
#define OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_RETRY_BACKOFF_THRESHOLD_REACHED
#define OSSA_IO_OPEN_CNX_ERROR_ZONE_VIOLATION
#define OSSA_MPI_IO_RQE_BUSY_FULL
#define OSSA_IO_XFR_ERROR_INTERNAL_RAM
#define OSSA_IO_NO_DEVICE
#define OSSA_IO_ABORT_IN_PROGRESS
#define OSSA_IO_DS_INVALID
#define OSSA_IO_OPEN_CNX_ERROR_BAD_DESTINATION
#define OSSA_IO_XFR_ERROR_DIF_REFERENCE_TAG_MISMATCH
#define OSSA_IO_OPEN_CNX_ERROR_CONNECTION_RATE_NOT_SUPPORTED
#define OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_NO_DEST
#define LL_IOREQ_LOCKEQ_LOCK
#define MSIX_TABLE_ELEMENT_SIZE
#define MSIX_INTERRUPT_ENABLE
#define LL_IOREQ_OBQ_LOCK
#define MSIX_INTERRUPT_DISABLE
This file defines global types.
GLOBAL void siHalRegWriteExt(agsaRoot_t *agRoot, bit32 generic, bit32 regOffset, bit32 regValue)
GLOBAL bit32 siHalRegReadExt(agsaRoot_t *agRoot, bit32 generic, bit32 regOffset)
GLOBAL void siPCITriger(agsaRoot_t *agRoot)
#define SCRATCH_PAD2_HW_ERROR_INT_INDX_GSM_ERR
#define V_Scratchpad_Rsvd_1_Register
#define SCRATCH_PAD2_FW_UNDTMN_ERR
#define SCRATCH_PAD1_V_ILA_ERROR_STATE(ScratchPad1)
#define SCRATCH_PAD2_FW_GEN_EXCEPTION_ERR
#define MSGU_SCRATCH_PAD_0
#define V_Host_Scratchpad_2_Register
#define SCRATCH_PAD2_FW_FW_ASRT_ERR
#define SA_FATAL_ERROR_FATAL_ERROR
#define V_Outbound_Doorbell_Mask_Set_RegisterU
#define MSGU_SCRATCH_PAD_2
#define MSGU_SCRATCH_PAD_1
#define SCRATCH_PAD2_HW_ERROR_INT_INDX_ERAAE_ERR
#define PCI_TRIGGER_COAL_IOMB_ERROR
#define V_Outbound_Doorbell_Set_Register
#define MSGU_SCRATCH_PAD_3
#define V_Outbound_Doorbell_Clear_RegisterU
#define V_Scratchpad_2_Register
#define V_Host_Scratchpad_3_Register
#define SCRATCH_PAD2_FW_FLM_ERR
#define SCRATCH_PAD2_FW_HW_MASK
#define SCRATCH_PAD2_HW_ERROR_INT_INDX_MCPSL2B_ERR
#define V_Outbound_Doorbell_Mask_Clear_Register
#define SCRATCH_PAD1_V_IOP1_ERROR_STATE(ScratchPad1)
#define SCRATCH_PAD2_HW_ERROR_INT_INDX_PCIE_CORE_ERR
#define SCRATCH_PAD2_FW_HW_WDG_ERR
#define V_Scratchpad_3_Register
#define SCRATCH_PAD2_HW_ERROR_INT_INDX_UNDETERMINED_ERROR_OCCURRED
#define SCRATCH_PAD2_HW_ERROR_INT_INDX_OSSP2_ERR
#define V_Outbound_Doorbell_Set_RegisterU
#define V_Outbound_Doorbell_Clear_Register
#define SCRATCH_PAD2_FW_ILA_ERR
#define V_Scratchpad_1_Register
#define SCRATCH_PAD2_HW_ERROR_INT_INDX_SDS_ERR
#define SCRATCH_PAD1_V_RAAE_ERROR_STATE(ScratchPad1)
#define SCRATCH_PAD2_HW_ERROR_INT_INDX_BDMA_ERR
#define V_Scratchpad_0_Register
#define SCRATCH_PAD2_FW_HW_NON_FATAL_ERR
#define V_Scratchpad_Rsvd_0_Register
#define SCRATCH_PAD1_V_IOP0_ERROR_STATE(ScratchPad1)
#define SCRATCH_PAD2_HW_ERROR_INT_INDX_PCS_ERR
#define SCRATCH_PAD2_FW_HW_FATAL_ERR
#define V_Outbound_Doorbell_Mask_Clear_RegisterU
#define SCRATCH_PAD2_HW_ERROR_INT_INDX_OSSP0_ERR
#define SCRATCH_PAD2_HW_ERROR_INT_INDX_PCIE_AL_ERR
#define PCI_TRIGGER_COAL_INVALID
#define SCRATCH_PAD1_V_ERROR_STATE(ScratchPad1)
#define SCRATCH_PAD2_HW_ERROR_INT_INDX_SPBC_ERR
#define V_Outbound_Doorbell_Mask_Set_Register
#define SCRATCH_PAD2_HW_ERROR_INT_INDX_MSGU_ERR
#define SCRATCH_PAD2_HW_ERROR_INT_INDX_MCPSDC_ERR
#define SA_FATAL_ERROR_SP2_IOP_ERR_MASK
#define SA_FATAL_ERROR_SP1_AAP1_ERR_MASK
#define SCRATCH_PAD2_HW_ERROR_INT_INDX_OSSP1_ERR
bit32 siOurMSIInterrupt(agsaRoot_t *agRoot, bit32 interruptVectorIndex)
Function to process MSI interrupts.
GLOBAL void siReenableMSIInterrupts(agsaRoot_t *agRoot, bit32 interruptVectorIndex)
Function to reenable MSI interrupts.
bit32 siOurLegacy_V_Interrupt(agsaRoot_t *agRoot, bit32 interruptVectorIndex)
Function to process Legacy V interrupts.
GLOBAL void siAbnormal(agsaRoot_t *agRoot, agsaIORequestDesc_t *pRequest, bit32 status, bit32 param, bit32 sspTag)
Routine to handle abnormal completed IO/SMP event.
GLOBAL void siDisableMSIInterrupts(agsaRoot_t *agRoot, bit32 interruptVectorIndex)
Function to disable MSI interrupts.
GLOBAL void siReenableMSI_V_Interrupts(agsaRoot_t *agRoot, bit32 interruptVectorIndex)
Function to reenable MSI V interrupts.
GLOBAL FORCEINLINE bit32 mpiSSPCompletion(agsaRoot_t *agRoot, bit32 *pIomb1)
SPC MPI SSP Completion.
GLOBAL bit32 saFatalInterruptHandler(agsaRoot_t *agRoot, bit32 interruptVectorIndex)
GLOBAL void siDisableLegacyInterrupts(agsaRoot_t *agRoot, bit32 interruptVectorIndex)
Function to process Legacy interrupts.
void siReenableMSIX_V_Interrupts(agsaRoot_t *agRoot, bit32 interruptVectorIndex)
Function to reenable MSIX interrupts.
GLOBAL void siReenableLegacyInterrupts(agsaRoot_t *agRoot, bit32 interruptVectorIndex)
Function to reenable Legacy interrupts.
GLOBAL void siDisableLegacy_V_Interrupts(agsaRoot_t *agRoot, bit32 interruptVectorIndex)
Function to process Legacy V interrupts.
FORCEINLINE bit32 saInterruptHandler(agsaRoot_t *agRoot, bit32 interruptVectorIndex)
Function to process the interrupts.
GLOBAL void siDisableMSIXInterrupts(agsaRoot_t *agRoot, bit32 interruptVectorIndex)
Function to disable MSIX interrupts.
bit32 siOurMSI_V_Interrupt(agsaRoot_t *agRoot, bit32 interruptVectorIndex)
Function to process MSI V interrupts.
GLOBAL void siEventSATASignatureRcvd(agsaRoot_t *agRoot, bit32 phyId, void *pMsg, bit32 portId, bit32 npipps, bit8 linkRate)
Routine to handle for received SATA signature event.
void siReenableMSIXInterrupts(agsaRoot_t *agRoot, bit32 interruptVectorIndex)
Function to reenable MSIX interrupts.
void siDisableMSIX_V_Interrupts(agsaRoot_t *agRoot, bit32 interruptVectorIndex)
Function to disable MSIX V interrupts.
GLOBAL bit32 siOurMSIX_V_Interrupt(agsaRoot_t *agRoot, bit32 interruptVectorIndex)
Function to process MSIX V interrupts.
GLOBAL void siReenableLegacy_V_Interrupts(agsaRoot_t *agRoot, bit32 interruptVectorIndex)
Function to reenable Legacy V interrupts.
LOCAL FORCEINLINE bit32 siProcessOBMsg(agsaRoot_t *agRoot, bit32 count, bit32 queueNum)
Routine to handle Outbound Message.
bit32 siOurLegacyInterrupt(agsaRoot_t *agRoot, bit32 interruptVectorIndex)
Function to process Legacy interrupts.
GLOBAL void siSMPRespRcvd(agsaRoot_t *agRoot, agsaSMPCompletionRsp_t *pIomb, bit32 payloadSize, bit32 tag)
Routine to handle for received SMP response event.
GLOBAL bit32 mpiParseOBIomb(agsaRoot_t *agRoot, bit32 *pMsg1, mpiMsgCategory_t category, bit16 opcode)
Process Outbound IOMB Message.
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.
GLOBAL void siDisableMSI_V_Interrupts(agsaRoot_t *agRoot, bit32 interruptVectorIndex)
Function to disable MSI V interrupts.
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.
GLOBAL FORCEINLINE bit32 mpiSATACompletion(agsaRoot_t *agRoot, bit32 *pIomb1)
SPC MPI SATA Completion.
GLOBAL FORCEINLINE void siIODone(agsaRoot_t *agRoot, agsaIORequestDesc_t *pRequest, bit32 status, bit32 sspTag)
Routine to handle successfully completed IO event.
GLOBAL FORCEINLINE void saSystemInterruptsEnable(agsaRoot_t *agRoot, bit32 interruptVectorIndex)
Function to enable a single interrupt vector.
GLOBAL void saSystemInterruptsActive(agsaRoot_t *agRoot, agBOOLEAN sysIntsActive)
Function to enable/disable interrupts.
GLOBAL bit32 siOurMSIXInterrupt(agsaRoot_t *agRoot, bit32 interruptVectorIndex)
Function to process MSIX interrupts.
LOCAL bit32 siFatalInterruptHandler(agsaRoot_t *agRoot, bit32 interruptVectorIndex)
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.
FORCEINLINE bit32 saDelayedInterruptHandler(agsaRoot_t *agRoot, bit32 interruptVectorIndex, bit32 count)
Function to process the cause of interrupt.
GLOBAL bit32 mpiFwExtFlashUpdateRsp(agsaRoot_t *agRoot, agsaFwFlashOpExtRsp_t *payload)
GLOBAL bit32 mpiFwFlashUpdateRsp(agsaRoot_t *agRoot, agsaFwFlashUpdateRsp_t *payload)
SPC FW_FLASH_UPDATE Respond.
#define saLlistIOAdd(pList, pLink)
#define saLlistIORemove(pList, pLink)
#define saLlistAdd(pList, pLink)
saLlistAdd macro
#define saLlistIOGetCount(pList)
#define saLlistRemove(pList, pLink)
saLlistRemove macro
#define saLlistGetHead(pList)
saLlistGetHead macro
#define MPI_DEBUG_TRACE(queue, pici, ib, iomb, count)
#define smIS_SPCV8006(agr)
#define PHY_STATUS_SET(pPhy, value)
PHY_STATUS_SET macro.
#define OPC_OUB_SET_OPERATOR
#define OPC_OUB_SSP_RECV_EVENT
#define OPC_OUB_SATA_COMP
#define OPC_OUB_FLASH_OP_EXT_RSP
#define OPC_OUB_GET_NVMD_DATA
#define OPC_OUB_SPC_DEV_INFO
#define OPC_OUB_GPIO_RESPONSE
#define OPC_OUB_GET_CONTROLLER_CONFIG
#define OPC_OUB_SSP_EVENT
#define OPC_OUB_GPIO_EVENT
#define OPC_OUB_SPC_HW_EVENT
#define OPC_OUB_GET_DEV_HANDLE
#define OPC_OUB_DEV_REGIST
#define OPC_OUB_COMBINED_SSP_COMP
#define OPC_OUB_DEK_MANAGEMENT
#define OPC_OUB_GET_DEVICE_STATE
#define OPC_OUB_COMBINED_SATA_COMP
#define OPC_OUB_LOCAL_PHY_CNTRL
#define OPC_OUB_GET_PHY_PROFILE_RSP
#define OPC_OUB_PHY_STOP_RESPONSE
#define OPC_OUB_SSP_ABORT_RSP
#define OPC_OUB_FW_FLASH_UPDATE
#define OPC_OUB_GET_VIST_CAP_RSP
#define OPC_OUB_FW_PROFILE
#define OPC_OUB_DEREG_DEV
#define OPC_OUB_DIF_ENC_OFFLOAD_RSP
#define OPC_OUB_PHY_START_RESPONSE
#define OPC_OUB_SAS_DIAG_EXECUTE
#define OPC_OUB_SET_DEVICE_STATE
#define OPC_OUB_SET_NVMD_DATA
#define OPC_OUB_ENC_TEST_EXECUTE
#define OPC_OUB_GENERAL_EVENT
#define OPC_OUB_SAS_HW_EVENT_ACK
#define OPC_OUB_SGPIO_RESPONSE
#define OPC_OUB_SET_PHY_PROFILE_RSP
#define OPC_OUB_SET_DEV_INFO
#define OPC_OUB_SATA_ABORT_RSP
#define SSP_RESCV_PAD_SHIFT
#define OPC_OUB_DEVICE_HANDLE_REMOVAL
#define OPC_OUB_GET_TIME_STAMP
#define OPC_OUB_PCIE_DIAG_EXECUTE
#define OPC_OUB_SPC_DEV_REGIST
#define OPC_OUB_PORT_CONTROL
#define OPC_OUB_SAS_DIAG_MODE_START_END
#define OPC_OUB_SET_CONTROLLER_CONFIG
#define OPC_OUB_SATA_EVENT
#define OPC_OUB_SAS_RE_INITIALIZE
#define OPC_OUB_SMP_ABORT_RSP
#define OPC_OUB_GET_OPERATOR
#define OPC_OUB_KEK_MANAGEMENT
#define OPC_OUB_DEV_HANDLE_ARRIV
#define OPC_OUB_SPC_SAS_HW_EVENT_ACK
#define OPC_OUB_SPC_DEV_HANDLE_ARRIV
GLOBAL bit32 mpiDeviceHandleArrived(agsaRoot_t *agRoot, agsaDeviceHandleArrivedNotify_t *pMsg1)
SPC MPI Device Handle Arrived Event (target mode)
GLOBAL bit32 mpiHWevent(agsaRoot_t *agRoot, agsaHWEvent_SPC_OUB_t *pIomb)
Hardware Event Response from SPC.
GLOBAL bit32 mpiGetDevHandleRsp(agsaRoot_t *agRoot, agsaGetDevHandleRsp_t *pIomb)
SPC MPI Get Device Handle Command Response.
GLOBAL bit32 mpiGetNVMDataRsp(agsaRoot_t *agRoot, agsaGetNVMDataRsp_t *pIomb)
Get NVM Data Response.
GLOBAL bit32 mpiSSPAbortRsp(agsaRoot_t *agRoot, agsaSSPAbortRsp_t *pIomb)
SPC MPI SSP ABORT Response.
GLOBAL bit32 mpiGetDevInfoRspSpc(agsaRoot_t *agRoot, agsaGetDevInfoRsp_t *pIomb)
Get Device Information Response.
GLOBAL bit32 mpiSetControllerConfigRsp(agsaRoot_t *agRoot, agsaSetControllerConfigRsp_t *pIomb)
SAS Set Controller Config Response.
GLOBAL bit32 mpiGetTimeStampRsp(agsaRoot_t *agRoot, agsaGetTimeStampRsp_t *pIomb)
Get Time Stamp Response.
GLOBAL bit32 mpiPortControlRsp(agsaRoot_t *agRoot, agsaPortControlRsp_t *pIomb)
Port Control Response.
GLOBAL bit32 mpiEchoRsp(agsaRoot_t *agRoot, agsaEchoRsp_t *pIomb)
Process Outbound IOMB Message.
GLOBAL bit32 mpiSASHwEventAckRsp(agsaRoot_t *agRoot, agsaSASHwEventAckRsp_t *pIomb)
SAS HW Event Ack Response.
GLOBAL bit32 mpiSetPhyProfileRsp(agsaRoot_t *agRoot, agsaSetPhyProfileRspV_t *pIomb)
GLOBAL bit32 mpiSetNVMDataRsp(agsaRoot_t *agRoot, agsaSetNVMDataRsp_t *pIomb)
Set NVM Data Response.
GLOBAL bit32 mpiSMPCompletion(agsaRoot_t *agRoot, agsaSMPCompletionRsp_t *pIomb)
SPC MPI SMP Completion.
GLOBAL bit32 mpiGetVHistRsp(agsaRoot_t *agRoot, agsaGetVHistCapRsp_t *pIomb)
GLOBAL bit32 mpiGetDeviceStateRsp(agsaRoot_t *agRoot, agsaGetDeviceStateRsp_t *pIomb)
Get Device State Response.
GLOBAL bit32 mpiDeviceRegRsp(agsaRoot_t *agRoot, agsaDeviceRegistrationRsp_t *pIomb)
SPC MPI Device Register Command Response.
GLOBAL bit32 mpiDekManagementRsp(agsaRoot_t *agRoot, agsaDekManagementRsp_t *pIomb)
DEK Management Response.
GLOBAL bit32 mpiGetOperatorRsp(agsaRoot_t *agRoot, agsaGetOperatorRsp_t *pIomb)
Get Operator Response.
GLOBAL bit32 mpiGetDevInfoRsp(agsaRoot_t *agRoot, agsaGetDevInfoRspV_t *pIomb)
Get Device Information Response.
GLOBAL bit32 mpiSATAEvent(agsaRoot_t *agRoot, agsaSATAEventRsp_t *pIomb)
SPC MPI SATA Event.
GLOBAL bit32 mpiSetDevInfoRsp(agsaRoot_t *agRoot, agsaSetDeviceInfoRsp_t *pIomb)
Set Device Information Response.
GLOBAL bit32 mpiOperatorManagementRsp(agsaRoot_t *agRoot, agsaOperatorMangmenRsp_t *pIomb)
Operator Management Response.
GLOBAL bit32 mpiSASDiagStartEndRsp(agsaRoot_t *agRoot, agsaSASDiagStartEndRsp_t *pIomb)
SAS Diagnostic Start/End Response.
GLOBAL bit32 mpiGPIOEventRsp(agsaRoot_t *agRoot, agsaGPIOEvent_t *pIomb)
Set GPIO Event Response.
GLOBAL bit32 mpiKekManagementRsp(agsaRoot_t *agRoot, agsaKekManagementRsp_t *pIomb)
KEK Management Response.
GLOBAL bit32 mpiSMPAbortRsp(agsaRoot_t *agRoot, agsaSMPAbortRsp_t *pIomb)
SPC MPI SMP ABORT Response.
GLOBAL bit32 mpiSGpioRsp(agsaRoot_t *agRoot, agsaSGpioRsp_t *pInIomb)
serial GPIO Response
GLOBAL bit32 mpiSetOperatorRsp(agsaRoot_t *agRoot, agsaSetOperatorRsp_t *pIomb)
Set Operator Response.
GLOBAL bit32 mpiSASDiagExecuteRsp(agsaRoot_t *agRoot, agsaSASDiagExecuteRsp_t *pIomb)
SAS Diagnostic Execute Response.
GLOBAL bit32 mpiSSPEvent(agsaRoot_t *agRoot, agsaSSPEventRsp_t *pIomb)
SPC MPI SSP Event.
GLOBAL bit32 mpiSATAAbortRsp(agsaRoot_t *agRoot, agsaSATAAbortRsp_t *pIomb)
SPC MPI SATA ABORT Response.
GLOBAL bit32 mpiGPIORsp(agsaRoot_t *agRoot, agsaGPIORsp_t *pIomb)
Set GPIO Response.
GLOBAL bit32 mpiGeneralEventRsp(agsaRoot_t *agRoot, agsaGeneralEventRsp_t *pIomb)
SAS General Event Notification Response.
GLOBAL bit32 mpiGetPhyProfileRsp(agsaRoot_t *agRoot, agsaGetPhyProfileRspV_t *pIomb)
Get Phy Profile Response SPCv.
GLOBAL bit32 mpiGetControllerConfigRsp(agsaRoot_t *agRoot, agsaGetControllerConfigRsp_t *pIomb)
SAS Get Controller Config Response.
GLOBAL bit32 mpiPhyStartEvent(agsaRoot_t *agRoot, agsaHWEvent_Phy_OUB_t *pIomb)
Phy Event Response from SPCv.
GLOBAL bit32 mpiSetDeviceStateRsp(agsaRoot_t *agRoot, agsaSetDeviceStateRsp_t *pIomb)
Set Device State Response.
GLOBAL bit32 mpiDeregDevHandleRsp(agsaRoot_t *agRoot, agsaDeregDevHandleRsp_t *pIomb)
SPC MPI Deregister Device Command Response.
GLOBAL bit32 mpiDeviceHandleRemoval(agsaRoot_t *agRoot, agsaDeviceHandleRemoval_t *pMsg1)
SPC MPI Device Handle Arrived Event (target mode)
GLOBAL bit32 mpiPhyStopEvent(agsaRoot_t *agRoot, agsaHWEvent_Phy_OUB_t *pIomb)
GLOBAL bit32 mpiSasReInitializeRsp(agsaRoot_t *agRoot, agsaSasReInitializeRsp_t *pIomb)
SAS ReInitialize Response.
GLOBAL bit32 mpiBistRsp(agsaRoot_t *agRoot, agsaEncryptBistRsp_t *pIomb)
GLOBAL bit32 mpiPCIeDiagExecuteRsp(agsaRoot_t *agRoot, void *pInIomb)
PCIE Diagnostics Response.
GLOBAL bit32 mpiGetDFEDataRsp(agsaRoot_t *agRoot, void *pIomb)
Get DFE Data command Response.
GLOBAL bit32 mpiDifEncOffloadRsp(agsaRoot_t *agRoot, agsaDifEncOffloadRspV_t *pIomb)
DifEncOffload Response.
GLOBAL bit32 mpiPhyCntrlRsp(agsaRoot_t *agRoot, agsaLocalPhyCntrlRsp_t *pIomb)
SPC MPI Phy Control Command Response.
GLOBAL bit32 mpiSSPReqReceivedNotify(agsaRoot_t *agRoot, agsaSSPReqReceivedNotify_t *pMsg1)
SPC MPI SSP Request Received Event (target mode)
GLOBAL FORCEINLINE void ossaSingleThreadedEnter(agsaRoot_t *agRoot, bit32 syncLockId)
ossaSingleThreadedEnter
GLOBAL FORCEINLINE bit32 ossaHwRegReadExt(agsaRoot_t *agRoot, bit32 busBaseNumber, bit32 regOffset)
GLOBAL void ossaHwCB(agsaRoot_t *agRoot, agsaPortContext_t *agPortContext, bit32 event, bit32 eventParm1, void *eventParm2, void *eventParm3)
#define ossaLogIomb(a, b, c, d, e)
GLOBAL FORCEINLINE void ossaSingleThreadedLeave(agsaRoot_t *agRoot, bit32 syncLockId)
ossaSingleThreadedLeave
GLOBAL FORCEINLINE void ossaHwRegWriteExt(agsaRoot_t *agRoot, bit32 busBaseNumber, bit32 regOffset, bit32 regValue)
#define ossaQueueProcessed(agRoot, queue, obpi, obci)
#define OSSA_OUT_ENTER(root)
#define OSSA_OUT_LEAVE(root)
GLOBAL FORCEINLINE void ossaHwRegWrite(agsaRoot_t *agRoot, bit32 regOffset, bit32 regValue)
GLOBAL FORCEINLINE bit32 ossaHwRegRead(agsaRoot_t *agRoot, bit32 regOffset)
GLOBAL bit32 smIS_SPC(agsaRoot_t *agRoot)
GLOBAL bit32 smIS_SPC12V(agsaRoot_t *agRoot)
GLOBAL FORCEINLINE void * si_memset(void *s, int c, bit32 n)
memset
GLOBAL bit32 smIS_SPC6V(agsaRoot_t *agRoot)
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.
GLOBAL bit32 smIS_SPCV(agsaRoot_t *agRoot)
data structure stores OS specific and LL specific context
bit32 FatalErrorDumpOffset0
bit32 FatalErrorDumpOffset1
bit32 FatalErrorDumpLength0
bit32 FatalErrorDumpLength1
osGLOBAL void ossaReenableInterrupts(agsaRoot_t *agRoot, bit32 outboundChannelNum)
ossaReenableInterrupts
osGLOBAL void ossaDisableInterrupts(agsaRoot_t *agRoot, bit32 outboundChannelNum)
ossaDisableInterrupts