FreeBSD kernel pms device code
|
The file defines the declaration of tSDK APIs. More...
Go to the source code of this file.
Functions | |
GLOBAL bit32 FORCEINLINE | saDelayedInterruptHandler (agsaRoot_t *agRoot, bit32 interruptVectorIndex, bit32 count) |
Function to process the cause of interrupt. More... | |
GLOBAL bit32 FORCEINLINE | saInterruptHandler (agsaRoot_t *agRoot, bit32 interruptVectorIndex) |
Function to process the interrupts. More... | |
GLOBAL void | saSystemInterruptsActive (agsaRoot_t *agRoot, agBOOLEAN sysIntsActive) |
Function to enable/disable interrupts. More... | |
GLOBAL FORCEINLINE void | saSystemInterruptsEnable (agsaRoot_t *agRoot, bit32 interruptVectorIndex) |
Function to enable a single interrupt vector. More... | |
GLOBAL void | saTimerTick (agsaRoot_t *agRoot) |
TimerTick. More... | |
GLOBAL void | saGetRequirements (agsaRoot_t *agRoot, agsaSwConfig_t *swConfig, agsaMemoryRequirement_t *memoryRequirement, bit32 *usecsPerTick, bit32 *maxNumLocks) |
Get the memory and lock requirement from LL layer. More... | |
GLOBAL bit32 | saInitialize (agsaRoot_t *agRoot, agsaMemoryRequirement_t *memoryAllocated, agsaHwConfig_t *hwConfig, agsaSwConfig_t *swConfig, bit32 usecsPerTick) |
Initialize the Hardware. More... | |
GLOBAL void | saHwReset (agsaRoot_t *agRoot, bit32 resetType, bit32 resetParm) |
Function to reset the Hardware. More... | |
GLOBAL void | saHwShutdown (agsaRoot_t *agRoot) |
Function to shutdown the Hardware. More... | |
GLOBAL bit32 | saPhyStart (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, bit32 phyId, agsaPhyConfig_t *agPhyConfig, agsaSASIdentify_t *agSASIdentify) |
Start a Phy. More... | |
GLOBAL bit32 | saPhyStop (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, bit32 phyId) |
Stop a Phy. More... | |
GLOBAL bit32 | saLocalPhyControl (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, bit32 phyId, bit32 phyOperation, ossaLocalPhyControlCB_t agCB) |
Initiate a Local PHY control command. More... | |
GLOBAL bit32 | saGetPhyProfile (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, bit32 ppc, bit32 phyID) |
GLOBAL bit32 | saSetPhyProfile (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, bit32 ppc, bit32 length, void *buffer, bit32 phyID) |
GLOBAL bit32 | saHwEventAck (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, agsaEventSource_t *eventSource, bit32 param0, bit32 param1) |
Initiate a HW Event Ack command. More... | |
GLOBAL bit32 | saDiscover (agsaRoot_t *agRoot, agsaPortContext_t *agPortContext, bit32 type, bit32 option) |
Start/Abort SAS/SATA discovery. More... | |
GLOBAL bit32 | saFrameReadBit32 (agsaRoot_t *agRoot, agsaFrameHandle_t agFrame, bit32 frameOffset) |
Read 32 bits from a frame. More... | |
GLOBAL void | saFrameReadBlock (agsaRoot_t *agRoot, agsaFrameHandle_t agFrame, bit32 frameOffset, void *frameBuffer, bit32 frameBufLen) |
Read a block from a frame. More... | |
GLOBAL bit32 | saSATAStart (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 queueNum, agsaDevHandle_t *agDevHandle, bit32 agRequestType, agsaSATAInitiatorRequest_t *agSATAReq, bit8 agTag, ossaSATACompletedCB_t agCB) |
Start SATA command. More... | |
GLOBAL bit32 | saSATAAbort (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 queueNum, agsaDevHandle_t *agDevHandle, bit32 flag, void *abortParam, ossaGenericAbortCB_t agCB) |
Abort SATA command. More... | |
GLOBAL bit32 | saSendSMPIoctl (agsaRoot_t *agRoot, agsaDevHandle_t *agDevHandle, bit32 queueNum, agsaSMPFrame_t *pSMPFrame, ossaSMPCompletedCB_t agCB) |
GLOBAL bit32 | saSMPStart (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 queueNum, agsaDevHandle_t *agDevHandle, bit32 agRequestType, agsaSASRequestBody_t *agRequestBody, ossaSMPCompletedCB_t agCB) |
Start SMP request. More... | |
GLOBAL bit32 | saSMPAbort (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 queueNum, agsaDevHandle_t *agDevHandle, bit32 flag, void *abortParam, ossaGenericAbortCB_t agCB) |
Abort SMP request. More... | |
GLOBAL bit32 | saSSPStart (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 queueNum, agsaDevHandle_t *agDevHandle, bit32 agRequestType, agsaSASRequestBody_t *agRequestBody, agsaIORequest_t *agTMRequest, ossaSSPCompletedCB_t agCB) |
Start SSP request. More... | |
GLOBAL bit32 | saSSPAbort (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 queueNum, agsaDevHandle_t *agDevHandle, bit32 flag, void *abortParam, ossaGenericAbortCB_t agCB) |
Abort SSP request. More... | |
GLOBAL void | saGetDifErrorDetails (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, agsaDifDetails_t *difDetails) |
GLOBAL bit32 | saRegisterEventCallback (agsaRoot_t *agRoot, bit32 eventSourceType, ossaGenericCB_t callbackPtr) |
Register a callback for a specific event. More... | |
GLOBAL bit32 | saRegisterNewDevice (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, agsaDeviceInfo_t *agDeviceInfo, agsaPortContext_t *agPortContext, bit16 hostAssignedDeviceId) |
Register New Device from a specific local port. More... | |
GLOBAL bit32 | saDeregisterDeviceHandle (agsaRoot_t *agRoot, agsaContext_t *agContext, agsaDevHandle_t *agDevHandle, bit32 queueNum) |
Function for target to remove stale initiator device handle. More... | |
GLOBAL bit32 | saGetDeviceHandles (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, agsaPortContext_t *agPortContext, bit32 flags, agsaDevHandle_t *agDev[], bit32 skipCount, bit32 maxDevs) |
Get Device Handles from a specific local port. More... | |
GLOBAL bit32 | saGetDeviceInfo (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 option, bit32 queueNum, agsaDevHandle_t *agDevHandle) |
Get Device Information. More... | |
GLOBAL bit32 | saGetDeviceState (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, agsaDevHandle_t *agDevHandle) |
Get Device State. More... | |
GLOBAL bit32 | saSetDeviceInfo (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, agsaDevHandle_t *agDevHandle, bit32 option, bit32 param, ossaSetDeviceInfoCB_t agCB) |
Set Device Information. More... | |
GLOBAL bit32 | saSetDeviceState (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, agsaDevHandle_t *agDevHandle, bit32 newDeviceState) |
Set Device State. More... | |
GLOBAL bit32 | saFwFlashUpdate (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, agsaUpdateFwFlash_t *flashUpdateInfo) |
SPC FW Flash Update Command. More... | |
GLOBAL bit32 | saFlashExtExecute (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, agsaFlashExtExecute_t *agFlashExtExe) |
GLOBAL bit32 | saEchoCommand (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, void *echoPayload) |
SAS/SATA LL API ECHO Command. More... | |
GLOBAL bit32 | saGetControllerInfo (agsaRoot_t *agRoot, agsaControllerInfo_t *controllerInfo) |
SPC Get Controller Information Command. More... | |
GLOBAL bit32 | saGetControllerStatus (agsaRoot_t *agRoot, agsaControllerStatus_t *controllerStatus) |
SPC Get Controller Status Command. More... | |
GLOBAL bit32 | saGetControllerEventLogInfo (agsaRoot_t *agRoot, agsaControllerEventLog_t *eventLogInfo) |
SPC Get Controller Event Log Information Command. More... | |
GLOBAL bit32 | saGpioEventSetup (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, agsaGpioEventSetupInfo_t *gpioEventSetupInfo) |
SPC Set GPIO Event Setup Command. More... | |
GLOBAL bit32 | saGpioPinSetup (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, agsaGpioPinSetupInfo_t *gpioPinSetupInfo) |
SPC Set GPIO Pin Setup Command. More... | |
GLOBAL bit32 | saGpioRead (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum) |
SPC GPIO Read Command. More... | |
GLOBAL bit32 | saGpioWrite (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, bit32 gpioWriteMask, bit32 gpioWriteValue) |
SPC GPIO Write Command. More... | |
GLOBAL bit32 | saSASDiagExecute (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, agsaSASDiagExecute_t *diag) |
SPC SAS Diagnostic Execute Command. More... | |
GLOBAL bit32 | saSASDiagStartEnd (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, bit32 phyId, bit32 operation) |
SPC SAS Diagnostic Start/End Command. More... | |
GLOBAL bit32 | saGetTimeStamp (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum) |
Initiate a GET TIME STAMP command. More... | |
GLOBAL bit32 | saPortControl (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, agsaPortContext_t *agPortContext, bit32 portOperation, bit32 param0, bit32 param1) |
Initiate a Port COntrol IOMB command. More... | |
GLOBAL bit32 | saGetRegisterDump (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, agsaRegDumpInfo_t *regDumpInfo) |
Initiate a GET REGISTER DUMP command. More... | |
GLOBAL bit32 | saGetForensicData (agsaRoot_t *agRoot, agsaContext_t *agContext, agsaForensicData_t *forensicData) |
bit32 | saGetIOErrorStats (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 flag) |
bit32 | saGetIOEventStats (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 flag) |
GLOBAL bit32 | saGetNVMDCommand (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, agsaNVMDData_t *NVMDInfo) |
SPC Get NVMD Command. More... | |
GLOBAL bit32 | saSetNVMDCommand (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, agsaNVMDData_t *NVMDInfo) |
SPC Set NVMD Command. More... | |
GLOBAL bit32 | saReconfigSASParams (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, agsaSASReconfig_t *agSASConfig) |
Reconfiguration of SAS Parameters Command. More... | |
GLOBAL bit32 | saSgpio (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, agsaSGpioReqResponse_t *pSGpioReq) |
Initiate a serial GPIO command. More... | |
GLOBAL bit32 | saPCIeDiagExecute (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, agsaPCIeDiagExecute_t *diag) |
GLOBAL bit32 | saEncryptSelftestExecute (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, bit32 type, bit32 length, void *TestDescriptor) |
GLOBAL bit32 | saSetOperator (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, bit32 flag, void *cert) |
GLOBAL bit32 | saGetOperator (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, bit32 option, bit32 AddrHi, bit32 AddrLo) |
GLOBAL bit32 | saOperatorManagement (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, bit32 flag, bit8 role, agsaID_t *id, agsaEncryptKekBlob_t *kblob) |
GLOBAL bit32 | saSetControllerConfig (agsaRoot_t *agRoot, bit32 queueNum, bit32 modePage, bit32 length, void *buffer, agsaContext_t *agContext) |
GLOBAL bit32 | saGetControllerConfig (agsaRoot_t *agRoot, bit32 queueNum, bit32 modePage, bit32 flag0, bit32 flag1, agsaContext_t *agContext) |
GLOBAL bit32 | saEncryptDekCacheUpdate (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, bit32 kekIndex, bit32 dekTableSelect, bit32 dekAddrHi, bit32 dekAddrLo, bit32 dekIndex, bit32 dekNumberOfEntries, bit32 dekBlobFormat, bit32 dekTableKeyEntrySize) |
GLOBAL bit32 | saEncryptDekCacheInvalidate (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, bit32 dekTable, bit32 dekIndex) |
GLOBAL bit32 | saEncryptGetMode (agsaRoot_t *agRoot, agsaContext_t *agContext, agsaEncryptInfo_t *encryptInfo) |
GLOBAL bit32 | saEncryptSetMode (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, agsaEncryptInfo_t *mode) |
GLOBAL bit32 | saEncryptKekInvalidate (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, bit32 kekIndex) |
GLOBAL bit32 | saEncryptKekUpdate (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, bit32 flags, bit32 newKekIndex, bit32 wrapperKekIndex, bit32 blobFormat, agsaEncryptKekBlob_t *encryptKekBlob) |
GLOBAL bit32 | saGetDFEData (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, bit32 interface, bit32 laneNumber, bit32 interations, agsaSgl_t *agSgl) |
GLOBAL bit32 | saFatalInterruptHandler (agsaRoot_t *agRoot, bit32 interruptVectorIndex) |
GLOBAL bit32 | saDIFEncryptionOffloadStart (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, bit32 op, agsaDifEncPayload_t *agsaDifEncPayload, ossaDIFEncryptionOffloadStartCB_t agCB) |
GLOBAL bit32 | saVhistCapture (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, bit32 Channel, bit32 NumBitLo, bit32 NumBitHi, bit32 PcieAddrLo, bit32 PcieAddrHi, bit32 ByteCount) |
GLOBAL void | saCountActiveIORequests (agsaRoot_t *agRoot) |
saCountActiveIORequests count all active IO's More... | |
The file defines the declaration of tSDK APIs.
Definition in file saapi.h.
GLOBAL void saCountActiveIORequests | ( | agsaRoot_t * | agRoot | ) |
saCountActiveIORequests count all active IO's
char | value |
Definition at line 370 of file sautil.c.
References agNULL, AGSAMEM_ELEMENT_READ, agTRUE, agsaLLRoot_s::IORequestMem, agsaSwConfig_s::maxActiveIOs, agsaLLRoot_s::ResetStartTick, SA_ASSERT, SA_DBG1, SA_DBG2, agsaContext_s::sdkData, agsaIORequestDesc_s::startTick, agsaLLRoot_s::swConfig, and agsaIORequestDesc_s::valid.
Referenced by saHwReset(), siDumpActiveIORequests(), and tiComCountActiveIORequests().
GLOBAL bit32 FORCEINLINE saDelayedInterruptHandler | ( | agsaRoot_t * | agRoot, |
bit32 | interruptVectorIndex, | ||
bit32 | count | ||
) |
Function to process the cause of interrupt.
The saDelayedInterruptHandler() function is called after an interrupt messages has been received it may be called by a deferred procedure call
agRoot | OS Layer-specific and LL Layer-specific context handles for this instance of SAS/SATA hardware |
interruptVectorIndex | - vector index for message |
count | Number of completion queue entries to consume |
Definition at line 772 of file saint.c.
References agTRUE, agsaSwConfig_s::fatalErrorInterruptEnable, agsaSwConfig_s::fatalErrorInterruptVector, GEN_MSGU_SCRATCH_PAD_1, HDA_AES_DIF_FUNC, agsaSwConfig_s::hostDirectAccessMode, hpDBG_VERY_LOUD, agsaQueueOutbound_s::interruptEnable, agsaLLRoot_s::interruptVecIndexBitMap, agsaLLRoot_s::interruptVecIndexBitMap1, MSGU_SCRATCH_PAD_1, agsaQueueConfig_s::numOutboundQueues, OQ_NUM_32, OSSA_OUT_ENTER, OSSA_OUT_LEAVE, ossaDisableInterrupts(), ossaHwRegReadExt(), ossaReenableInterrupts(), agsaQueueConfig_s::outboundQueues, PCIBAR0, agsaLLRoot_s::QueueConfig, SA_ASSERT, SA_DBG1, SA_DBG2, SCRATCH_PAD1_V_ERROR_STATE, SCRATCH_PAD1_V_ILA_ERROR_STATE, SCRATCH_PAD1_V_IOP0_ERROR_STATE, SCRATCH_PAD1_V_IOP1_ERROR_STATE, SCRATCH_PAD1_V_RAAE_ERROR_STATE, agsaContext_s::sdkData, siFatalInterruptHandler(), siHalRegReadExt(), siProcessOBMsg(), smTrace, smTraceFuncEnter, smTraceFuncExit, agsaLLRoot_s::swConfig, agsaLLRoot_s::sysIntsActive, V_Outbound_Doorbell_Mask_Set_Register, V_Outbound_Doorbell_Mask_Set_RegisterU, V_Outbound_Doorbell_Set_Register, V_Outbound_Doorbell_Set_RegisterU, V_Scratchpad_0_Register, V_Scratchpad_1_Register, V_Scratchpad_2_Register, V_Scratchpad_3_Register, V_Scratchpad_Rsvd_0_Register, and V_Scratchpad_Rsvd_1_Register.
Referenced by tiCOMDelayedInterruptHandler().
GLOBAL bit32 saDeregisterDeviceHandle | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
agsaDevHandle_t * | agDevHandle, | ||
bit32 | queueNum | ||
) |
Function for target to remove stale initiator device handle.
function is called to ask the LL layer to remove all LL layer and SPC firmware 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 83 of file sadisc.c.
References agNULL, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, DEVICE_ID_BITS, agsaDeviceMap_s::DeviceHandle, agsaDeviceMap_s::DeviceIdFromFW, agsaLLRoot_s::DeviceMap, agsaDeviceDesc_s::DeviceMapIndex, hpDBG_VERY_LOUD, MAX_IO_DEVICE_ENTRIES, mpiDeregDevHandleCmd(), OS_ASSERT, agsaPort_s::portId, agsaDeviceDesc_s::pPort, SA_DBG1, SA_DBG3, agsaContext_s::sdkData, smTraceFuncEnter, and smTraceFuncExit.
Referenced by ossaDeviceRegistrationCB(), ossaSMPAbortCB(), and tdsaDeregisterDevicesInPort().
GLOBAL bit32 saDIFEncryptionOffloadStart | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | queueNum, | ||
bit32 | op, | ||
agsaDifEncPayload_t * | agsaDifEncPayload, | ||
ossaDIFEncryptionOffloadStartCB_t | agCB | ||
) |
initiate the SPCv controller offload function
saRoot | |
agContext | |
queueNum | |
op | |
agsaDifEncPayload | |
agCB |
Definition at line 1111 of file saport.c.
References AGSA_RC_FAILURE, hpDBG_VERY_LOUD, mpiDIFEncryptionOffloadCmd(), SA_DBG1, smIS_SPCV(), smTraceFuncEnter, and smTraceFuncExit.
GLOBAL bit32 saDiscover | ( | agsaRoot_t * | agRoot, |
agsaPortContext_t * | agPortContext, | ||
bit32 | type, | ||
bit32 | option | ||
) |
Start/Abort SAS/SATA discovery.
Start/Abort SAS/SATA discovery
agRoot | Handles for this instance of SAS/SATA hardware |
agPortContext | Pointer to this instance of port context |
type | Specifies the type(s) of discovery operation to start or cancel |
option | Specified the discovery option |
Definition at line 57 of file sadisc.c.
References AGSA_RC_FAILURE.
Referenced by ossaHwCB(), and tiINIDiscoverTargets().
GLOBAL bit32 saEchoCommand | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | queueNum, | ||
void * | echoPayload | ||
) |
SAS/SATA LL API ECHO Command.
This command used to test that MPI between host and SPC IOP is operational.
agRoot | Handles for this instance of SAS/SATA hardware |
agContext | Context of SPC FW Flash Update Command |
queueNum | Inbound/outbound queue number |
echoPayload | Pointer of Echo payload of IOMB |
Definition at line 57 of file sampicmd.c.
References AGSA_RC_SUCCESS, hpDBG_VERY_LOUD, mpiEchoCmd(), smTraceFuncEnter, and smTraceFuncExit.
Referenced by ossaEchoCB(), saTimerTick(), and tiCOMPortInit().
GLOBAL bit32 saEncryptDekCacheInvalidate | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | queueNum, | ||
bit32 | dekTable, | ||
bit32 | dekIndex | ||
) |
Remove a DEK from the controller cache
saRoot | |
kekIndex | |
dekTable | |
dekAddrHi | |
dekAddrLo | |
dekIndex | |
dekNumberOfEntries |
Definition at line 1057 of file saport.c.
References DEK_MGMT_SUBOP_INVALIDATE, dekIndex, dekTable, hpDBG_VERY_LOUD, mpiDekManagementCmd(), OSSA_OFFSET_OF, SA_DBG2, SHIFT8, si_memset(), smTraceFuncEnter, and smTraceFuncExit.
Referenced by tiCOMEncryptDekInvalidate().
GLOBAL bit32 saEncryptDekCacheUpdate | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | queueNum, | ||
bit32 | kekIndex, | ||
bit32 | dekTableSelect, | ||
bit32 | dekAddrHi, | ||
bit32 | dekAddrLo, | ||
bit32 | dekIndex, | ||
bit32 | dekNumberOfEntries, | ||
bit32 | dekBlobFormat, | ||
bit32 | dekTableKeyEntrySize | ||
) |
Replace a DEK within the controller cache
saRoot | |
kekIndex | |
dekTableSelect | |
dekAddrHi | |
dekAddrLo | |
dekIndex | |
dekNumberOfEntries |
Definition at line 973 of file saport.c.
References DEK_MGMT_SUBOP_UPDATE, dekBlobFormat, dekIndex, dekTableKeyEntrySize, hpDBG_VERY_LOUD, kekIndex, mpiDekManagementCmd(), OSSA_OFFSET_OF, SA_DBG2, SHIFT24, SHIFT8, si_memset(), smTraceFuncEnter, and smTraceFuncExit.
Referenced by tiCOMEncryptDekAdd().
GLOBAL bit32 saEncryptGetMode | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
agsaEncryptInfo_t * | encryptInfo | ||
) |
Returns the status, working state and sector size registers of the encryption engine
saRoot | |
encryptInfo |
Definition at line 563 of file saport.c.
References AGSA_RC_BUSY, AGSA_RC_FAILURE, AGSA_RC_NOT_SUPPORTED, AGSA_RC_SUCCESS, agsaEncryptCipherModeXTS, agsaEncryptSMA, agsaEncryptSMB, agsaEncryptSMF, agsaEncryptInfo_s::encryptionCipherMode, agsaEncryptInfo_s::encryptionSecurityMode, agsaEncryptInfo_s::flag, hpDBG_VERY_LOUD, OperatorAuthenticationEnable_AUT, ossaHwRegRead(), ReturnToFactoryMode_ARF, SA_DBG1, SA_DBG2, SA_DBG4, SCRATCH_PAD1_V_RAAE_ERR, SCRATCH_PAD1_V_RAAE_MASK, SCRATCH_PAD3_V_ARF, SCRATCH_PAD3_V_AUT, 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, SHIFT16, smIS_SPCV(), smTraceFuncEnter, smTraceFuncExit, agsaEncryptInfo_s::status, V_Scratchpad_1_Register, and V_Scratchpad_3_Register.
Referenced by tiCOMEncryptGetInfo(), and tiCOMPortInit().
GLOBAL bit32 saEncryptKekInvalidate | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | queueNum, | ||
bit32 | kekIndex | ||
) |
Remove a KEK from the controller
saRoot | |
flags | |
newKekIndex | |
wrapperKekIndex | |
encryptKekBlob |
Definition at line 929 of file saport.c.
References hpDBG_VERY_LOUD, KEK_MGMT_SUBOP_INVALIDATE, kekIndex, mpiKekManagementCmd(), OSSA_OFFSET_OF, SA_DBG2, SHIFT16, si_memset(), smTraceFuncEnter, and smTraceFuncExit.
GLOBAL bit32 saEncryptKekUpdate | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | queueNum, | ||
bit32 | flags, | ||
bit32 | newKekIndex, | ||
bit32 | wrapperKekIndex, | ||
bit32 | blobFormat, | ||
agsaEncryptKekBlob_t * | encryptKekBlob | ||
) |
Replace a KEK within the controller
saRoot | |
flags | |
newKekIndex | |
wrapperKekIndex | |
encryptKekBlob |
Definition at line 808 of file saport.c.
References blobFormat, flags, hpDBG_VERY_LOUD, KEK_MGMT_SUBOP_UPDATE, agsaEncryptKekBlob_s::kekBlob, mpiKekManagementCmd(), OSSA_OFFSET_OF, SA_DBG2, SHIFT14, SHIFT16, SHIFT24, SHIFT8, si_memset(), smTraceFuncEnter, smTraceFuncExit, and wrapperKekIndex.
Referenced by tiCOMEncryptKekAdd().
GLOBAL bit32 saEncryptSelftestExecute | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | queueNum, | ||
bit32 | type, | ||
bit32 | length, | ||
void * | TestDescriptor | ||
) |
Definition at line 1271 of file saport.c.
References AGSA_RC_SUCCESS, hpDBG_VERY_LOUD, mpiEncryptBistCmd(), agsaEncryptBist_s::r_subop, SA_DBG1, si_memcpy(), si_memset(), smTraceFuncEnter, smTraceFuncExit, and agsaEncryptBist_s::testDiscption.
Referenced by tdsaSendBISTIoctl(), and tiCOMEncryptSelfTest().
GLOBAL bit32 saEncryptSetMode | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | queueNum, | ||
agsaEncryptInfo_t * | mode | ||
) |
Definition at line 710 of file saport.c.
References AGSA_ENCRYPTION_CONTROL_PARM_PAGE, AGSA_RC_BUSY, AGSA_RC_NOT_SUPPORTED, agsaEncryptCipherModeXTS, agTRUE, agsaSetControllerConfigCmd_s::configPage, agsaEncryptInfo_s::encryptionCipherMode, agsaEncryptInfo_s::encryptionSecurityMode, mpiSetControllerConfigCmd(), ossaHwRegRead(), agsaSetControllerConfigCmd_s::pageCode, SA_DBG2, SCRATCH_PAD1_V_RAAE_MASK, SHIFT22, si_memset(), smIS_SPCV(), agsaEncryptInfo_s::status, agsaSetControllerConfigCmd_s::tag, and V_Scratchpad_1_Register.
Referenced by tiCOMEncryptSetMode().
GLOBAL bit32 saFatalInterruptHandler | ( | agsaRoot_t * | agRoot, |
bit32 | interruptVectorIndex | ||
) |
Definition at line 325 of file saint.c.
References agNULL, AGSA_RC_FAILURE, agsaSwConfig_s::fatalErrorInterruptEnable, agsaSwConfig_s::fatalErrorInterruptVector, ossaDisableInterrupts(), ossaHwRegReadExt(), PCIBAR0, agsaLLRoot_s::ResetFailed, SA_ASSERT, SA_DBG1, agsaContext_s::sdkData, siFatalInterruptHandler(), agsaLLRoot_s::swConfig, V_Scratchpad_0_Register, V_Scratchpad_1_Register, V_Scratchpad_2_Register, and V_Scratchpad_3_Register.
GLOBAL bit32 saFlashExtExecute | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | queueNum, | ||
agsaFlashExtExecute_t * | agFlashExtExe | ||
) |
Definition at line 370 of file saioctlcmd.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_MAX_INBOUND_Q, AGSA_RC_BUSY, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, agsaFlashExtExecute_s::agSgl, agTRUE, agsaFlashExtExecute_s::command, agsaFlashExtExecute_s::dataLen, agsaSgl_s::extReserved, agsaLLRoot_s::freeIORequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaLLRoot_s::inboundQueue, agsaLLRoot_s::IOMap, IOMB_SIZE64, agsaIOMap_s::IORequest, agsaSgl_s::len, agsaIORequestDesc_s::linkNode, LL_IOREQ_IBQ0_LOCK, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, MPI_CATEGORY_SAS_SATA, MPI_IB_NUM_MASK, MPI_OB_NUM_MASK, MPI_OB_SHIFT, mpiMsgFreeGet(), mpiMsgProduce(), OPC_INB_FLASH_OP_EXT, OSSA_OFFSET_OF, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaFlashExtExecute_s::partOffset, mpiICQueue_s::priority, SA_ASSERT, SA_DBG1, SA_DBG3, saLlistIOAdd, saLlistIOGetHead, saLlistIORemove, agsaContext_s::sdkData, agsaSgl_s::sgLower, agsaSgl_s::sgUpper, si_memset(), smTraceFuncEnter, smTraceFuncExit, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
GLOBAL bit32 saFrameReadBit32 | ( | agsaRoot_t * | agRoot, |
agsaFrameHandle_t | agFrame, | ||
bit32 | frameOffset | ||
) |
Read 32 bits from a frame.
Read 32 bits from a frame
agRoot | Handles for this instance of SAS/SATA LLL |
agFrame | The frame handler |
frameOffset | Offset in bytes from the beginning of valid frame bytes or IU to the 32-bit value to read |
Definition at line 55 of file saframe.c.
References agNULL, hpDBG_VERY_LOUD, smTraceFuncEnter, and smTraceFuncExit.
GLOBAL void saFrameReadBlock | ( | agsaRoot_t * | agRoot, |
agsaFrameHandle_t | agFrame, | ||
bit32 | frameOffset, | ||
void * | frameBuffer, | ||
bit32 | frameBufLen | ||
) |
Read a block from a frame.
Read a block from a frame
agRoot | Handles for this instance of SAS/SATA LLL |
agFrame | The frame handler |
frameOffset | The offset of the frame to start read |
frameBuffer | The pointer to the destination of data read from the frame |
frameBufLen | Number of bytes to read from the frame |
Definition at line 96 of file saframe.c.
References agNULL, hpDBG_VERY_LOUD, SA_ASSERT, smTraceFuncEnter, and smTraceFuncExit.
Referenced by itdssIOCompleted(), itdssIOSuccessHandler(), itdssTaskCompleted(), ossaSATAEvent(), ossaSMPCAMCompleted(), ossaSMPCompleted(), ossaSSPEvent(), smsatLogSenseCB(), smsatRequestSenseCB(), smSMPCompleted(), tiCOMFrameReadBlock(), and ttdsaSSPReqReceived().
GLOBAL bit32 saFwFlashUpdate | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | queueNum, | ||
agsaUpdateFwFlash_t * | flashUpdateInfo | ||
) |
SPC FW Flash Update Command.
This command sends FW Flash Update Command to SPC.
agRoot | Handles for this instance of SAS/SATA LL |
agContext | Context of SPC FW Flash Update Command |
queueNum | Inbound/outbound queue number |
flashUpdateInfo | Pointer of flash update information |
Definition at line 223 of file saioctlcmd.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_MAX_INBOUND_Q, AGSA_RC_BUSY, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, agsaUpdateFwFlash_s::agSgl, agTRUE, agsaUpdateFwFlash_s::currentImageLen, agsaUpdateFwFlash_s::currentImageOffset, agsaSgl_s::extReserved, agsaFwFlashUpdate_s::extReserved, agsaLLRoot_s::freeIORequests, FWFLASH_IOMB_RESERVED_LEN, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaLLRoot_s::inboundQueue, agsaLLRoot_s::IOMap, IOMB_SIZE64, agsaIOMap_s::IORequest, agsaSgl_s::len, agsaFwFlashUpdate_s::Len, agsaIORequestDesc_s::linkNode, LL_IOREQ_IBQ0_LOCK, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, MPI_CATEGORY_SAS_SATA, MPI_IB_NUM_MASK, MPI_OB_NUM_MASK, MPI_OB_SHIFT, mpiMsgFreeGet(), mpiMsgProduce(), OPC_INB_FW_FLASH_UPDATE, OSSA_OFFSET_OF, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), mpiICQueue_s::priority, agsaFwFlashUpdate_s::reserved0, SA_ASSERT, SA_DBG1, saLlistIOAdd, saLlistIOGetHead, saLlistIORemove, agsaContext_s::sdkData, agsaFwFlashUpdate_s::SGLAH, agsaFwFlashUpdate_s::SGLAL, agsaSgl_s::sgLower, agsaSgl_s::sgUpper, smTraceFuncEnter, smTraceFuncExit, agsaIOMap_s::Tag, agsaUpdateFwFlash_s::totalImageLen, and agsaIORequestDesc_s::valid.
Referenced by tdipFWControlIoctl().
GLOBAL bit32 saGetControllerConfig | ( | agsaRoot_t * | agRoot, |
bit32 | queueNum, | ||
bit32 | modePage, | ||
bit32 | flag0, | ||
bit32 | flag1, | ||
agsaContext_t * | agContext | ||
) |
Retrieve the contents of a controller mode page
saRoot | |
modePage | |
agContext |
Definition at line 1234 of file saport.c.
References AGSA_INTERRUPT_CONFIGURATION_PAGE, AGSA_RC_FAILURE, hpDBG_VERY_LOUD, agsaGetControllerConfigCmd_s::INT_VEC_MSK0, agsaGetControllerConfigCmd_s::INT_VEC_MSK1, mpiGetControllerConfigCmd(), agsaGetControllerConfigCmd_s::pageCode, SA_DBG1, SA_DBG2, si_memset(), smIS_SPCV(), smTraceFuncEnter, and smTraceFuncExit.
Referenced by tiCOMGetControllerConfig(), and tiCOMMgntIOCTL().
GLOBAL bit32 saGetControllerEventLogInfo | ( | agsaRoot_t * | agRoot, |
agsaControllerEventLog_t * | eventLogInfo | ||
) |
SPC Get Controller Event Log Information Command.
This command sends Get Controller Event Log Information Command to SPC.
agRoot | Handles for this instance of SAS/SATA LL |
eventLogInfo | event log information |
Definition at line 1345 of file saioctlcmd.c.
References agsaMemoryRequirement_s::agMemory, agNULL, AGSA_RC_SUCCESS, agsaControllerEventLog_s::eventLog1, agsaControllerEventLog_s::eventLog1Option, agsaControllerEventLog_s::eventLog2, agsaControllerEventLog_s::eventLog2Option, mpiHostLLConfigDescriptor_s::eventLogOption, hpDBG_VERY_LOUD, mpiHostLLConfigDescriptor_s::IOPeventLogOption, agsaLLRoot_s::mainConfigTable, agsaLLRoot_s::memoryAllocated, MPI_EVENTLOG_INDEX, MPI_IOP_EVENTLOG_INDEX, MPI_MEM_INDEX, SA_ASSERT, agsaContext_s::sdkData, smTraceFuncEnter, and smTraceFuncExit.
Referenced by tiCOMMgntIOCTL().
GLOBAL bit32 saGetControllerInfo | ( | agsaRoot_t * | agRoot, |
agsaControllerInfo_t * | controllerInfo | ||
) |
SPC Get Controller Information Command.
This command sends Get Controller Information Command to SPC.
agRoot | Handles for this instance of SAS/SATA LL |
controllerInfo | Controller Information |
Definition at line 714 of file saioctlcmd.c.
References agNULL, AGSA_RC_FAILURE, AGSA_RC_FW_NOT_IN_READY_STATE, AGSA_RC_HDA_NO_FW_RUNNING, AGSA_RC_SUCCESS, BOOTTLOADERHDA_IDLE, agsaControllerInfo_s::controllerSetting, agsaControllerInfo_s::fwInterfaceRev, agsaControllerInfo_s::fwRevision, GEN_MSGU_SCRATCH_PAD_0, GEN_MSGU_SCRATCH_PAD_1, GEN_MSGU_SCRATCH_PAD_2, GEN_MSGU_SCRATCH_PAD_3, gWait_2, HDA_CMD_CODE_OFFSET, HDA_RSP_OFFSET1MB, HDA_STATUS_BITS, hpDBG_VERY_LOUD, agsaControllerInfo_s::hwRevision, agsaControllerInfo_s::ilaRevision, MAIN_CNTRL_CAP_OFFSET, MAIN_FW_REVISION, MAIN_HDA_FLAG_BITS, MAIN_HDA_FLAGS_OFFSET, MAIN_ILAT_ILAV_ILASMRN_ILAMRN_ILAMJN, MAIN_INTERFACE_REVISION, MAIN_MAX_DEV_BITS, MAIN_MAX_OUTSTANDING_IO_OFFSET, MAIN_MAX_SGL_BITS, MAIN_MAX_SGL_OFFSET, MAIN_PHY_COUNT_MASK, MAIN_QSUPPORT_BITS, MAIN_SAS_SUPPORT_BITS, MAKE_MODULO, MATCHING_SPC_FW_VERSION, agsaControllerInfo_s::maxDevices, agsaControllerInfo_s::maxPendingIO, agsaControllerInfo_s::maxSgElements, mpiGetPCIBarIndex(), MSGU_SCRATCH_PAD_0, MSGU_SCRATCH_PAD_1, MSGU_SCRATCH_PAD_2, MSGU_SCRATCH_PAD_3, ossaHwRegReadConfig32(), ossaHwRegReadExt(), ossaStallThread(), PCIBAR3, agsaControllerInfo_s::PCILinkRate, agsaControllerInfo_s::PCIWidth, agsaControllerInfo_s::phyCount, agsaControllerInfo_s::queueSupport, SA_DBG1, SA_DBG2, agsaControllerInfo_s::sasSpecsSupport, SCRATCH_PAD0_BAR_MASK, SCRATCH_PAD0_OFFSET_MASK, SCRATCH_PAD1_RDY, SCRATCH_PAD1_RESERVED, SCRATCH_PAD1_V_BOOTSTATE_MASK, SCRATCH_PAD1_V_ERROR_STATE, SCRATCH_PAD1_V_ILA_ERROR_STATE, SCRATCH_PAD1_V_IOP0_ERROR_STATE, SCRATCH_PAD1_V_IOP1_ERROR_STATE, SCRATCH_PAD1_V_RAAE_ERROR_STATE, SCRATCH_PAD1_V_READY, SCRATCH_PAD1_V_RESERVED, SCRATCH_PAD2_RDY, SCRATCH_PAD2_RESERVED, SCRATCH_PAD_STATE_MASK, agsaContext_s::sdkData, agsaControllerInfo_s::sdkInterfaceRev, agsaControllerInfo_s::sdkRevision, SHIFT16, SHIFT19, SHIFT25, SHIFT26, SHIFT4, si_check_V_HDA(), si_memset(), agsaControllerInfo_s::signature, siHalRegReadExt(), smIS_SPC(), smIS_SPC12V(), smIS_SPC6V(), smIS_SPCV(), smTraceFuncEnter, smTraceFuncExit, SPC_READ_DEV_REV, STSDK_LL_12G_INTERFACE_VERSION, STSDK_LL_12G_VERSION, STSDK_LL_INTERFACE_VERSION, STSDK_LL_SPC_VERSION, STSDK_LL_VERSION, WAIT_INCREMENT, and WAIT_SECONDS.
Referenced by tdsaGetPhyGeneralStatusIoctl(), tiCOMMgntIOCTL(), and tiCOMPortInit().
GLOBAL bit32 saGetControllerStatus | ( | agsaRoot_t * | agRoot, |
agsaControllerStatus_t * | controllerStatus | ||
) |
SPC Get Controller Status Command.
This command sends Get Controller Status Command to SPC.
agRoot | Handles for this instance of SAS/SATA LL |
controllerStatus | controller status |
Definition at line 974 of file saioctlcmd.c.
References agNULL, AGSA_RC_FAILURE, AGSA_RC_FW_NOT_IN_READY_STATE, AGSA_RC_HDA_NO_FW_RUNNING, AGSA_RC_SUCCESS, agsaControllerStatus_s::bootComponentState, agsaControllerStatus_s::bootStatus, BOOTTLOADERHDA_IDLE, agsaFatalErrorInfo_s::errorInfo0, agsaFatalErrorInfo_s::errorInfo1, agsaFatalErrorInfo_s::errorInfo2, agsaFatalErrorInfo_s::errorInfo3, mpiHostLLConfigDescriptor_s::FatalErrorDumpLength0, mpiHostLLConfigDescriptor_s::FatalErrorDumpLength1, mpiHostLLConfigDescriptor_s::FatalErrorDumpOffset0, mpiHostLLConfigDescriptor_s::FatalErrorDumpOffset1, agsaControllerStatus_s::fatalErrorInfo, GEN_MSGU_SCRATCH_PAD_0, GEN_MSGU_SCRATCH_PAD_1, GEN_MSGU_SCRATCH_PAD_3, GST_INF_STATE_BITS, spc_GSTableDescriptor_s::GSTLenMPIS, HDA_CMD_CODE_OFFSET, HDA_RSP_OFFSET1MB, HDA_STATUS_BITS, hpDBG_VERY_LOUD, agsaControllerStatus_s::interfaceState, spc_GSTableDescriptor_s::Iop1Tcnt, spc_GSTableDescriptor_s::IopTcnt, agsaControllerStatus_s::iqFreezeState0, spc_GSTableDescriptor_s::IQFreezeState0, agsaControllerStatus_s::iqFreezeState1, spc_GSTableDescriptor_s::IQFreezeState1, IS_SDKDATA, agsaPhy_s::linkstatus, MAIN_FATAL_ERROR_RDUMP0_LENGTH, MAIN_FATAL_ERROR_RDUMP0_OFFSET, MAIN_FATAL_ERROR_RDUMP1_LENGTH, MAIN_FATAL_ERROR_RDUMP1_OFFSET, agsaLLRoot_s::mainConfigTable, MAKE_MODULO, mpiGetPCIBarIndex(), mpiReadGSTable(), MSGU_SCRATCH_PAD_0, MSGU_SCRATCH_PAD_1, MSGU_SCRATCH_PAD_2, MSGU_SCRATCH_PAD_3, spc_GSTableDescriptor_s::MsguTcnt, OSSA_DIF_ENGINE_FAILURE_MASK, OSSA_ENCRYPT_ENGINE_FAILURE_MASK, ossaHwRegRead(), ossaHwRegReadExt(), ossaStallThread(), PCIBAR3, agsaLLRoot_s::phys, spc_GSTableDescriptor_s::PhyState, agsaControllerStatus_s::phyStatus, agsaControllerStatus_s::recoverableErrorInfo, spc_GSTableDescriptor_s::recoverErrInfo, agsaFatalErrorInfo_s::regDumpBusBaseNum0, agsaFatalErrorInfo_s::regDumpBusBaseNum1, agsaFatalErrorInfo_s::regDumpLen0, agsaFatalErrorInfo_s::regDumpLen1, agsaFatalErrorInfo_s::regDumpOffset0, agsaFatalErrorInfo_s::regDumpOffset1, mpiHostLLConfigDescriptor_s::regDumpPCIBAR, SA_DBG1, SA_DBG2, SCRATCH_PAD0_BAR_MASK, SCRATCH_PAD0_OFFSET_MASK, SCRATCH_PAD1_ERR, SCRATCH_PAD1_RDY, SCRATCH_PAD1_RESERVED, SCRATCH_PAD1_V_RESERVED, SCRATCH_PAD2_ERR, SCRATCH_PAD2_RDY, SCRATCH_PAD2_RESERVED, SCRATCH_PAD_STATE_MASK, agsaContext_s::sdkData, SHIFT10, SHIFT12, SHIFT14, SHIFT16, SHIFT18, SHIFT2, SHIFT23, SHIFT24, SHIFT26, SHIFT4, SHIFT8, SHIFT9, si_check_V_HDA(), si_check_V_Ready(), si_memset(), siHalRegReadExt(), smIS_SPC(), smTraceFuncEnter, smTraceFuncExit, agsaControllerStatus_s::tickCount0, agsaControllerStatus_s::tickCount1, agsaControllerStatus_s::tickCount2, V_Scratchpad_0_Register, V_Scratchpad_1_Register, V_Scratchpad_2_Register, V_Scratchpad_3_Register, WAIT_INCREMENT, and WAIT_SECONDS.
Referenced by saHwReset(), tiCOMPortInit(), tiCOMPortStop(), and tiCOMReset().
GLOBAL bit32 saGetDeviceHandles | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | queueNum, | ||
agsaPortContext_t * | agPortContext, | ||
bit32 | flags, | ||
agsaDevHandle_t * | agDev[], | ||
bit32 | skipCount, | ||
bit32 | MaxDevs | ||
) |
Get Device Handles from a specific local port.
Get a Device Handles
agRoot | Handles for this instance of SAS/SATA hardware |
agsaContext | Pointer to this API context |
agPortContext | Pointer to this instance of port context |
flags | Device flags |
agDev[] | Pointer of array of device handles |
MaxDevs | Specified Maximum number of Device Handles |
Definition at line 243 of file sadisc.c.
References agNULL, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, agsaLLRoot_s::DeviceHandle, flags, hpDBG_VERY_LOUD, mpiGetDeviceHandleCmd(), OS_ASSERT, agsaPort_s::portId, SA_DBG1, agsaContext_s::sdkData, smTraceFuncEnter, and smTraceFuncExit.
GLOBAL bit32 saGetDeviceInfo | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | option, | ||
bit32 | queueNum, | ||
agsaDevHandle_t * | agDevHandle | ||
) |
Get Device Information.
Get SAS/SATA device information API
agRoot | Handles for this instance of SAS/SATA hardware |
option | device general information or extended information |
agDevHandle | Pointer of device handle |
Definition at line 609 of file sadisc.c.
References agNULL, AGSA_RC_FAILURE, DEVICE_ID_BITS, agsaDeviceMap_s::DeviceHandle, agsaDeviceMap_s::DeviceIdFromFW, agsaLLRoot_s::DeviceMap, agsaDeviceDesc_s::DeviceMapIndex, hpDBG_VERY_LOUD, mpiGetDeviceInfoCmd(), OS_ASSERT, SA_DBG1, SA_DBG3, agsaContext_s::sdkData, smTraceFuncEnter, and smTraceFuncExit.
Referenced by tiINIGetDeviceInfo().
GLOBAL bit32 saGetDeviceState | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | queueNum, | ||
agsaDevHandle_t * | agDevHandle | ||
) |
Get Device State.
Get SAS/SATA device state API
agRoot | Handles for this instance of SAS/SATA hardware |
agContext | Pointer to this API context |
queueNum | IQ/OQ number |
agDevHandle | Pointer of device handler |
Definition at line 739 of file sadisc.c.
References agNULL, AGSA_RC_FAILURE, DEVICE_ID_BITS, agsaDeviceMap_s::DeviceHandle, agsaDeviceMap_s::DeviceIdFromFW, agsaLLRoot_s::DeviceMap, agsaDeviceDesc_s::DeviceMapIndex, hpDBG_VERY_LOUD, mpiGetDeviceStateCmd(), OS_ASSERT, SA_DBG1, SA_DBG3, agsaContext_s::sdkData, smTraceFuncEnter, and smTraceFuncExit.
GLOBAL bit32 saGetDFEData | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | queueNum, | ||
bit32 | interface, | ||
bit32 | laneNumber, | ||
bit32 | interations, | ||
agsaSgl_t * | agSgl | ||
) |
Definition at line 3923 of file saioctlcmd.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_BUSY, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, agTRUE, agsaSgl_s::extReserved, agsaLLRoot_s::freeIORequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaLLRoot_s::IOMap, IOMB_SIZE128, agsaIOMap_s::IORequest, agsaSgl_s::len, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, MPI_CATEGORY_SAS_SATA, mpiBuildCmd(), OPC_INB_GET_DFE_DATA, OSSA_OFFSET_OF, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), SA_ASSERT, SA_DBG1, saLlistIOAdd, saLlistIOGetHead, saLlistIORemove, agsaContext_s::sdkData, agsaSgl_s::sgLower, agsaSgl_s::sgUpper, SHIFT7, si_memset(), smIS_SPCV(), smTraceFuncEnter, smTraceFuncExit, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
GLOBAL void saGetDifErrorDetails | ( | agsaRoot_t * | agRoot, |
agsaIORequest_t * | agIORequest, | ||
agsaDifDetails_t * | difDetails | ||
) |
GLOBAL bit32 saGetForensicData | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
agsaForensicData_t * | forensicData | ||
) |
Definition at line 3004 of file saioctlcmd.c.
References ossaGetForensicDataCB(), siGetForensicData(), and status.
Referenced by tdsaForensicDataGetIoctl(), tiCOMReset(), and tiCOMShutDown().
bit32 saGetIOErrorStats | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | flag | ||
) |
Definition at line 3016 of file saioctlcmd.c.
References AGSA_RC_SUCCESS, agsaLLRoot_s::IoErrorCount, ossaGetIOErrorStatsCB(), agsaContext_s::sdkData, si_memset(), and status.
Referenced by tdsaIoErrorStatisticGetIoctl().
bit32 saGetIOEventStats | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | flag | ||
) |
Definition at line 3036 of file saioctlcmd.c.
References AGSA_RC_SUCCESS, agsaLLRoot_s::IoEventCount, ossaGetIOEventStatsCB(), agsaContext_s::sdkData, si_memset(), and status.
Referenced by tdsaIoEventStatisticGetIoctl().
GLOBAL bit32 saGetNVMDCommand | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | queueNum, | ||
agsaNVMDData_t * | NVMDInfo | ||
) |
SPC Get NVMD Command.
This command sends GET_NVMD_DATA Command to SPC.
agRoot | Handles for this instance of SAS/SATA LL |
agContext | Context of SPC FW Flash Update Command |
queueNum | Inbound/outbound queue number |
NVMDInfo | Pointer of NVM Device information |
Definition at line 3292 of file saioctlcmd.c.
References agNULL, AGSA_RC_SUCCESS, mpiGetNVMDCmd(), and SA_ASSERT.
Referenced by tdsaNVMDGetIoctl().
GLOBAL bit32 saGetOperator | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | queueNum, | ||
bit32 | option, | ||
bit32 | AddrHi, | ||
bit32 | AddrLo | ||
) |
Definition at line 1395 of file saport.c.
References AGSA_RC_SUCCESS, hpDBG_VERY_LOUD, mpiGetOperatorCmd(), agsaGetOperatorCmd_s::OprBufAddrHi, agsaGetOperatorCmd_s::OprBufAddrLo, agsaGetOperatorCmd_s::option, SA_DBG1, si_memset(), smTraceFuncEnter, and smTraceFuncExit.
Referenced by tiCOMGetOperator().
GLOBAL bit32 saGetPhyProfile | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | queueNum, | ||
bit32 | ppc, | ||
bit32 | phyID | ||
) |
Definition at line 823 of file saphy.c.
References 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, hpDBG_VERY_LOUD, mpiGetPhyProfileCmd(), OSSA_FAILURE, ossaGetPhyProfileCB(), agsaLLRoot_s::phyCount, SA_ASSERT, SA_DBG1, SA_DBG3, agsaContext_s::sdkData, si_memset(), smIS_SPCV(), and smTraceFuncExit.
Referenced by tdsaGetPhyGeneralStatusIoctl(), tdsaPhyProfileIoctl(), and tiCOMPortStop().
GLOBAL bit32 saGetRegisterDump | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | queueNum, | ||
agsaRegDumpInfo_t * | regDumpInfo | ||
) |
Initiate a GET REGISTER DUMP command.
This function is called to Get Register Dump from the SPC.
agRoot | handles for this instance of SAS/SATA hardware |
agContext | the context of this API |
queueNum | queue number |
regDumpInfo | register dump information |
Definition at line 3071 of file saioctlcmd.c.
References agNULL, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, agsaRegDumpInfo_s::directData, agsaRegDumpInfo_s::directLen, GET_GSM_SM_INFO, GET_IOST_RB_INFO, hpDBG_VERY_LOUD, agsaRegDumpInfo_s::indirectAddrLower32, agsaRegDumpInfo_s::indirectAddrUpper32, agsaRegDumpInfo_s::indirectLen, mpiNVMReadRegDumpCmd(), OSSA_FAILURE, OSSA_SUCCESS, ossaGetRegisterDumpCB(), REG_DUMP_FLASH, REG_DUMP_NONFLASH, agsaRegDumpInfo_s::regDumpNum, agsaRegDumpInfo_s::regDumpOffset, agsaRegDumpInfo_s::regDumpSrc, REGISTER_DUMP_BUFF_SIZE, agsaLLRoot_s::registerDump0, agsaLLRoot_s::registerDump1, SA_ASSERT, SA_DBG1, SA_DBG3, agsaContext_s::sdkData, si_memcpy(), siGSMDump(), siSpcGetErrorContent(), siSpcvGetErrorContent(), smIS_SPC(), smIS_SPCV(), smTraceFuncEnter, smTraceFuncExit, SPC_GSM_SM_OFFSET, and SPCV_GSM_SM_OFFSET.
Referenced by tdsaRegDumpGetIoctl().
GLOBAL void saGetRequirements | ( | agsaRoot_t * | agRoot, |
agsaSwConfig_t * | swConfig, | ||
agsaMemoryRequirement_t * | memoryRequirement, | ||
bit32 * | usecsPerTick, | ||
bit32 * | maxNumLocks | ||
) |
Get the memory and lock requirement from LL layer.
Get the memory and lock requirement from LL layer
agRoot | Handles for this instance of SAS/SATA hardware |
swConfig | Pointer to the software configuration |
memoryRequirement | Point to the data structure that holds the different chunks of memory that are required |
usecsPerTick | micro-seconds per tick for the LL layer |
maxNumLocks | maximum number of locks for the LL layer |
Definition at line 74 of file sainit.c.
References agsaMemoryRequirement_s::agMemory, agNULL, AGSA_CACHED_MEM, AGSA_DMA_MEM, AGSA_MAX_INBOUND_Q, AGSA_NUM_MEM_CHUNKS, agsaMem_s::alignment, mpiMem_s::alignment, agsaMemoryRequirement_s::count, mpiMemReq_s::count, DEVICELINK_MEM_INDEX, agsaSwConfig_s::disableMDF, mpiMem_s::elementSize, HDA_DMA_BUFFER, agsaSwConfig_s::hostDirectAccessMode, agsaSwConfig_s::hostDirectAccessSupport, IOREQLINK_MEM_INDEX, agsaSwConfig_s::legacyInt_X, LL_FAST_IO, LL_FUNCTION_TRACE, LL_IOREQ_IBQ_LOCK, LL_IOREQ_IBQ_LOCK_PARM, LLROOT_MEM_INDEX, agsaSwConfig_s::max_MSI_InterruptVectors, agsaSwConfig_s::max_MSIX_InterruptVectors, agsaSwConfig_s::maxActiveIOs, mpiRequirementsGet(), NUM_TIMERS, agsaSwConfig_s::numDevHandles, agsaMem_s::numElements, mpiMem_s::numElements, agsaQueueConfig_s::numInboundQueues, agsaSwConfig_s::param3, mpiMemReq_s::region, SA_ASSERT, SA_DBG1, SA_RESERVED_REQUEST_COUNT, SA_USECS_PER_TICK, si_memset(), siConfiguration(), agsaMem_s::singleElementLength, agsaSwConfig_s::stallUsec, TIMERLINK_MEM_INDEX, agsaMem_s::totalLength, mpiMem_s::totalLength, agsaMem_s::type, and mpiMem_s::type.
Referenced by tdsaLoLevelGetResource(), and tiCOMPortInit().
GLOBAL bit32 saGetTimeStamp | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | queueNum | ||
) |
Initiate a GET TIME STAMP command.
This function is called to initiate a Get Time Stamp command to the SPC. The completion of this function is reported in ossaGetTimeStampCB().
agRoot | handles for this instance of SAS/SATA hardware |
agContext | the context of this API |
queueNum | queue number |
Definition at line 1982 of file saioctlcmd.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_BUSY, AGSA_RC_FAILURE, 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_TIME_STAMP, 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.
GLOBAL bit32 saGpioEventSetup | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | queueNum, | ||
agsaGpioEventSetupInfo_t * | gpioEventSetupInfo | ||
) |
SPC Set GPIO Event Setup Command.
This command sends GPIO Event Setup Command to SPC.
agRoot | Handles for this instance of SAS/SATA LL |
agsaContext | Context of this command |
queueNum | Queue number of inbound/outbound queue |
gpioEventSetupInfo | Pointer of Event Setup Information structure |
Definition at line 1384 of file saioctlcmd.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_BUSY, AGSA_RC_SUCCESS, agTRUE, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, GPIO_GE_BIT, agsaGpioEventSetupInfo_s::gpioEventFallingEdge, agsaGpioEventSetupInfo_s::gpioEventLevel, agsaGpioEventSetupInfo_s::gpioEventRisingEdge, 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_GPIO, OSSA_OFFSET_OF, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), SA_ASSERT, SA_DBG1, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, saLlistIOGetHead, saLlistIORemove, agsaContext_s::sdkData, si_memset(), smTraceFuncEnter, smTraceFuncExit, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
GLOBAL bit32 saGpioPinSetup | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | queueNum, | ||
agsaGpioPinSetupInfo_t * | gpioPinSetupInfo | ||
) |
SPC Set GPIO Pin Setup Command.
This command sends GPIO Pin Setup Command to SPC.
agRoot | Handles for this instance of SAS/SATA LL |
agsaContext | Context of this command |
queueNum | Queue number of inbound/outbound queue |
gpioPinSetupInfo | Pointer of Event Setup Information structure |
Definition at line 1477 of file saioctlcmd.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_BUSY, AGSA_RC_SUCCESS, agTRUE, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, GPIO_GS_BIT, agsaGpioPinSetupInfo_t::gpioInputEnabled, agsaGpioPinSetupInfo_t::gpioTypePart1, agsaGpioPinSetupInfo_t::gpioTypePart2, 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_GPIO, OSSA_OFFSET_OF, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), SA_ASSERT, SA_DBG1, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, saLlistIOGetHead, saLlistIORemove, agsaContext_s::sdkData, si_memset(), smTraceFuncEnter, smTraceFuncExit, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
GLOBAL bit32 saGpioRead | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | queueNum | ||
) |
SPC GPIO Read Command.
This command sends GPIO Read Command to SPC.
agRoot | Handles for this instance of SAS/SATA LL |
agsaContext | Context of this command |
queueNum | Queue number of inbound/outbound queue |
Definition at line 1567 of file saioctlcmd.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_BUSY, AGSA_RC_SUCCESS, agTRUE, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, GPIO_GR_BIT, 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_GPIO, OSSA_OFFSET_OF, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), SA_ASSERT, SA_DBG1, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, saLlistIOGetHead, saLlistIORemove, agsaContext_s::sdkData, si_memset(), smTraceFuncEnter, smTraceFuncExit, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
GLOBAL bit32 saGpioWrite | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | queueNum, | ||
bit32 | gpioWriteMask, | ||
bit32 | gpioWriteValue | ||
) |
SPC GPIO Write Command.
This command sends GPIO Write Command to SPC.
agRoot | Handles for this instance of SAS/SATA LL |
agsaContext | Context of this command |
queueNum | Queue number of inbound/outbound queue |
gpioWriteMask | GPIO Write Mask |
gpioWriteValue | GPIO Write Value |
Definition at line 1657 of file saioctlcmd.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_BUSY, AGSA_RC_SUCCESS, agTRUE, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, GPIO_GW_BIT, 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_GPIO, OSSA_OFFSET_OF, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), SA_ASSERT, SA_DBG1, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, saLlistIOGetHead, saLlistIORemove, agsaContext_s::sdkData, si_memset(), smTraceFuncEnter, smTraceFuncExit, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
GLOBAL bit32 saHwEventAck | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | queueNum, | ||
agsaEventSource_t * | eventSource, | ||
bit32 | param0, | ||
bit32 | param1 | ||
) |
Initiate a HW Event Ack command.
This function is called to initiate a HW Event Ack command to the SPC. The completion of this function is reported in ossaHwEventAckCB().
agRoot | handles for this instance of SAS/SATA hardware |
agContext | the context of this API |
queueNum | queue number |
eventSource | point to the event source structure |
param0 | |
param1 |
Definition at line 1004 of file saphy.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, agsaEventSource_s::agPortContext, AGSA_RC_BUSY, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, agTRUE, agsaEventSource_s::event, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaIORequestDesc_s::HwAckType, agsaLLRoot_s::IOMap, IOMB_SIZE64, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, MPI_CATEGORY_SAS_SATA, mpiBuildCmd(), OPC_INB_SAS_HW_EVENT_ACK, OPC_INB_SPC_SAS_HW_EVENT_ACK, OSSA_HW_EVENT_PHY_DOWN, OSSA_OFFSET_OF, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaEventSource_s::param, agsaPort_s::portId, agsaIORequestDesc_s::pPort, SA_ASSERT, SA_DBG1, SA_DBG2, SA_DBG3, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, saLlistIOGetHead, saLlistIORemove, agsaContext_s::sdkData, SHIFT24, SHIFT8, si_memset(), smIS_SPC(), smTraceFuncEnter, smTraceFuncExit, agsaIOMap_s::Tag, agsaPort_s::tobedeleted, and agsaIORequestDesc_s::valid.
Referenced by ossaDeregisterDeviceHandleCB(), and ossaHwCB().
GLOBAL void saHwReset | ( | agsaRoot_t * | agRoot, |
bit32 | resetType, | ||
bit32 | resetParm | ||
) |
Function to reset the Hardware.
The saHwReset() function is called to reset the SAS/SATA HW controller All outstanding I/Os are explicitly aborted. This API need to access before saInitialize() so checking saRoot is needed
agRoot | Handles for this instance of SAS/SATA hardware |
resetType | The reset type |
resetParm | The paramter passed for reset operation |
Definition at line 87 of file sahw.c.
References agFALSE, agNULL, AGSA_CHIP_RESET, AGSA_RC_HDA_NO_FW_RUNNING, AGSA_RC_SUCCESS, AGSA_SOFT_RESET, agTRUE, BOOTTLOADERHDA_IDLE, CHIP_RESET_FW, CHIP_RESETTING, agsaLLRoot_s::chipStatus, agsaFatalErrorInfo_s::errorInfo0, agsaFatalErrorInfo_s::errorInfo1, agsaFatalErrorInfo_s::errorInfo2, agsaFatalErrorInfo_s::errorInfo3, mpiHostLLConfigDescriptor_s::FatalErrorDumpLength0, mpiHostLLConfigDescriptor_s::FatalErrorDumpLength1, mpiHostLLConfigDescriptor_s::FatalErrorDumpOffset0, mpiHostLLConfigDescriptor_s::FatalErrorDumpOffset1, GEN_MSGU_SCRATCH_PAD_0, GEN_MSGU_SCRATCH_PAD_1, GEN_MSGU_SCRATCH_PAD_2, GEN_MSGU_SCRATCH_PAD_3, HDA_CMD_CODE_OFFSET, HDA_RSP_OFFSET1MB, HDA_STATUS_BITS, hpDBG_VERY_LOUD, agsaLLRoot_s::hwConfig, agsaLLRoot_s::mainConfigTable, agsaSwConfig_s::maxActiveIOs, agsaLLRoot_s::memoryAllocated, MSGU_SCRATCH_PAD_0, MSGU_SCRATCH_PAD_1, MSGU_SCRATCH_PAD_2, MSGU_SCRATCH_PAD_3, OSSA_FAILURE, OSSA_HW_EVENT_MALFUNCTION, OSSA_HW_EVENT_RESET_COMPLETE, OSSA_HW_EVENT_RESET_START, OSSA_SUCCESS, ossaHwCB(), ossaHwRegReadExt(), PCIBAR3, REG_DUMP_NUM0, REG_DUMP_NUM1, agsaFatalErrorInfo_s::regDumpBusBaseNum0, agsaFatalErrorInfo_s::regDumpBusBaseNum1, agsaFatalErrorInfo_s::regDumpLen0, agsaFatalErrorInfo_s::regDumpLen1, agsaFatalErrorInfo_s::regDumpOffset0, agsaFatalErrorInfo_s::regDumpOffset1, mpiHostLLConfigDescriptor_s::regDumpPCIBAR, agsaLLRoot_s::registerDump0, agsaLLRoot_s::registerDump1, agsaLLRoot_s::ResetFailed, agsaLLRoot_s::ResetStartTick, SA_ASSERT, SA_DBG1, saCountActiveIORequests(), saGetControllerStatus(), saSystemInterruptsActive(), SCRATCH_PAD1_ERR, SCRATCH_PAD1_V_BOOTLDR_ERROR, SCRATCH_PAD1_V_ERROR_STATE, SCRATCH_PAD1_V_READY, SCRATCH_PAD2_ERR, SCRATCH_PAD_STATE_MASK, agsaContext_s::sdkData, SHIFT8, si_memset(), siChipReset(), siChipResetV(), siDumpActiveIORequests(), siGetRegisterDumpGSM(), siHalRegReadExt(), siInitResources(), siSpcSoftReset(), smIS_SPC(), smIS_SPCV(), smTraceFuncEnter, smTraceFuncExit, SPC_SOFT_RESET_SIGNATURE, agsaLLRoot_s::swConfig, agsaLLRoot_s::sysIntsActive, agsaLLRoot_s::timeTick, and agsaLLRoot_s::usecsPerTick.
Referenced by tiCOMReset().
GLOBAL void saHwShutdown | ( | agsaRoot_t * | agRoot | ) |
Function to shutdown the Hardware.
The saHwShutdown() function is called to discontinue the use of the SAS/SATA hardware. Upon return, the SASA/SAT hardware instance does not generate any interrupts or any other bus accesses. All LL Layer hardware host resources (i.e. both cached and noncached memory) are no longer owned by the LL Layer.
agRoot | handles for this instance of SAS/SATA hardware |
Definition at line 395 of file sahw.c.
References agNULL, mpiOCQueue_s::agRoot, CHIP_SHUTDOWN, agsaLLRoot_s::chipStatus, mpiOCQueue_s::consumerIdx, GEN_MSGU_SCRATCH_PAD_0, GEN_MSGU_SCRATCH_PAD_1, GEN_MSGU_SCRATCH_PAD_2, GEN_MSGU_SCRATCH_PAD_3, agsaSwConfig_s::hostDirectAccessMode, agsaSwConfig_s::hostDirectAccessSupport, hpDBG_VERY_LOUD, agsaLLRoot_s::hwConfig, agsaLLRoot_s::memoryAllocated, mpiUnInitConfigTable(), MSGU_SCRATCH_PAD_0, MSGU_SCRATCH_PAD_1, MSGU_SCRATCH_PAD_2, MSGU_SCRATCH_PAD_3, agsaQueueConfig_s::numOutboundQueues, agsaLLRoot_s::outboundQueue, mpiOCQueue_s::piPointer, mpiOCQueue_s::producerIdx, agsaLLRoot_s::QueueConfig, SA_ASSERT, SA_DBG1, SA_DBG4, agsaContext_s::sdkData, siChipResetV(), siHalRegReadExt(), siInitResources(), siScratchDump(), siSpcSoftReset(), smIS_SPC(), smIS_SPCV(), smTraceFuncEnter, smTraceFuncExit, SPC_HDASOFT_RESET_SIGNATURE, SPC_SOFT_RESET_SIGNATURE, agsaLLRoot_s::swConfig, and agsaLLRoot_s::usecsPerTick.
Referenced by tiCOMShutDown().
GLOBAL bit32 saInitialize | ( | agsaRoot_t * | agRoot, |
agsaMemoryRequirement_t * | memoryAllocated, | ||
agsaHwConfig_t * | hwConfig, | ||
agsaSwConfig_t * | swConfig, | ||
bit32 | usecsPerTick | ||
) |
Initialize the Hardware.
Initialize the Hardware
agRoot | Handles for this instance of SAS/SATA hardware |
memoryAllocated | Point to the data structure that holds the different chunks of memory that are required |
hwConfig | Pointer to the hardware configuration |
swConfig | Pointer to the software configuration |
usecsPerTick | micro-seconds per tick for the LL layer |
Definition at line 303 of file sainit.c.
References agFALSE, agsaMemoryRequirement_s::agMemory, agNULL, mpiOCQueue_s::agRoot, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, AGSA_RC_VERSION_UNTESTED, AGSA_REQ_TYPE_UNKNOWN, AGSAMEM_ELEMENT_READ, agTRUE, agsaMem_s::alignment, mpiMem_s::alignment, mpiMem_s::appHandle, agsaLLRoot_s::autoDeregDeviceflag, BOOTTLOADERHDA_IDLE, CHIP_FATAL_ERROR, CHIP_NORMAL, agsaLLRoot_s::ChipId, agsaLLRoot_s::chipStatus, mpiOCQueue_s::consumerIdx, agsaLLRoot_s::ControllerInfo, agsaMemoryRequirement_s::count, mpiMemReq_s::count, 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, agsaLLRoot_s::DisableInterrupts, agsaSwConfig_s::disableMDF, mpiMem_s::elementSize, agsaTimerDesc_s::Event, FALSE, agsaSwConfig_s::fatalErrorInterruptEnable, agsaSwConfig_s::fatalErrorInterruptVector, agsaLLRoot_s::freeDevicesList, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freePorts, agsaLLRoot_s::freeReservedRequests, agsaLLRoot_s::freeTimers, gLLDebugLevel, gPollForMissingInt, HDA_CMD_CODE_OFFSET, HDA_RSP_OFFSET1MB, HDA_STATUS_BITS, agsaSwConfig_s::hostDirectAccessMode, agsaSwConfig_s::hostDirectAccessSupport, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaLLRoot_s::hwConfig, agsaHwConfig_s::hwInterruptCoalescingControl, agsaHwConfig_s::hwInterruptCoalescingTimer, agsaDeviceDesc_s::initiatorDevHandle, agsaQueueOutbound_s::interruptCount, agsaQueueOutbound_s::interruptDelay, agsaLLRoot_s::interruptVecIndexBitMap, agsaLLRoot_s::interruptVecIndexBitMap1, agsaLLRoot_s::IoErrorCount, agsaLLRoot_s::IoEventCount, agsaLLRoot_s::IOMap, IOREQLINK_MEM_INDEX, agsaIOMap_s::IORequest, agsaLLRoot_s::IORequestMem, agsaSwConfig_s::legacyInt_X, agsaTimerDesc_s::linkNode, agsaPort_s::linkNode, agsaDeviceDesc_s::linkNode, agsaIORequestDesc_s::linkNode, agsaPort_s::listSASATADevices, LL_FAST_IO, LL_FUNCTION_TRACE, LL_IOREQ_IBQ0_LOCK, LLROOT_MEM_INDEX, MARK_OFF, MAX_ACTIVE_IO_REQUESTS, MAX_IO_DEVICE_ENTRIES, agsaSwConfig_s::max_MSI_InterruptVectors, agsaSwConfig_s::max_MSIX_InterruptVectors, MAX_NUM_VECTOR, agsaSwConfig_s::maxActiveIOs, agsaControllerInfo_s::maxPendingIO, MBIC_GSM_SM_BASE, agsaLLRoot_s::memoryAllocated, agsaLLRoot_s::minStallusecs, MPI_IBQ_OBQ_INDEX, MPI_MEM_INDEX, agsaLLRoot_s::mpiConfig, mpiInitialize(), MSGU_SCRATCH_PAD_0, MSGU_SCRATCH_PAD_1, MSGU_SCRATCH_PAD_2, MSGU_SCRATCH_PAD_3, NUM_TIMERS, agsaSwConfig_s::numDevHandles, agsaMem_s::numElements, mpiMem_s::numElements, agsaQueueConfig_s::numInboundQueues, agsaQueueConfig_s::numOutboundQueues, agsaContext_s::osData, agsaMem_s::osHandle, ossaDisableInterrupts(), ossaHwRegRead(), ossaHwRegReadConfig32(), ossaHwRegReadExt(), ossaHwRegWriteExt(), ossaReenableInterrupts(), agsaLLRoot_s::OurInterrupt, agsaLLRoot_s::outboundQueue, agsaQueueConfig_s::outboundQueues, agsaSwConfig_s::param3, agsaSwConfig_s::param4, PCI_TRIGGER_INIT_TEST, PCIBAR0, PCIBAR1, PCIBAR3, agsaIORequestDesc_s::pDevice, agsaDeviceDesc_s::pendingIORequests, agsaTimerDesc_s::pfnTimeout, PHY_STATUS_SET, PHY_STOPPED, agsaMem_s::phyAddrLower, agsaMem_s::phyAddrUpper, agsaHwConfig_s::phyAnalogConfig, mpiConfig_s::phyAnalogConfig, agsaHwConfig_s::phyCount, agsaLLRoot_s::phyCount, agsaPhy_s::phyId, agsaPort_s::phyMap, agsaLLRoot_s::phys, mpiMem_s::physAddrLower, mpiMem_s::physAddrUpper, 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, agsaSwConfig_s::PortRecoveryResetTimer, agsaLLRoot_s::ports, agsaPortMap_s::PortStatus, agsaTimerDesc_s::pParm, agsaPhy_s::pPort, agsaDeviceDesc_s::pPort, agsaIORequestDesc_s::pPort, mpiOCQueue_s::producerIdx, agsaLLRoot_s::QueueConfig, agsaLLRoot_s::ReEnableInterrupts, mpiMemReq_s::region, agsaIORequestDesc_s::requestType, SA_ASSERT, SA_DBG1, SA_DBG2, SA_RESERVED_REQUEST_COUNT, saLlinkInitialize, saLlistAdd, saLlistInitialize, saLlistIOAdd, saLlistIOGetCount, saLlistIOInitialize, SAS_SATA_UNKNOWN_DEVICE, SCRATCH_PAD1_V_RAAE_MASK, SCRATCH_PAD3_V_ENC_DIS_ERR, SCRATCH_PAD3_V_ENC_ENA_ERR, SCRATCH_PAD3_V_ENC_MASK, agsaContext_s::sdkData, si_macro_check(), si_memcpy(), si_memset(), siBar4Shift(), siChipResetV(), siConfiguration(), siDisableLegacy_V_Interrupts(), siDisableLegacyInterrupts(), siDisableMSIInterrupts(), siDisableMSIX_V_Interrupts(), siDisableMSIXInterrupts(), siDumpActiveIORequests(), siEnableTracing(), agsaMem_s::singleElementLength, siOurLegacy_V_Interrupt(), siOurLegacyInterrupt(), siOurMSIInterrupt(), siOurMSIX_V_Interrupt(), siOurMSIXInterrupt(), siPCITriger(), siReenableLegacy_V_Interrupts(), siReenableLegacyInterrupts(), siReenableMSIInterrupts(), siReenableMSIX_V_Interrupts(), siReenableMSIXInterrupts(), siScratchDump(), siSoftReset(), siSpcSoftReset(), siTimerAdd(), siUpdateBarOffsetTable(), smIS64bInt, smIS_SFC, smIS_SPC(), smIS_spc8081, smIS_SPCV(), smIsCfgSpcREV_A, smIsCfgSpcREV_B, smIsCfgSpcREV_C, smIsCfgVREV_A, smIsCfgVREV_B, smIsCfgVREV_C, smTrace, smTraceFuncEnter, smTraceFuncExit, SPC_HDASOFT_RESET_SIGNATURE, SPC_ICCONTROL, SPC_ICTIMER, SPC_SOFT_RESET_SIGNATURE, SPC_V_HDA_RESPONSE_OFFSET, SPC_V_HDAR_IDLE, SPC_V_HDAR_RSPCODE_MASK, agsaSwConfig_s::stallUsec, agsaPort_s::status, agsaLLRoot_s::swConfig, 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, TRUE, agsaMem_s::type, mpiMem_s::type, agsaLLRoot_s::Use64bit, agsaLLRoot_s::usecsPerTick, V_Outbound_Doorbell_Mask_Set_Register, V_Outbound_Doorbell_Mask_Set_RegisterU, V_Outbound_Doorbell_Set_Register, V_Outbound_Doorbell_Set_RegisterU, V_Scratchpad_0_Register, V_Scratchpad_1_Register, V_Scratchpad_2_Register, V_Scratchpad_3_Register, V_SoftResetRegister, agsaTimerDesc_s::valid, agsaIORequestDesc_s::valid, agsaLLRoot_s::validPorts, agsaLLRoot_s::validTimers, VEN_DEV_9015, VEN_DEV_9060, VEN_DEV_ADAPVEP, VEN_DEV_ADAPVP, VEN_DEV_HIL, VEN_DEV_SFC, VEN_DEV_SPC, VEN_DEV_SPC12ADP, VEN_DEV_SPC12ADPE, VEN_DEV_SPC12ADPEP, VEN_DEV_SPC12ADPP, VEN_DEV_SPC12SATA, VEN_DEV_SPC12V, VEN_DEV_SPC12VE, VEN_DEV_SPC12VEP, VEN_DEV_SPC12VP, VEN_DEV_SPCV, VEN_DEV_SPCVE, VEN_DEV_SPCVEP, VEN_DEV_SPCVP, agsaMem_s::virtPtr, mpiMem_s::virtPtr, WAIT_INCREMENT, and WAIT_INCREMENT_DEFAULT.
Referenced by tiCOMPortInit().
GLOBAL bit32 FORCEINLINE saInterruptHandler | ( | agsaRoot_t * | agRoot, |
bit32 | interruptVectorIndex | ||
) |
Function to process the interrupts.
The saInterruptHandler() function is called after an interrupts has been received This function disables interrupts
agRoot | OS Layer-specific and LL Layer-specific context handles for this instance of SAS/SATA hardware |
interruptVectorIndex | message that caused MSI message |
Definition at line 388 of file saint.c.
References agFALSE, agNULL, FALSE, hpDBG_REGISTERS, hpDBG_TICK_INT, ossaDisableInterrupts(), ossaHwRegReadExt(), agsaLLRoot_s::OurInterrupt, PCIBAR0, SA_DBG1, agsaContext_s::sdkData, smTrace, smTraceFuncEnter, smTraceFuncExit, agsaLLRoot_s::sysIntsActive, TRUE, V_Outbound_Doorbell_Mask_Set_Register, and V_Outbound_Doorbell_Mask_Set_RegisterU.
Referenced by tiCOMInterruptHandler().
GLOBAL bit32 saLocalPhyControl | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | queueNum, | ||
bit32 | phyId, | ||
bit32 | phyOperation, | ||
ossaLocalPhyControlCB_t | agCB | ||
) |
Initiate a Local PHY control command.
This function is called to initiate a PHY control command to the local PHY. The completion of this function is reported in ossaLocalPhyControlCB()
agRoot | handles for this instance of SAS/SATA hardware |
agContext | the context of this API |
phyId | phy number |
phyOperation | one of AGSA_PHY_LINK_RESET, AGSA_PHY_HARD_RESET, AGSA_PHY_ENABLE_SPINUP |
Definition at line 420 of file saphy.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_PHY_BROADCAST_ASYNCH_EVENT, AGSA_PHY_CLEAR_ERROR_COUNTS, AGSA_PHY_COMINIT_OOB, AGSA_PHY_GET_BW_COUNTS, AGSA_PHY_GET_ERROR_COUNTS, AGSA_PHY_HARD_RESET, AGSA_PHY_LINK_RESET, AGSA_PHY_NOTIFY_ENABLE_SPINUP, AGSA_RC_BUSY, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, agTRUE, agsaPhyErrCounters_s::codeViolation, agsaIORequestDesc_s::completionCB, DEVICE_LCLK_CLEAR, agsaPhyErrCounters_s::elasticityBufferOverflow, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaPhyErrCounters_s::inboundCRCError, agsaPhyErrCounters_s::invalidDword, agsaLLRoot_s::IOMap, agsaIOMap_s::IORequest, LCLK, LCLK_CLEAR, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, agsaPhyErrCounters_s::lossOfDwordSynch, MARK_OFF, mpiLocalPhyControlCmd(), OSSA_FAILURE, OSSA_SUCCESS, ossaHwRegReadExt(), ossaHwRegWriteExt(), ossaLocalPhyControlCB(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), PCIBAR2, agsaLLRoot_s::phyCount, agsaPhyErrCounters_s::phyResetProblem, agsaPhyErrCounters_s::receivedErrorPrimitive, agsaPhyErrCounters_s::runningDisparityError, SA_ASSERT, SA_DBG1, SA_DBG2, SA_DBG3, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, saLlistIOGetHead, saLlistIORemove, agsaContext_s::sdkData, si_memset(), siBar4Shift(), smIS_SPC(), smIS_SPCV(), smTraceFuncEnter, smTraceFuncExit, SPC_READ_CODE_VIO_COUNT, SPC_READ_COUNTER_CNTL, SPC_READ_DISP_ERR_COUNT, SPC_READ_INV_DW_COUNT, SPC_READ_LOSS_DW_COUNT, SPC_READ_PHY_RESET_COUNT, SPC_REG_DEVICE_LCLK, SPC_WRITE_COUNTER_CNTL, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by itdssIOSuccessHandler(), ossaHwCB(), smTaskManagement(), tdsaPhyProfileIoctl(), and tiCOMPortStop().
GLOBAL bit32 saOperatorManagement | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | queueNum, | ||
bit32 | flag, | ||
bit8 | role, | ||
agsaID_t * | id, | ||
agsaEncryptKekBlob_t * | kblob | ||
) |
Definition at line 1297 of file saport.c.
References AGSA_ID_SIZE, AGSA_RC_SUCCESS, hpDBG_VERY_LOUD, agsaID_s::ID, agsaOperatorMangmentCmd_s::IDString_Role, agsaOperatorMangmentCmd_s::Kblob, mpiOperatorManagementCmd(), agsaOperatorMangmentCmd_s::OPRIDX_AUTIDX_R_KBF_PKT_OMO, SA_DBG1, si_memcpy(), si_memset(), smTraceFuncEnter, and smTraceFuncExit.
Referenced by tiCOMOperatorManagement().
GLOBAL bit32 saPCIeDiagExecute | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | queueNum, | ||
agsaPCIeDiagExecute_t * | diag | ||
) |
Definition at line 3783 of file saioctlcmd.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_BUSY, AGSA_RC_SUCCESS, agTRUE, agsaPCIeDiagExecute_s::command, agsaPCIeDiagExecute_s::flags, agsaLLRoot_s::freeIORequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaPCIeDiagExecute_s::initialIOSeed, agsaLLRoot_s::IOMap, IOMB_SIZE128, IOMB_SIZE64, agsaIOMap_s::IORequest, agsaPCIeDiagExecute_s::len, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, MPI_CATEGORY_SAS_SATA, mpiBuildCmd(), OPC_INB_PCIE_DIAG_EXECUTE, OSSA_OFFSET_OF, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaPCIeDiagExecute_s::pattern, agsaPCIeDiagExecute_s::rdAddrLower, agsaPCIeDiagExecute_s::rdAddrUpper, agsaPCIeDiagExecute_s::reserved, SA_ASSERT, SA_DBG1, saLlistIOAdd, saLlistIOGetHead, saLlistIORemove, agsaContext_s::sdkData, SHIFT16, SHIFT24, SHIFT8, si_memset(), smIS_SPCV(), smTraceFuncEnter, smTraceFuncExit, agsaIOMap_s::Tag, agsaPCIeDiagExecute_s::udrtArray, agsaPCIeDiagExecute_s::udtArray, agsaIORequestDesc_s::valid, agsaPCIeDiagExecute_s::wrAddrLower, and agsaPCIeDiagExecute_s::wrAddrUpper.
GLOBAL bit32 saPhyStart | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | queueNum, | ||
bit32 | phyId, | ||
agsaPhyConfig_t * | agPhyConfig, | ||
agsaSASIdentify_t * | agSASIdentify | ||
) |
Start a Phy.
Start a Phy
agRoot | handles for this instance of SAS/SATA hardware |
agContext | |
phyId | the phy id of the link will be started |
agPhyConfig | the phy configuration |
agSASIdentify | the SAS identify frame will be sent by the phy |
Definition at line 60 of file saphy.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_BUSY, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, agTRUE, 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, mpiPhyStartCmd(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaLLRoot_s::phyCount, SA_ASSERT, SA_DBG1, SA_DBG3, SA_IDFRM_GET_SAS_ADDRESSHI, SA_IDFRM_GET_SAS_ADDRESSLO, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, saLlistIOGetHead, saLlistIORemove, agsaContext_s::sdkData, smTrace, smTraceFuncEnter, smTraceFuncExit, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by tiCOMPortStart().
GLOBAL bit32 saPhyStop | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | queueNum, | ||
bit32 | phyId | ||
) |
Stop a Phy.
Stop a Phy
agRoot | handles for this instance of SAS/SATA hardware |
agContext | the context of this API |
phyId | the phy id of the link will be stopped |
Definition at line 183 of file saphy.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, mpiOCQueue_s::agRoot, AGSA_RC_BUSY, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, agTRUE, mpiOCQueue_s::consumerIdx, 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, mpiPhyStopCmd(), agsaQueueConfig_s::numOutboundQueues, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaLLRoot_s::outboundQueue, agsaLLRoot_s::phyCount, mpiOCQueue_s::piPointer, mpiOCQueue_s::producerIdx, agsaLLRoot_s::QueueConfig, SA_ASSERT, SA_DBG1, SA_DBG2, SA_DBG4, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, saLlistIOGetHead, saLlistIORemove, agsaContext_s::sdkData, smIS_SPC(), smTraceFuncEnter, smTraceFuncExit, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by tiCOMPortStop().
GLOBAL bit32 saPortControl | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | queueNum, | ||
agsaPortContext_t * | agPortContext, | ||
bit32 | portOperation, | ||
bit32 | param0, | ||
bit32 | param1 | ||
) |
Initiate a Port COntrol IOMB command.
This function is called to initiate a Port COntrol command to the SPC. The completion of this function is reported in ossaPortControlCB().
agRoot | handles for this instance of SAS/SATA hardware |
agContext | the context of this API |
queueNum | queue number |
agPortContext | point to the event source structure |
param0 | parameter 0 |
param1 | parameter 1 |
Definition at line 422 of file saport.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_PORT_CLEAN_UP, AGSA_PORT_HARD_RESET, AGSA_RC_BUSY, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, agTRUE, AUTO_FW_CLEANUP_DEREG_FLAG, AUTO_HARD_RESET_DEREG_FLAG, agsaLLRoot_s::autoDeregDeviceflag, 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_PORT_CONTROL, OSSA_OFFSET_OF, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaPort_s::portId, PORTID_MASK, SA_ASSERT, SA_DBG1, SA_DBG2, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, saLlistIOGetHead, saLlistIORemove, agsaContext_s::sdkData, SHIFT8, si_memset(), smTraceFuncEnter, smTraceFuncExit, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
Referenced by ossaHwCB().
GLOBAL bit32 saReconfigSASParams | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | queueNum, | ||
agsaSASReconfig_t * | agSASConfig | ||
) |
Reconfiguration of SAS Parameters Command.
This command Reconfigure the SAS parameters to SPC.
agRoot | Handles for this instance of SAS/SATA LL |
agContext | Context of SPC FW Flash Update Command |
queueNum | Inbound/outbound queue number |
agSASConfig | Pointer of SAS Configuration Parameters |
Definition at line 3654 of file saioctlcmd.c.
References agNULL, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, mpiSasReinitializeCmd(), SA_ASSERT, SA_DBG1, and smIS_SPCV().
GLOBAL bit32 saRegisterEventCallback | ( | agsaRoot_t * | agRoot, |
bit32 | eventSourceType, | ||
ossaGenericCB_t | callbackPtr | ||
) |
Register a callback for a specific event.
Register a callback for a Event API
agRoot | Handles for this instance of SAS/SATA hardware |
eventSourceType | Event Type |
callbackPtr | Function pointer to OS layer |
Definition at line 566 of file sadisc.c.
References AGSA_RC_FAILURE, AGSA_RC_SUCCESS, agsaLLRoot_s::DeviceDeregistrationCB, agsaLLRoot_s::DeviceRegistrationCB, OSSA_EVENT_SOURCE_DEVICE_HANDLE_ADDED, OSSA_EVENT_SOURCE_DEVICE_HANDLE_REMOVED, SA_DBG1, SA_DBG3, and agsaContext_s::sdkData.
Referenced by tiCOMPortInit().
GLOBAL bit32 saRegisterNewDevice | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | queueNum, | ||
agsaDeviceInfo_t * | agDeviceInfo, | ||
agsaPortContext_t * | agPortContext, | ||
bit16 | hostAssignedDeviceId | ||
) |
Register New Device from a specific local port.
Register New Device API
agRoot | Handles for this instance of SAS/SATA hardware |
agContext | Pointer to this API context |
agDeviceInfo | Pointer to this instance of device info |
agPortContext | Pointer to this instance of port context |
Definition at line 302 of file sadisc.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_BUSY, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, agTRUE, ATAPI_DEVICE_FLAG, AWT_DEVICE_FLAG, DEV_INFO_IR_SHIFT, DEV_INFO_MASK, DEV_INFO_MCN_SHIFT, DEV_LINK_RATE, agsaSASIdentify_s::deviceType_addressFrameType, agsaDeviceInfo_s::devType_S_Rate, agsaDeviceInfo_s::firstBurstSize, agsaDeviceInfo_s::flag, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaLLRoot_s::IOMap, IOMB_SIZE64, agsaIOMap_s::IORequest, agsaDeviceInfo_s::it_NexusTimeout, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, MPI_CATEGORY_SAS_SATA, mpiBuildCmd(), OPC_INB_REG_DEV, OPC_INB_SPC_REG_DEV, OS_ASSERT, OSSA_OFFSET_OF, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaIORequestDesc_s::pDevice, agsaPort_s::portId, PORTID_MASK, SA_DBG1, SA_DBG2, SA_DBG3, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, saLlistIOGetHead, saLlistIORemove, agsaDeviceInfo_s::sasAddressHi, agsaSASIdentify_s::sasAddressHi, agsaDeviceInfo_s::sasAddressLo, agsaSASIdentify_s::sasAddressLo, agsaRegDevCmd_s::sasAddrHi, agsaRegDevCmd_s::sasAddrLo, agsaContext_s::sdkData, SHIFT2, SHIFT24, SHIFT31, SHIFT4, SHIFT9, si_memset(), siPortSASDeviceAdd(), siPortSATADeviceAdd(), smIS_SPC(), agsaDeviceInfo_s::smpTimeout, smTrace, smTraceFuncEnter, smTraceFuncExit, agsaIOMap_s::Tag, agsaIORequestDesc_s::valid, and XFER_RDY_PRIORTY_DEVICE_FLAG.
Referenced by ossaDeviceRegistrationCB(), and tdssAddSASToSharedcontext().
GLOBAL bit32 saSASDiagExecute | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | queueNum, | ||
agsaSASDiagExecute_t * | diag | ||
) |
SPC SAS Diagnostic Execute Command.
This command sends SAS Diagnostic Execute Command to SPC.
agRoot | Handles for this instance of SAS/SATA LL |
agsaContext | Context of this command |
queueNum | Queue number of inbound/outbound queue |
diag | Pointer of SAS Diag Execute Structure |
Definition at line 1751 of file saioctlcmd.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_BUSY, AGSA_RC_SUCCESS, agTRUE, agsaSASDiagExecute_s::command, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaLLRoot_s::IOMap, IOMB_SIZE128, IOMB_SIZE64, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, MPI_CATEGORY_SAS_SATA, mpiBuildCmd(), OPC_INB_SAS_DIAG_EXECUTE, OSSA_OFFSET_OF, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaSASDiagExecute_s::param0, agsaSASDiagExecute_s::param1, agsaSASDiagExecute_s::param2, agsaSASDiagExecute_s::param3, agsaSASDiagExecute_s::param4, agsaSASDiagExecute_s::param5, SA_ASSERT, SA_DBG1, SA_DBG2, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, saLlistIOGetHead, saLlistIORemove, agsaContext_s::sdkData, si_memset(), smIS_SPC(), smIS_SPCV(), smTraceFuncEnter, smTraceFuncExit, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
GLOBAL bit32 saSASDiagStartEnd | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | queueNum, | ||
bit32 | phyId, | ||
bit32 | operation | ||
) |
SPC SAS Diagnostic Start/End Command.
This command sends SAS Diagnostic Start/End Command to SPC.
agRoot | Handles for this instance of SAS/SATA LL |
agsaContext | Context of this command |
queueNum | Queue number of inbound/outbound queue |
phyId | Phy ID |
operation | Operation of SAS Diagnostic |
Definition at line 1880 of file saioctlcmd.c.
References agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_BUSY, AGSA_RC_FAILURE, 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_SAS_DIAG_MODE_START_END, OSSA_OFFSET_OF, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), SA_ASSERT, SA_DBG1, SA_DBG3, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, saLlistIOGetHead, saLlistIORemove, agsaContext_s::sdkData, SHIFT8, si_memset(), SM_PHYID_MASK, smTraceFuncEnter, smTraceFuncExit, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.
GLOBAL bit32 saSATAAbort | ( | agsaRoot_t * | agRoot, |
agsaIORequest_t * | agIORequest, | ||
bit32 | queueNum, | ||
agsaDevHandle_t * | agDevHandle, | ||
bit32 | flag, | ||
void * | abortParam, | ||
ossaGenericAbortCB_t | agCB | ||
) |
Abort SATA command.
Abort SATA command
agRoot | handles for this instance of SAS/SATA hardware |
queueNum | inbound/outbound queue number |
agIORequest | the IO Request descriptor |
agIOtoBeAborted |
Definition at line 592 of file sasata.c.
References ABORT_ALL, ABORT_MASK, ABORT_QUARANTINE_SPCV, ABORT_SCOPE, ABORT_SINGLE, ABORT_TSDK_QUARANTINE, agFALSE, agNULL, AGSA_MAX_INBOUND_Q, AGSA_RC_BUSY, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, AGSA_SATA_REQTYPE, agTRUE, agsaIORequestDesc_s::completionCB, agsaSATAAbortCmd_s::deviceId, agsaDeviceDesc_s::DeviceMapIndex, agsaLLRoot_s::freeIORequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaSATAAbortCmd_s::HTagAbort, agsaLLRoot_s::inboundQueue, agsaLLRoot_s::IOMap, IOMB_SIZE64, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_IBQ0_LOCK, LL_IOREQ_LOCKEQ_LOCK, MPI_CATEGORY_SAS_SATA, MPI_IB_NUM_MASK, MPI_OB_NUM_MASK, MPI_OB_SHIFT, mpiMsgFreeGet(), mpiMsgProduce(), NULL, OPC_INB_SATA_ABORT, OSSA_OFFSET_OF, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaIORequestDesc_s::pDevice, agsaDeviceDesc_s::pendingIORequests, agsaIORequestDesc_s::pIORequestContext, agsaDeviceDesc_s::pPort, agsaIORequestDesc_s::pPort, mpiICQueue_s::priority, agsaIORequestDesc_s::requestType, SA_ASSERT, SA_DBG1, SA_DBG3, saLlistIOAdd, saLlistIOGetHead, saLlistIORemove, agsaContext_s::sdkData, siCountActiveIORequestsOnDevice(), smIS_SPCV(), smTraceFuncEnter, smTraceFuncExit, agsaIORequestDesc_s::startTick, agsaSATAAbortCmd_s::tag, agsaIOMap_s::Tag, agsaLLRoot_s::timeTick, and agsaIORequestDesc_s::valid.
Referenced by smIOAbort(), smIOAbortAll(), smsatAbort(), smsatReadLogExtCB(), and tdsaAbortAll().
GLOBAL bit32 saSATAStart | ( | agsaRoot_t * | agRoot, |
agsaIORequest_t * | agIORequest, | ||
bit32 | queueNum, | ||
agsaDevHandle_t * | agDevHandle, | ||
bit32 | agRequestType, | ||
agsaSATAInitiatorRequest_t * | agSATAReq, | ||
bit8 | agTag, | ||
ossaSATACompletedCB_t | agCB | ||
) |
Start SATA command.
Start SATA command
agRoot | handles for this instance of SAS/SATA hardware |
queueNum | |
agIORequest | |
agDevHandle | |
agRequestType | |
agSATAReq | |
agTag | |
agCB |
Definition at line 59 of file sasata.c.
References agFALSE, agNULL, AGSA_DIF_BIT, AGSA_DIR_MASK, AGSA_ENCRYPT_BIT, AGSA_ENCRYPT_KEY_TAG_BIT, AGSA_ENCRYPT_XTS_Mode, AGSA_MAX_INBOUND_Q, AGSA_MSG, AGSA_MSG_BIT, AGSA_RC_BUSY, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, AGSA_SATA_ATAP_MASK, AGSA_SATA_ATAP_PKT_DEVRESET, AGSA_SATA_ATAP_SRST_ASSERT, AGSA_SATA_ATAP_SRST_DEASSERT, AGSA_SATA_ENABLE_DIF, AGSA_SATA_ENABLE_ENCRYPTION, AGSA_SATA_PROTOCOL_D2H_PKT, AGSA_SATA_PROTOCOL_DEV_RESET, AGSA_SATA_PROTOCOL_DEV_RESET_M, AGSA_SATA_PROTOCOL_DMA_READ, AGSA_SATA_PROTOCOL_DMA_READ_M, AGSA_SATA_PROTOCOL_DMA_WRITE, AGSA_SATA_PROTOCOL_DMA_WRITE_M, AGSA_SATA_PROTOCOL_FPDMA_READ, AGSA_SATA_PROTOCOL_FPDMA_READ_M, AGSA_SATA_PROTOCOL_FPDMA_WRITE, AGSA_SATA_PROTOCOL_FPDMA_WRITE_M, AGSA_SATA_PROTOCOL_H2D_PKT, AGSA_SATA_PROTOCOL_NON_DATA, AGSA_SATA_PROTOCOL_NON_DATA_M, AGSA_SATA_PROTOCOL_NON_PKT, AGSA_SATA_PROTOCOL_PIO_READ, AGSA_SATA_PROTOCOL_PIO_READ_M, AGSA_SATA_PROTOCOL_PIO_WRITE, AGSA_SATA_PROTOCOL_PIO_WRITE_M, AGSA_SATA_PROTOCOL_SRST_ASSERT, AGSA_SATA_PROTOCOL_SRST_DEASSERT, agsaEncryptCipherModeXTS, agsaSATAInitiatorRequest_s::agSgl, agTRUE, agsaEncrypt_s::cipherMode, agsaIORequestDesc_s::completionCB, agsaSATAInitiatorRequest_s::dataLength, agsaEncryptDek_s::dekIndex, agsaEncrypt_s::dekInfo, agsaEncryptDek_s::dekTable, agsaDeviceDesc_s::DeviceMapIndex, agsaEncrypt_s::enableEncryptionPerLA, agsaSATAInitiatorRequest_s::encrypt, agsaEncrypt_s::EncryptionPerLAAddrHi, agsaEncrypt_s::EncryptionPerLAAddrLo, agsaEncrypt_s::EncryptionPerLRegion0SecCount, agsaSgl_s::extReserved, agsaSATAInitiatorRequest_s::fis, agsaSATAHostFis_u::fisRegHostToDev, agsaLLRoot_s::freeIORequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaLLRoot_s::inboundQueue, agsaLLRoot_s::IOMap, IOMB_SIZE128, IOMB_SIZE64, agsaIOMap_s::IORequest, agsaEncrypt_s::kekIndex, agsaEncrypt_s::keyTag_W0, agsaEncrypt_s::keyTag_W1, agsaEncrypt_s::keyTagCheck, agsaSgl_s::len, agsaIORequestDesc_s::linkNode, LL_IOREQ_IBQ0_LOCK, LL_IOREQ_LOCKEQ_LOCK, MPI_CATEGORY_SAS_SATA, MPI_IB_NUM_MASK, MPI_OB_NUM_MASK, MPI_OB_SHIFT, mpiMsgFreeGet(), mpiMsgProduce(), OPC_INB_SATA_DIF_ENC_OPSTART, OPC_INB_SATA_HOST_OPSTART, agsaSATAInitiatorRequest_s::option, OSSA_INP_ENTER, OSSA_INP_LEAVE, OSSA_OFFSET_OF, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaIORequestDesc_s::pDevice, agsaDeviceDesc_s::pendingIORequests, agsaIORequestDesc_s::pIORequestContext, agsaDeviceDesc_s::pPort, agsaIORequestDesc_s::pPort, mpiICQueue_s::priority, agsaIORequestDesc_s::requestType, SA_ASSERT, SA_DBG1, SA_DBG3, SA_DBG4, saLlistIOAdd, saLlistIOGetHead, saLlistIORemove, SATA_FIS_MASK, agsaSATAInitiatorRequest_s::scsiCDB, agsaContext_s::sdkData, agsaEncrypt_s::sectorSizeIndex, agsaSgl_s::sgLower, agsaSgl_s::sgUpper, SHIFT16, SHIFT2, SHIFT24, SHIFT4, SHIFT5, SHIFT8, si_memcpy(), si_memset(), smTraceFuncEnter, smTraceFuncExit, agsaIORequestDesc_s::startTick, agsaIOMap_s::Tag, agsaLLRoot_s::timeTick, agsaEncrypt_s::tweakVal_W0, agsaEncrypt_s::tweakVal_W1, agsaEncrypt_s::tweakVal_W2, agsaEncrypt_s::tweakVal_W3, and agsaIORequestDesc_s::valid.
Referenced by smsataLLIOStart().
GLOBAL bit32 saSendSMPIoctl | ( | agsaRoot_t * | agRoot, |
agsaDevHandle_t * | agDevHandle, | ||
bit32 | queueNum, | ||
agsaSMPFrame_t * | pSMPFrame, | ||
ossaSMPCompletedCB_t | agCB | ||
) |
Definition at line 3346 of file saioctlcmd.c.
References agFALSE, agNULL, AGSA_RC_BUSY, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, AGSA_SMP_IOCTL_REQUEST, agTRUE, agsaIORequestDesc_s::completionCB, agsaDeviceDesc_s::DeviceMapIndex, agsaSMPFrame_s::flag, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaLLRoot_s::inboundQueue, INDIRECT_MODE, agsaSMPFrame_s::inFrameAddrLower32, agsaSMPFrame_s::inFrameAddrUpper32, agsaSMPFrame_s::inFrameLen, agsaLLRoot_s::IOMap, IOMB_SIZE64, agsaIOMap_s::IORequest, agsaIORequestDesc_s::IRmode, agsaIORequestDesc_s::linkNode, LL_IOREQ_IBQ0_LOCK, LL_IOREQ_LOCKEQ_LOCK, MPI_IB_NUM_MASK, MPI_OB_NUM_MASK, MPI_OB_SHIFT, mpiMsgFreeGet(), mpiSMPCmd(), OPC_INB_SMP_REQUEST, OSSA_OFFSET_OF, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaSMPFrame_s::outFrameAddrLower32, agsaSMPFrame_s::outFrameAddrUpper32, agsaSMPFrame_s::outFrameBuf, agsaSMPFrame_s::outFrameLen, agsaIORequestDesc_s::pDevice, agsaDeviceDesc_s::pendingIORequests, agsaIORequestDesc_s::pIORequestContext, agsaDeviceDesc_s::pPort, agsaIORequestDesc_s::pPort, agsaIORequestDesc_s::requestType, SA_ASSERT, SA_DBG1, SA_DBG2, saLlistIOAdd, saLlistIOGetHead, saLlistIORemove, agsaContext_s::sdkData, SHIFT16, si_memset(), smIS_SPC(), smpFrameFlagIndirectPayload, smpFrameFlagIndirectResponse, smTraceFuncExit, agsaIORequestDesc_s::startTick, agsaIOMap_s::Tag, agsaLLRoot_s::timeTick, and agsaIORequestDesc_s::valid.
Referenced by tdsaSendSMPIoctl().
GLOBAL bit32 saSetControllerConfig | ( | agsaRoot_t * | agRoot, |
bit32 | queueNum, | ||
bit32 | modePage, | ||
bit32 | length, | ||
void * | buffer, | ||
agsaContext_t * | agContext | ||
) |
Update a controller mode page
saRoot | |
modePage | |
length | |
buffer | |
agContext |
Definition at line 1151 of file saport.c.
References agFALSE, 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_RC_FAILURE, AGSA_SAS_PROTOCOL_TIMER_CONFIG_PAGE, hpDBG_VERY_LOUD, mpiSetControllerConfigCmd(), OSSA_OFFSET_OF, SA_DBG1, SA_DBG2, si_memset(), smIS_SPCV(), smTraceFuncEnter, smTraceFuncExit, and agsaSetControllerConfigCmd_s::tag.
Referenced by tiCOMMgntIOCTL(), tiCOMPortStart(), and tiCOMSetControllerConfig().
GLOBAL bit32 saSetDeviceInfo | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | queueNum, | ||
agsaDevHandle_t * | agDevHandle, | ||
bit32 | option, | ||
bit32 | param, | ||
ossaSetDeviceInfoCB_t | agCB | ||
) |
Set Device Information.
Set SAS/SATA device information API
agRoot | Handles for this instance of SAS/SATA hardware |
agContext | Pointer to this API context |
queueNum | IQ/OQ number |
agDevHandle | Pointer of device handle |
option | device general information or extended information |
param | Parameter of Set Device Infomation |
Definition at line 672 of file sadisc.c.
References agNULL, AGSA_RC_FAILURE, DEVICE_ID_BITS, agsaDeviceMap_s::DeviceHandle, agsaDeviceMap_s::DeviceIdFromFW, agsaLLRoot_s::DeviceMap, agsaDeviceDesc_s::DeviceMapIndex, hpDBG_VERY_LOUD, mpiSetDeviceInfoCmd(), agsaDeviceDesc_s::option, OS_ASSERT, agsaDeviceDesc_s::param, SA_DBG1, SA_DBG2, SA_DBG3, agsaContext_s::sdkData, smTraceFuncEnter, and smTraceFuncExit.
Referenced by itdssOpenCnxErrorConnectionRateNotSupportedHandler(), and ossaDeviceHandleAccept().
GLOBAL bit32 saSetDeviceState | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | queueNum, | ||
agsaDevHandle_t * | agDevHandle, | ||
bit32 | newDeviceState | ||
) |
Set Device State.
Set SAS/SATA device state API
agRoot | Handles for this instance of SAS/SATA hardware |
agContext | Pointer to this API context |
queueNum | IQ/OQ number |
agDevHandle | Pointer of device handler |
newDeviceState | new device state |
Definition at line 801 of file sadisc.c.
References agNULL, AGSA_RC_FAILURE, DEVICE_ID_BITS, agsaDeviceMap_s::DeviceHandle, agsaDeviceMap_s::DeviceIdFromFW, agsaLLRoot_s::DeviceMap, agsaDeviceDesc_s::DeviceMapIndex, hpDBG_VERY_LOUD, mpiSetDeviceStateCmd(), OS_ASSERT, SA_DBG1, SA_DBG3, agsaContext_s::sdkData, smTraceFuncEnter, and smTraceFuncExit.
Referenced by itdssDsNonOperationalHandler(), itdssTaskCompleted(), ossaHwCB(), ossaLocalPhyControlCB(), smLocalPhyControlCB(), smPhyControlRespRcvd(), smsatDelayedProcessAbnormalCompletion(), smsatIDStartCB(), smsatProcessAbnormalCompletion(), smSMPCompleted(), smTaskManagement(), and tdsaPhyControlRespRcvd().
GLOBAL bit32 saSetNVMDCommand | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | queueNum, | ||
agsaNVMDData_t * | NVMDInfo | ||
) |
SPC Set NVMD Command.
This command sends SET_NVMD_DATA Command to SPC.
agRoot | Handles for this instance of SAS/SATA LL |
agContext | Context of SPC FW Flash Update Command |
queueNum | Inbound/outbound queue number |
NVMDInfo | Pointer of NVM Device information |
Definition at line 3327 of file saioctlcmd.c.
References agNULL, AGSA_RC_SUCCESS, mpiSetNVMDCmd(), and SA_ASSERT.
Referenced by tdsaNVMDSetIoctl().
GLOBAL bit32 saSetOperator | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | queueNum, | ||
bit32 | flag, | ||
void * | cert | ||
) |
Definition at line 1356 of file saport.c.
References AGSA_RC_SUCCESS, agsaSetOperatorCmd_s::cert, hpDBG_VERY_LOUD, mpiSetOperatorCmd(), agsaSetOperatorCmd_s::OPRIDX_PIN_ACS, SA_DBG1, si_memcpy(), si_memset(), smTraceFuncEnter, and smTraceFuncExit.
Referenced by tiCOMSetOperator().
GLOBAL bit32 saSetPhyProfile | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | queueNum, | ||
bit32 | ppc, | ||
bit32 | length, | ||
void * | buffer, | ||
bit32 | phyID | ||
) |
Definition at line 936 of file saphy.c.
References agFALSE, 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, mpiSetPhyProfileCmd(), SA_ASSERT, and SA_DBG1.
Referenced by ossaGetPhyProfileCB().
GLOBAL bit32 saSgpio | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | queueNum, | ||
agsaSGpioReqResponse_t * | pSGpioReq | ||
) |
Initiate a serial GPIO command.
This function is called to initiate a serial GPIO command to the SPC. The completion of this function is reported in ossaSgpioCB().
agRoot | handles for this instance of SAS/SATA hardware |
agContext | the context of this API |
queueNum | queue number |
pSGpioReq | Pointer to the serial GPIO fields |
Definition at line 2203 of file saioctlcmd.c.
References agNULL, AGSA_RC_BUSY, AGSA_RC_SUCCESS, agsaSGpioReqResponse_s::function, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, IOMB_SIZE64, MPI_CATEGORY_SAS_SATA, mpiBuildCmd(), OPC_INB_SGPIO, OSSA_OFFSET_OF, agsaSGpioReqResponse_s::readWriteData, agsaSGpioReqResponse_s::registerCount, agsaSGpioReqResponse_s::registerIndex, agsaSGpioReqResponse_s::registerType, SA_ASSERT, SA_DBG1, SA_DBG3, SA_SAS_SMP_WRITE_GPIO_REGISTER, saGetRequestFromFreePool(), saReturnRequestToFreePool(), si_memset(), agsaSGpioReqResponse_s::smpFrameType, smTraceFuncEnter, and smTraceFuncExit.
Referenced by tdsaSGpioIoctlSetup().
GLOBAL bit32 saSMPAbort | ( | agsaRoot_t * | agRoot, |
agsaIORequest_t * | agIORequest, | ||
bit32 | queueNum, | ||
agsaDevHandle_t * | agDevHandle, | ||
bit32 | flag, | ||
void * | abortParam, | ||
ossaGenericAbortCB_t | agCB | ||
) |
Abort SMP request.
Abort SMP request
agRoot | handles for this instance of SAS/SATA hardware |
queueNum | |
agIORequest |
Definition at line 517 of file sasmp.c.
References ABORT_ALL, ABORT_MASK, ABORT_SINGLE, agsaIOMap_s::agContext, agFALSE, agNULL, AGSA_RC_BUSY, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, AGSA_SMP_REQTYPE, agTRUE, agsaIORequestDesc_s::completionCB, agsaSMPAbortCmd_s::deviceId, agsaDeviceDesc_s::DeviceMapIndex, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaSMPAbortCmd_s::HTagAbort, agsaLLRoot_s::IOMap, IOMB_SIZE64, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, MPI_CATEGORY_SAS_SATA, mpiBuildCmd(), NULL, OPC_INB_SMP_ABORT, OSSA_OFFSET_OF, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaIORequestDesc_s::pDevice, agsaDeviceDesc_s::pendingIORequests, agsaIORequestDesc_s::pIORequestContext, agsaIORequestDesc_s::requestType, SA_ASSERT, SA_DBG1, SA_DBG3, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, saLlistIOGetHead, saLlistIORemove, agsaContext_s::sdkData, smTraceFuncEnter, smTraceFuncExit, agsaIORequestDesc_s::startTick, agsaSMPAbortCmd_s::tag, agsaIOMap_s::Tag, agsaLLRoot_s::timeTick, and agsaIORequestDesc_s::valid.
Referenced by tdsaAbortAll().
GLOBAL bit32 saSMPStart | ( | agsaRoot_t * | agRoot, |
agsaIORequest_t * | agIORequest, | ||
bit32 | queueNum, | ||
agsaDevHandle_t * | agDevHandle, | ||
bit32 | agRequestType, | ||
agsaSASRequestBody_t * | agRequestBody, | ||
ossaSMPCompletedCB_t | agCB | ||
) |
Start SMP request.
Start SMP request
agRoot | handles for this instance of SAS/SATA hardware |
queueNum | |
agIORequest | |
agDevHandle | |
agRequestType | |
agRequestBody | |
agCB | Spc - support direct mode direct response SpcV - support direct mode direct response SpcV - support indirect mode direct response SpcV - support indirect mode indirect response |
Definition at line 62 of file sasmp.c.
References agFALSE, agNULL, AGSA_MAX_INBOUND_Q, AGSA_MAX_SMPPAYLOAD_VIA_SFO, AGSA_RC_BUSY, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, AGSA_SMP_INIT_REQ, agTRUE, agsaIORequestDesc_s::completionCB, agsaDeviceDesc_s::DeviceMapIndex, DIRECT_MODE, agsaSMPFrame_s::expectedRespLen, agsaSMPFrame_s::flag, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaLLRoot_s::inboundQueue, INDIRECT_MODE, agsaSMPFrame_s::inFrameAddrLower32, agsaSMPFrame_s::inFrameAddrUpper32, agsaSMPFrame_s::inFrameLen, agsaLLRoot_s::IOMap, IOMB_SIZE64, agsaIOMap_s::IORequest, agsaIORequestDesc_s::IRmode, agsaIORequestDesc_s::linkNode, LL_IOREQ_IBQ0_LOCK, LL_IOREQ_LOCKEQ_LOCK, MPI_IB_NUM_MASK, MPI_OB_NUM_MASK, MPI_OB_SHIFT, mpiMsgFreeGet(), mpiSMPCmd(), OPC_INB_SMP_REQUEST, OSSA_OFFSET_OF, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaSMPFrame_s::outFrameAddrLower32, agsaSMPFrame_s::outFrameAddrUpper32, agsaSMPFrame_s::outFrameBuf, agsaSMPFrame_s::outFrameLen, agsaIORequestDesc_s::pDevice, agsaDeviceDesc_s::pendingIORequests, agsaIORequestDesc_s::pIORequestContext, agsaPort_s::portId, agsaDeviceDesc_s::pPort, agsaIORequestDesc_s::pPort, agsaIORequestDesc_s::requestType, SA_ASSERT, SA_DBG1, SA_DBG2, SA_DBG4, saLlistIOAdd, saLlistIOGetHead, saLlistIORemove, agsaContext_s::sdkData, SHIFT16, si_memcpy(), si_memset(), smIS_SPC(), agsaSMPCmd_s::SMPCmd, agsaSASRequestBody_u::smpFrame, smpFrameFlagIndirectPayload, smpFrameFlagIndirectResponse, smTraceFuncEnter, smTraceFuncExit, agsaIORequestDesc_s::startTick, agsaIOMap_s::Tag, agsaLLRoot_s::timeTick, and agsaIORequestDesc_s::valid.
Referenced by smPhyControlSend(), tiINISMPStart(), ttdsaDiscoverRespSend(), ttdsaNotSupportRespSend(), and ttdsaReportGeneralRespSend().
GLOBAL bit32 saSSPAbort | ( | agsaRoot_t * | agRoot, |
agsaIORequest_t * | agIORequest, | ||
bit32 | queueNum, | ||
agsaDevHandle_t * | agDevHandle, | ||
bit32 | flag, | ||
void * | abortParam, | ||
ossaGenericAbortCB_t | agCB | ||
) |
Abort SSP request.
Abort SSP request
agRoot | handles for this instance of SAS/SATA LLL |
queueNum | |
agIORequest | |
agIOToBeAborted |
Definition at line 1678 of file sassp.c.
References ABORT_ALL, ABORT_MASK, ABORT_QUARANTINE_SPCV, ABORT_SCOPE, ABORT_SINGLE, ABORT_TSDK_QUARANTINE, agFALSE, agNULL, AGSA_MAX_INBOUND_Q, AGSA_RC_BUSY, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, AGSA_SSP_REQTYPE, agTRUE, agsaIORequestDesc_s::completionCB, agsaSSPAbortCmd_s::deviceId, agsaDeviceDesc_s::DeviceMapIndex, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freeReservedRequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaSSPAbortCmd_s::HTagAbort, agsaLLRoot_s::inboundQueue, agsaLLRoot_s::IOMap, IOMB_SIZE64, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_IBQ0_LOCK, LL_IOREQ_LOCKEQ_LOCK, MPI_CATEGORY_SAS_SATA, MPI_IB_NUM_MASK, MPI_OB_NUM_MASK, MPI_OB_SHIFT, mpiMsgFreeGet(), mpiMsgProduce(), NULL, OPC_INB_SSP_ABORT, OSSA_OFFSET_OF, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaIORequestDesc_s::pDevice, agsaDeviceDesc_s::pendingIORequests, agsaIORequestDesc_s::pIORequestContext, agsaDeviceDesc_s::pPort, agsaIORequestDesc_s::pPort, mpiICQueue_s::priority, agsaIORequestDesc_s::requestType, SA_ASSERT, SA_DBG1, SA_DBG2, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, saLlistIOGetHead, saLlistIORemove, agsaContext_s::sdkData, siCountActiveIORequestsOnDevice(), smIS_SPCV(), smTraceFuncEnter, smTraceFuncExit, agsaIORequestDesc_s::startTick, agsaSSPAbortCmd_s::tag, agsaIOMap_s::Tag, agsaLLRoot_s::timeTick, and agsaIORequestDesc_s::valid.
Referenced by itdssTaskCompleted(), tdsaAbortAll(), tiTGTIOAbort(), and ttdsaTMProcess().
GLOBAL bit32 saSSPStart | ( | agsaRoot_t * | agRoot, |
agsaIORequest_t * | agIORequest, | ||
bit32 | queueNum, | ||
agsaDevHandle_t * | agDevHandle, | ||
bit32 | agRequestType, | ||
agsaSASRequestBody_t * | agRequestBody, | ||
agsaIORequest_t * | agTMRequest, | ||
ossaSSPCompletedCB_t | agCB | ||
) |
Start SSP request.
Start SSP request
agRoot | handles for this instance of SAS/SATA LLL |
queueNum | |
agIORequest | |
agDevHandle | |
agRequestType | |
agRequestBody | |
agTMRequest | valid for task management |
agCB |
Definition at line 580 of file sassp.c.
References agsaSSPCmdInfoUnitExt_s::additionalCdbLen, agsaSSPIniIOStartCmd_s::AddrHi0, agsaSSPIniEncryptIOStartCmd_s::AddrHi0, agsaSSPTgtIOStartCmd_s::AddrHi0, agsaSSPIniIOStartCmd_s::AddrLow0, agsaSSPIniEncryptIOStartCmd_s::AddrLow0, agsaSSPTgtIOStartCmd_s::AddrLow0, agFALSE, agNULL, AGSA_AUTO_MASK, AGSA_DIF_BIT, AGSA_DIF_INSERT, AGSA_DIF_REPLACE_UDT_REPLACE_CRC, AGSA_DIF_VERIFY_REPLACE, AGSA_DIR_MASK, AGSA_ENCRYPT_BIT, AGSA_ENCRYPT_KEY_TAG_BIT, AGSA_ENCRYPT_XTS_Mode, AGSA_MAX_INBOUND_Q, AGSA_MAX_SSPPAYLOAD_VIA_SFO, AGSA_MSG, AGSA_MSG_BIT, AGSA_RC_BUSY, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, AGSA_SAS_ENABLE_DIF, AGSA_SAS_ENABLE_ENCRYPTION, AGSA_SAS_ENABLE_SKIP_MASK, AGSA_SAS_SKIP_MASK_OFFSET, AGSA_SKIP_MASK_BIT, AGSA_SSP_EXT_BIT, AGSA_SSP_INDIRECT_BIT, AGSA_SSP_INIT_NONDATA, AGSA_SSP_INIT_READ, AGSA_SSP_INIT_READ_EXT, AGSA_SSP_INIT_READ_EXT_M, AGSA_SSP_INIT_READ_INDIRECT, AGSA_SSP_INIT_READ_INDIRECT_M, AGSA_SSP_INIT_READ_M, AGSA_SSP_INIT_WRITE, AGSA_SSP_INIT_WRITE_EXT, AGSA_SSP_INIT_WRITE_EXT_M, AGSA_SSP_INIT_WRITE_INDIRECT, AGSA_SSP_INIT_WRITE_INDIRECT_M, AGSA_SSP_INIT_WRITE_M, AGSA_SSP_REQTYPE, AGSA_SSP_TASK_MGNT, AGSA_SSP_TASK_MGNT_REQ, AGSA_SSP_TASK_MGNT_REQ_M, AGSA_SSP_TGT_BITS_AGR, AGSA_SSP_TGT_BITS_DEE_DIF, AGSA_SSP_TGT_BITS_ODS, AGSA_SSP_TGT_CMD_OR_TASK_RSP, AGSA_SSP_TGT_READ_DATA, AGSA_SSP_TGT_READ_GOOD_RESP, AGSA_SSP_TGT_WRITE_DATA, AGSA_SSP_TGT_WRITE_GOOD_RESP, agsaEncryptCipherModeXTS, agsaSSPInitiatorRequest_s::agSgl, agsaSSPInitiatorRequestExt_s::agSgl, agsaSSPTargetRequest_s::agSgl, agsaSSPTargetRequest_s::agTag, agsaSSPTargetResponse_s::agTag, agTRUE, agsaEncrypt_s::cipherMode, agsaIORequestDesc_s::completionCB, agsaSSPIniExtIOStartCmd_s::dataLen, agsaSSPInitiatorRequest_s::dataLength, agsaSSPInitiatorRequestExt_s::dataLength, agsaSSPTargetRequest_s::dataLength, DBG_DUMP_SSPSTART_CMDIU, agsaEncryptDek_s::dekIndex, agsaEncrypt_s::dekInfo, agsaEncryptDek_s::dekTable, agsaSSPIniTMStartCmd_s::deviceId, agsaDeviceDesc_s::DeviceMapIndex, agsaSSPInitiatorRequest_s::dif, agsaSSPTargetRequest_s::dif, DIF_FLAG_BITS_ACTION, DIF_FLAG_BITS_BLOCKSIZE_MASK, DIF_FLAG_BITS_BLOCKSIZE_SHIFT, DIF_FLAG_BITS_CRC_INV, DIF_FLAG_BITS_CRC_SEED, DIF_FLAG_BITS_CRC_VER, DIF_FLAG_BITS_CUST_APP_TAG, DIF_FLAG_BITS_UDTR_REF_BLKCOUNT, DIF_FLAG_BITS_UDTUPMASK, DIF_FLAG_BITS_UDTUPSHIFT, DIF_FLAG_BITS_UDTV_SHIFT, DIF_FLAG_BITS_UDTVMASK, agsaDif_s::DIFPerLAAddrHi, agsaDif_s::DIFPerLAAddrLo, agsaDif_s::DIFPerLARegion0SecCount, agsaSSPIniIOStartCmd_s::dirMTlr, agsaSSPIniIOStartCmd_s::E0, agsaSSPIniEncryptIOStartCmd_s::E0, agsaSSPTgtIOStartCmd_s::E0, agsaDif_s::enableDIFPerLA, agsaEncrypt_s::enableEncryptionPerLA, agsaSSPInitiatorRequest_s::encrypt, agsaEncrypt_s::EncryptionPerLAAddrHi, agsaEncrypt_s::EncryptionPerLAAddrLo, agsaEncrypt_s::EncryptionPerLRegion0SecCount, agsaSgl_s::extReserved, agsaSSPInitiatorRequest_s::flag, agsaSSPInitiatorRequestExt_s::flag, agsaDif_s::flags, agsaSSPTargetResponse_s::frameBuf, agsaLLRoot_s::freeIORequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaLLRoot_s::inboundQueue, agsaDif_s::initialIOSeed, agsaLLRoot_s::interruptVecIndexBitMap, agsaLLRoot_s::IOMap, IOMB_SIZE128, IOMB_SIZE64, IOMB_SIZE96, agsaIOMap_s::IORequest, agsaEncrypt_s::kekIndex, agsaEncrypt_s::keyTag_W0, agsaEncrypt_s::keyTag_W1, agsaEncrypt_s::keyTagCheck, agsaSgl_s::len, agsaSSPIniIOStartCmd_s::Len0, agsaSSPIniEncryptIOStartCmd_s::Len0, agsaSSPTgtIOStartCmd_s::Len0, agsaIORequestDesc_s::linkNode, LL_IOREQ_IBQ0_LOCK, LL_IOREQ_LOCKEQ_LOCK, agsaSSPScsiTaskMgntReq_s::lun, agsaSSPIniTMStartCmd_s::lun, agsaSwConfig_s::maxActiveIOs, MPI_CATEGORY_SAS_SATA, MPI_IB_NUM_MASK, MPI_OB_NUM_MASK, MPI_OB_SHIFT, mpiMsgFreeGet(), mpiMsgProduce(), agsaSSPTargetRequest_s::offset, OPC_INB_SSP_DIF_ENC_OPSTART, OPC_INB_SSPINIEXTIOSTART, OPC_INB_SSPINIIOSTART, OPC_INB_SSPINITMSTART, OPC_INB_SSPTGTIOSTART, OPC_INB_SSPTGTRSPSTART, OPC_OUB_SSP_COMP, OSSA_INP_ENTER, OSSA_INP_LEAVE, OSSA_IO_SUCCESS, OSSA_OFFSET_OF, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaLLRoot_s::outboundQueue, agsaIORequestDesc_s::pDevice, agsaDeviceDesc_s::pendingIORequests, agsaIORequestDesc_s::pIORequestContext, agsaDeviceDesc_s::pPort, agsaIORequestDesc_s::pPort, mpiICQueue_s::priority, agsaSSPIniTMStartCmd_s::relatedTag, agsaIORequestDesc_s::requestType, agsaSSPTgtRspStartCmd_s::reserved, RESP_OPTION_BITS, RESP_OPTION_ODS, agsaSSPTargetResponse_s::respBufLength, agsaSSPTargetResponse_s::respBufLower, agsaSSPTargetResponse_s::respBufUpper, agsaSSPTargetResponse_s::respOption, SA_ASSERT, SA_DBG1, SA_DBG2, SA_DBG3, SA_DBG5, saLlistIOAdd, saLlistIOGetHead, saLlistIORemove, agsaContext_s::sdkData, agsaEncrypt_s::sectorSizeIndex, agsaSgl_s::sgLower, agsaSgl_s::sgUpper, SHIFT10, SHIFT12, SHIFT16, SHIFT2, SHIFT24, SHIFT3, SHIFT4, SHIFT5, SHIFT7, SHIFT8, si_memcpy(), si_memset(), siDumpActiveIORequests(), smIS_SPC(), smTraceFuncEnter, smTraceFuncExit, SSP_OPTION_AUTO_GOOD_RESPONSE, SSP_OPTION_BITS, SSP_OPTION_DIF, SSP_OPTION_ODS, agsaSSPInitiatorRequest_s::sspCmdIU, agsaSSPInitiatorRequestExt_s::sspCmdIUExt, agsaSSPIniIOStartCmd_s::SSPInfoUnit, agsaSASRequestBody_u::sspInitiatorReq, agsaSSPInitiatorRequestIndirect_s::sspInitiatorReqAddrLower32, agsaSSPInitiatorRequestIndirect_s::sspInitiatorReqAddrUpper32, agsaSASRequestBody_u::sspInitiatorReqExt, agsaSASRequestBody_u::sspInitiatorReqIndirect, agsaSSPInitiatorRequestIndirect_s::sspInitiatorReqLen, agsaSSPIniExtIOStartCmd_s::SSPIu, agsaSSPIniExtIOStartCmd_s::SSPIuLendirMTlr, agsaSSPTargetRequest_s::sspOption, agsaSASRequestBody_u::sspTargetReq, agsaSASRequestBody_u::sspTargetResponse, agsaSASRequestBody_u::sspTaskMgntReq, agsaIORequestDesc_s::startTick, status, agsaLLRoot_s::swConfig, agsaSSPIniTMStartCmd_s::tag, agsaIOMap_s::Tag, agsaSSPScsiTaskMgntReq_s::tagOfTaskToBeManaged, agsaSSPScsiTaskMgntReq_s::taskMgntFunction, agsaLLRoot_s::timeTick, TLR_MASK, agsaSSPIniTMStartCmd_s::TMfunction, agsaSSPScsiTaskMgntReq_s::tmOption, 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 itdssXferOpenRetryTimeoutHandler(), ossaSSPEvent(), tiINIIOStart(), tiINISuperIOStart(), tiNumOfLunIOCTLreq(), tiTGTIOStart(), ttdsaIOCompleted(), and ttdsaSendResp().
GLOBAL void saSystemInterruptsActive | ( | agsaRoot_t * | agRoot, |
agBOOLEAN | sysIntsActive | ||
) |
Function to enable/disable interrupts.
The saSystemInterruptsActive() function is called to indicate to the LL Layer whether interrupts are available. The parameter sysIntsActive indicates whether interrupts are available at this time.
agRoot | handles for this instance of SAS/SATA hardware |
sysIntsActive | flag for enable/disable interrupt |
Definition at line 1340 of file saint.c.
References agNULL, AGSA_INTERRUPT_HANDLE_ALL_CHANNELS, agTRUE, agsaSwConfig_s::fatalErrorInterruptEnable, agsaSwConfig_s::fatalErrorInterruptVector, GEN_MSGU_ODMR, hpDBG_TICK_INT, MSGU_ODMR, agsaLLRoot_s::numInterruptVectors, ossaHwRegReadExt(), ossaHwRegWriteExt(), ossaReenableInterrupts(), PCIBAR0, SA_ASSERT, SA_DBG1, SA_DBG3, agsaContext_s::sdkData, siHalRegWriteExt(), smIS_SPC(), smIS_SPCV(), smTrace, smTraceFuncEnter, smTraceFuncExit, agsaLLRoot_s::swConfig, agsaLLRoot_s::sysIntsActive, V_Outbound_Doorbell_Clear_Register, V_Outbound_Doorbell_Clear_RegisterU, V_Outbound_Doorbell_Mask_Set_Register, V_Outbound_Doorbell_Mask_Set_RegisterU, V_Outbound_Doorbell_Set_Register, and V_Outbound_Doorbell_Set_RegisterU.
Referenced by saHwReset(), and tiCOMSystemInterruptsActive().
GLOBAL FORCEINLINE void saSystemInterruptsEnable | ( | agsaRoot_t * | agRoot, |
bit32 | interruptVectorIndex | ||
) |
Function to enable a single interrupt vector.
agRoot | OS Layer-specific and LL Layer-specific context handles for this instance of SAS/SATA hardware |
interruptVectorIndex | Interrupt vector to enable |
saSystemInterruptsEnable Function to enable a single interrupt vector
agRoot | OS Layer-specific and LL Layer-specific context handles for this instance of SAS/SATA hardware |
interruptVectorIndex | Interrupt vector to enable |
Definition at line 1121 of file saint.c.
References ossaReenableInterrupts().
Referenced by saTimerTick(), and tiCOMInterruptEnable().
GLOBAL void saTimerTick | ( | agsaRoot_t * | agRoot | ) |
TimerTick.
TimerTick
agRoot | handles for this instance of SAS/SATA hardware |
Definition at line 54 of file satimer.c.
References agFALSE, agNULL, mpiOCQueue_s::agRoot, mpiOCQueue_s::consumerIdx, agsaTimerDesc_s::Event, agsaLLRoot_s::freeTimers, GEN_MSGU_ODMR, GEN_MSGU_ODR, agsaLLRoot_s::interruptVecIndexBitMap, agsaTimerDesc_s::linkNode, LL_TIMER_LOCK, mpiOCQueue_s::numElements, agsaQueueConfig_s::numOutboundQueues, ossaHwRegReadExt(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaLLRoot_s::OurInterrupt, agsaLLRoot_s::outboundQueue, agsaEchoCmd_s::payload, agsaTimerDesc_s::pfnTimeout, mpiOCQueue_s::piPointer, agsaTimerDesc_s::pParm, mpiOCQueue_s::producerIdx, agsaLLRoot_s::QueueConfig, agsaLLRoot_s::ResetFailed, SA_DBG1, SA_DBG3, SA_DBG4, saEchoCommand(), saLlistAdd, saLlistGetHead, saLlistRemove, saSystemInterruptsEnable(), agsaContext_s::sdkData, siHalRegReadExt(), smIS64bInt, agsaLLRoot_s::sysIntsActive, agsaEchoCmd_s::tag, agsaTimerDesc_s::timeoutTick, agsaLLRoot_s::timeTick, V_Outbound_Doorbell_Mask_Set_Register, V_Outbound_Doorbell_Mask_Set_RegisterU, V_Outbound_Doorbell_Set_Register, V_Outbound_Doorbell_Set_RegisterU, agsaTimerDesc_s::valid, and agsaLLRoot_s::validTimers.
Referenced by tiCOMTimerTick().
GLOBAL bit32 saVhistCapture | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | queueNum, | ||
bit32 | Channel, | ||
bit32 | NumBitLo, | ||
bit32 | NumBitHi, | ||
bit32 | PcieAddrLo, | ||
bit32 | PcieAddrHi, | ||
bit32 | ByteCount | ||
) |
Definition at line 1205 of file saphy.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, agsaIOMap_s::IORequest, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, MARK_OFF, mpiVHistCapCmd(), ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), SA_ASSERT, SA_DBG1, SA_RESERVED_REQUEST_COUNT, saLlistIOAdd, saLlistIOGetCount, saLlistIOGetHead, saLlistIORemove, agsaContext_s::sdkData, smTraceFuncEnter, smTraceFuncExit, agsaIOMap_s::Tag, and agsaIORequestDesc_s::valid.