FreeBSD kernel pms device code
|
The file implements the functions to SATA IO. More...
#include <sys/cdefs.h>
#include <dev/pms/config.h>
#include <dev/pms/RefTisa/sallsdk/spc/saglobal.h>
Go to the source code of this file.
Functions | |
__FBSDID ("$FreeBSD$") | |
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 void | siEventSATAResponseWtDataRcvd (agsaRoot_t *agRoot, agsaIORequestDesc_t *pRequest, bit32 *agFirstDword, bit32 *pResp, bit32 lengthResp) |
Routine to handle for received SATA with data payload event. More... | |
GLOBAL void | siSATASignatureCpy (bit8 *pDstSignature, bit8 *pSrcSignature) |
copy a SATA signature to another More... | |
The file implements the functions to SATA IO.
Definition in file sasata.c.
__FBSDID | ( | "$FreeBSD$" | ) |
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 void siEventSATAResponseWtDataRcvd | ( | agsaRoot_t * | agRoot, |
agsaIORequestDesc_t * | pRequest, | ||
bit32 * | agFirstDword, | ||
bit32 * | pResp, | ||
bit32 | lengthResp | ||
) |
Routine to handle for received SATA with data payload event.
The handle for received SATA with data payload event
agRoot | handles for this instance of SAS/SATA hardware |
pRequest | the IO request descriptor |
agFirstDword | pointer to the first Dword |
pResp | pointer to the rest of SATA response |
lengthResp | total length of SATA Response frame |
Definition at line 859 of file sasata.c.
References agFALSE, agTRUE, agsaIORequestDesc_s::completionCB, agsaLLRoot_s::freeIORequests, hpDBG_VERY_LOUD, agsaIORequestDesc_s::linkNode, LL_IOREQ_LOCKEQ_LOCK, OSSA_IO_SUCCESS, ossaSingleThreadedEnter(), ossaSingleThreadedLeave(), agsaIORequestDesc_s::pDevice, agsaDeviceDesc_s::pendingIORequests, agsaIORequestDesc_s::pIORequestContext, saLlistIOAdd, saLlistIORemove, agsaContext_s::sdkData, smTraceFuncEnter, smTraceFuncExit, and agsaIORequestDesc_s::valid.
Referenced by mpiSATACompletion().