FreeBSD kernel pms device code
smproto.h File Reference
Include dependency graph for smproto.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

osGLOBAL FORCEINLINE void * sm_memset (void *s, int c, bit32 n)
 
osGLOBAL FORCEINLINE void * sm_memcpy (void *dst, const void *src, bit32 count)
 
osGLOBAL char * sm_strncpy (char *dst, const char *src, bit32 len)
 
osGLOBAL void smhexdump (const char *ptitle, bit8 *pbuf, size_t len)
 
osGLOBAL void smTimerTick (smRoot_t *smRoot)
 
osGLOBAL void smInitTimerRequest (smRoot_t *smRoot, smTimerRequest_t *timerRequest)
 
osGLOBAL void smSetTimerRequest (smRoot_t *smRoot, smTimerRequest_t *timerRequest, bit32 timeout, smTimerCBFunc_t CBFunc, void *timerData1, void *timerData2, void *timerData3)
 
osGLOBAL void smAddTimer (smRoot_t *smRoot, smList_t *timerListHdr, smTimerRequest_t *timerRequest)
 
osGLOBAL void smKillTimer (smRoot_t *smRoot, smTimerRequest_t *timerRequest)
 
osGLOBAL void smProcessTimers (smRoot_t *smRoot)
 
osGLOBAL void smInitTimers (smRoot_t *smRoot)
 
osGLOBAL void smDeviceDataInit (smRoot_t *smRoot, bit32 max_dev)
 
osGLOBAL void smIOInit (smRoot_t *smRoot)
 
osGLOBAL FORCEINLINE void smIOReInit (smRoot_t *smRoot, smIORequestBody_t *smIORequestBody)
 
osGLOBAL void smDeviceDataReInit (smRoot_t *smRoot, smDeviceData_t *oneDeviceData)
 
osGLOBAL void smEnqueueIO (smRoot_t *smRoot, smSatIOContext_t *satIOContext)
 
osGLOBAL FORCEINLINE void smsatFreeIntIoResource (smRoot_t *smRoot, smDeviceData_t *satDevData, smSatInternalIo_t *satIntIo)
 
osGLOBAL smSatInternalIo_tsmsatAllocIntIoResource (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceData_t *satDevData, bit32 dmaAllocLength, smSatInternalIo_t *satIntIo)
 
osGLOBAL smDeviceData_tsmAddToSharedcontext (smRoot_t *smRoot, agsaDevHandle_t *agDevHandle, smDeviceHandle_t *smDeviceHandle, agsaDevHandle_t *agExpDevHandle, bit32 phyID)
 
osGLOBAL bit32 smRemoveFromSharedcontext (smRoot_t *smRoot, agsaDevHandle_t *agDevHandle, smDeviceHandle_t *smDeviceHandle)
 
osGLOBAL smDeviceData_tsmFindInSharedcontext (smRoot_t *smRoot, agsaDevHandle_t *agDevHandle)
 
osGLOBAL bit32 smsatLogSenseAllocate (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smSCSIRequest, smSatIOContext_t *satIOContext, bit32 payloadSize, bit32 flag)
 
osGLOBAL bit32 smsatIDSubStart (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smSCSIRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatIDStart (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smSCSIRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL FORCEINLINE bit32 smsatIOStart (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smSCSIRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL void smsatSetSensePayload (smScsiRspSense_t *pSense, bit8 SnsKey, bit32 SnsInfo, bit16 SnsCode, smSatIOContext_t *satIOContext)
 
osGLOBAL void smsatSetDeferredSensePayload (smScsiRspSense_t *pSense, bit8 SnsKey, bit32 SnsInfo, bit16 SnsCode, smSatIOContext_t *satIOContext)
 
osGLOBAL FORCEINLINE bit32 smsatIOPrepareSGL (smRoot_t *smRoot, smIORequestBody_t *smIORequestBody, smSgl_t *smSgl1, void *sglVirtualAddr)
 
osGLOBAL FORCEINLINE void smsatBitSet (smRoot_t *smRoot, bit8 *data, bit32 index)
 
osGLOBAL FORCEINLINE void smsatBitClear (smRoot_t *smRoot, bit8 *data, bit32 index)
 
osGLOBAL FORCEINLINE BOOLEAN smsatBitTest (smRoot_t *smRoot, bit8 *data, bit32 index)
 
osGLOBAL FORCEINLINE bit32 smsatTagAlloc (smRoot_t *smRoot, smDeviceData_t *pSatDevData, bit8 *pTag)
 
osGLOBAL FORCEINLINE bit32 smsatTagRelease (smRoot_t *smRoot, smDeviceData_t *pSatDevData, bit8 tag)
 
osGLOBAL FORCEINLINE void smsatDecrementPendingIO (smRoot_t *smRoot, smIntContext_t *smAllShared, smSatIOContext_t *satIOContext)
 
osGLOBAL smSatIOContext_tsmsatPrepareNewIO (smSatInternalIo_t *satNewIntIo, smIORequest_t *smOrgIORequest, smDeviceData_t *satDevData, smIniScsiCmnd_t *scsiCmnd, smSatIOContext_t *satOrgIOContext)
 
osGLOBAL void smsatSetDevInfo (smDeviceData_t *oneDeviceData, agsaSATAIdentifyData_t *SATAIdData)
 
osGLOBAL void smsatInquiryStandard (bit8 *pInquiry, agsaSATAIdentifyData_t *pSATAIdData, smIniScsiCmnd_t *scsiCmnd)
 
osGLOBAL void smsatInquiryPage0 (bit8 *pInquiry, agsaSATAIdentifyData_t *pSATAIdData)
 
osGLOBAL void smsatInquiryPage83 (bit8 *pInquiry, agsaSATAIdentifyData_t *pSATAIdData, smDeviceData_t *oneDeviceData)
 
osGLOBAL void smsatInquiryPage89 (bit8 *pInquiry, agsaSATAIdentifyData_t *pSATAIdData, smDeviceData_t *oneDeviceData, bit32 len)
 
osGLOBAL void smsatInquiryPage80 (bit8 *pInquiry, agsaSATAIdentifyData_t *pSATAIdData)
 
osGLOBAL void smsatInquiryPageB1 (bit8 *pInquiry, agsaSATAIdentifyData_t *pSATAIdData)
 
osGLOBAL void smsatDefaultTranslation (smRoot_t *smRoot, smIORequest_t *smIORequest, smSatIOContext_t *satIOContext, smScsiRspSense_t *pSense, bit8 ataStatus, bit8 ataError, bit32 interruptContext)
 
osGLOBAL bit32 smPhyControlSend (smRoot_t *smRoot, smDeviceData_t *oneDeviceData, bit8 phyOp, smIORequest_t *CurrentTaskTag, bit32 queueNumber)
 
osGLOBAL bit32 smsatTaskManagement (smRoot_t *smRoot, smDeviceHandle_t *smDeviceHandle, bit32 task, smLUN_t *lun, smIORequest_t *taskTag, smIORequest_t *currentTaskTag, smIORequestBody_t *smIORequestBody)
 
osGLOBAL bit32 smsatTmAbortTask (smRoot_t *smRoot, smIORequest_t *currentTaskTag, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *tiScsiRequest, smSatIOContext_t *satIOContext, smIORequest_t *taskTag)
 
osGLOBAL bit32 smsatStartCheckPowerMode (smRoot_t *smRoot, smIORequest_t *currentTaskTag, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatStartResetDevice (smRoot_t *smRoot, smIORequest_t *currentTaskTag, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL void smsatAbort (smRoot_t *smRoot, agsaRoot_t *agRoot, smSatIOContext_t *satIOContext)
 
osGLOBAL smIORequestBody_tsmDequeueIO (smRoot_t *smRoot)
 
osGLOBAL bit32 smsatDecodeSATADeviceType (bit8 *pSignature)
 
osGLOBAL bit32 smsatPacket (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 SAT implementation for ATAPI Packet Command. More...
 
osGLOBAL void smsatPacketCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
 
osGLOBAL bit32 smsatExecuteDeviceDiagnostic (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 SAT implementation for smsatExecuteDeviceDiagnostic. More...
 
osGLOBAL void smsatExecuteDeviceDiagnosticCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
 
osGLOBAL bit32 smsatSetFeaturesAA (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL void smsatSetFeaturesAACB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
 
osGLOBAL bit32 smsatSetFeaturesPIO (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 SAT implementation for satSetFeatures. More...
 
osGLOBAL void smsatSetFeaturesPIOCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
 
osGLOBAL bit32 smsatSetFeaturesDMA (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL void smsatSetFeaturesDMACB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
 
osGLOBAL bit32 smsatSetFeaturesReadLookAhead (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL void smsatSetFeaturesReadLookAheadCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
 
osGLOBAL bit32 smsatSetFeaturesVolatileWriteCache (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL void smsatSetFeaturesVolatileWriteCacheCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
 
osGLOBAL void smsatSMARTEnablePassCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
 
osGLOBAL void smsatSMARTRStatusPassCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
 
osGLOBAL void smsatSMARTReadLogCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
 
osGLOBAL bit32 smsatRequestSenseForATAPI (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 SAT implementation for SCSI REQUEST SENSE to ATAPI device. More...
 
osGLOBAL void smsatRequestSenseForATAPICB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
 
osGLOBAL bit32 smsatDeviceReset (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 SAT implementation for smsatDeviceReset. More...
 
osGLOBAL void smsatDeviceResetCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
 
osGLOBAL void smsatTranslateATAPIErrorsToSCSIErrors (bit8 bCommand, bit8 bATAStatus, bit8 bATAError, bit8 *pSenseKey, bit16 *pSenseCodeInfo)
 
GLOBAL void smsatTranslateATAErrorsToSCSIErrors (bit8 bATAStatus, bit8 bATAError, bit8 *pSenseKey, bit16 *pSenseCodeInfo)
 
osGLOBAL bit32 smsatRead6 (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL FORCEINLINE bit32 smsatRead10 (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatRead12 (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatRead16 (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatWrite6 (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL FORCEINLINE bit32 smsatWrite10 (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatWrite12 (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatWrite16 (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatVerify10 (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatVerify12 (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatVerify16 (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatTestUnitReady (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatInquiry (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatRequestSense (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatModeSense6 (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatModeSense10 (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatReadCapacity10 (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatReadCapacity16 (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatReportLun (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatFormatUnit (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatSendDiagnostic (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatStartStopUnit (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatWriteSame10 (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatWriteSame16 (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatLogSense (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatModeSelect6 (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatModeSelect10 (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatSynchronizeCache10 (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatSynchronizeCache16 (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatWriteAndVerify10 (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatWriteAndVerify12 (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatWriteAndVerify16 (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatReadMediaSerialNumber (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatReadBuffer (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatWriteBuffer (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatReassignBlocks (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatPassthrough (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL FORCEINLINE bit32 smsataLLIOStart (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatTestUnitReady_1 (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatStartIDDev (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatSendIDDev (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatRequestSense_1 (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatSMARTEnable (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatLogSense_2 (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatLogSense_3 (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatRead_1 (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatWrite_1 (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatNonChainedWriteNVerify_Verify (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatChainedWriteNVerify_Start_Verify (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatChainedWriteNVerify_Write (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatChainedWriteNVerify_Verify (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatChainedVerify (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatWriteSame10_1 (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext, bit32 lba)
 
osGLOBAL bit32 smsatWriteSame10_2 (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext, bit32 lba)
 
osGLOBAL bit32 smsatWriteSame10_3 (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext, bit32 lba)
 
osGLOBAL bit32 smsatStartStopUnit_1 (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatSendDiagnostic_1 (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatSendDiagnostic_2 (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatModeSelect6n10_1 (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatLogSense_1 (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatReassignBlocks_2 (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext, bit8 *LBA)
 
osGLOBAL bit32 smsatReassignBlocks_1 (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext, smSatIOContext_t *satOrgIOContext)
 
osGLOBAL bit32 smsatSendReadLogExt (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatCheckPowerMode (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatResetDevice (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatDeResetDevice (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL FORCEINLINE void smllSATACompleted (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, void *agFirstDword, bit32 agIOInfoLen, void *agParam)
 
osGLOBAL FORCEINLINE void smsatNonChainedDataIOCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
 
osGLOBAL FORCEINLINE void smsatChainedDataIOCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
 
osGLOBAL void smsatNonChainedVerifyCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
 
osGLOBAL void smsatChainedVerifyCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
 
osGLOBAL void smsatTestUnitReadyCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
 
osGLOBAL void smsatRequestSenseCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
 
osGLOBAL void smsatSendDiagnosticCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
 
osGLOBAL void smsatStartStopUnitCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
 
osGLOBAL void smsatWriteSame10CB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
 
osGLOBAL void smsatLogSenseCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioCotext)
 
osGLOBAL void smsatSMARTEnableCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
 
osGLOBAL void smsatModeSelect6n10CB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
 
osGLOBAL void smsatSynchronizeCache10n16CB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
 
osGLOBAL void smsatNonChainedWriteNVerifyCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
 
osGLOBAL void smsatChainedWriteNVerifyCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
 
osGLOBAL void smsatReadMediaSerialNumberCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
 
osGLOBAL void smsatReadBufferCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
 
osGLOBAL void smsatWriteBufferCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
 
osGLOBAL void smsatReassignBlocksCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
 
osGLOBAL void smsatProcessAbnormalCompletion (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, smSatIOContext_t *satIOContext)
 
osGLOBAL void smsatDelayedProcessAbnormalCompletion (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, smSatIOContext_t *satIOContext)
 
osGLOBAL void smsatIOCompleted (smRoot_t *smRoot, smIORequest_t *smIORequest, agsaFisHeader_t *agFirstDword, bit32 respFisLen, agsaFrameHandle_t agFrameHandle, smSatIOContext_t *satIOContext, bit32 interruptContext)
 
osGLOBAL void smsatEncryptionHandler (smRoot_t *smRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo, bit32 interruptContext)
 
osGLOBAL void smsatDifHandler (smRoot_t *smRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo, bit32 interruptContext)
 
osGLOBAL void smsatProcessAbort (smRoot_t *smRoot, smIORequest_t *smIORequest, smSatIOContext_t *satIOContext)
 
osGLOBAL void smsatNonDataIOCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
 
osGLOBAL void smsatInquiryCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
 
osGLOBAL void smsatInquiryIntCB (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL void smsatVerify10CB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
 
osGLOBAL void smsatReadLogExtCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
 
osGLOBAL void smsatIDStartCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
 
osGLOBAL void smSMPCompleted (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle)
 
osGLOBAL void smSMPCompletedCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle)
 
osGLOBAL void smPhyControlRespRcvd (smRoot_t *smRoot, agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, smDeviceData_t *oneDeviceData, smSMPFrameHeader_t *frameHeader, agsaFrameHandle_t frameHandle, smIORequest_t *CurrentTaskTag)
 
osGLOBAL void smsatCheckPowerModeCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
 
osGLOBAL void smsatCheckPowerModePassCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
 
osGLOBAL void smsatIDDataPassCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
 
osGLOBAL void smsatResetDeviceCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
 
osGLOBAL void smsatDeResetDeviceCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
 
osGLOBAL void smaSATAAbortCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 flag, bit32 status)
 
osGLOBAL void smLocalPhyControlCB (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 phyId, bit32 phyOperation, bit32 status, void *parm)
 
osGLOBAL bit32 smsatComputeCDB10LBA (smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatComputeCDB10TL (smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatComputeCDB12LBA (smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatComputeCDB12TL (smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatComputeCDB16LBA (smSatIOContext_t *satIOContext)
 
osGLOBAL bit32 smsatComputeCDB16TL (smSatIOContext_t *satIOContext)
 
osGLOBAL FORCEINLINE bit32 smsatComputeLoopNum (bit32 a, bit32 b)
 
osGLOBAL FORCEINLINE bit32 smsatCheckLimit (bit8 *lba, bit8 *tl, int flag, smDeviceData_t *pSatDevData)
 
osGLOBAL void smsatSplitSGL (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext, bit32 split, bit32 tl, bit32 flag)
 
osGLOBAL void smsatPrintSgl (smRoot_t *smRoot, agsaEsgl_t *agEsgl, bit32 idx)
 
osGLOBAL void smsatPassthroughCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
 

Function Documentation

◆ sm_memcpy()

◆ sm_memset()

◆ sm_strncpy()

osGLOBAL char * sm_strncpy ( char *  dst,
const char *  src,
bit32  len 
)

Definition at line 76 of file smmisc.c.

Referenced by smsatInquiryPage83(), smsatInquiryPage89(), and smsatInquiryStandard().

Here is the caller graph for this function:

◆ smAddTimer()

osGLOBAL void smAddTimer ( smRoot_t smRoot,
smList_t timerListHdr,
smTimerRequest_t timerRequest 
)

◆ smAddToSharedcontext()

◆ smaSATAAbortCB()

◆ smDequeueIO()

◆ smDeviceDataInit()

◆ smDeviceDataReInit()

◆ smEnqueueIO()

◆ smFindInSharedcontext()

osGLOBAL smDeviceData_t * smFindInSharedcontext ( smRoot_t smRoot,
agsaDevHandle_t agDevHandle 
)

◆ smhexdump()

osGLOBAL void smhexdump ( const char *  ptitle,
bit8 pbuf,
size_t  len 
)

◆ smInitTimerRequest()

osGLOBAL void smInitTimerRequest ( smRoot_t smRoot,
smTimerRequest_t timerRequest 
)

◆ smInitTimers()

osGLOBAL void smInitTimers ( smRoot_t smRoot)

Definition at line 298 of file sminit.c.

References SM_DBG2, smIntRoot_s::smAllShared, smContext_t::smData, and SMLIST_INIT_HDR.

Referenced by smInitialize().

Here is the caller graph for this function:

◆ smIOInit()

◆ smIOReInit()

◆ smKillTimer()

osGLOBAL void smKillTimer ( smRoot_t smRoot,
smTimerRequest_t timerRequest 
)

◆ smllSATACompleted()

◆ smLocalPhyControlCB()

◆ smPhyControlRespRcvd()

osGLOBAL void smPhyControlRespRcvd ( smRoot_t smRoot,
agsaRoot_t agRoot,
agsaIORequest_t agIORequest,
smDeviceData_t oneDeviceData,
smSMPFrameHeader_t frameHeader,
agsaFrameHandle_t  frameHandle,
smIORequest_t CurrentTaskTag 
)

◆ smPhyControlSend()

osGLOBAL bit32 smPhyControlSend ( smRoot_t smRoot,
smDeviceData_t oneDeviceData,
bit8  phyOp,
smIORequest_t CurrentTaskTag,
bit32  queueNumber 
)

◆ smProcessTimers()

◆ smRemoveFromSharedcontext()

◆ smsatAbort()

◆ smsataLLIOStart()

osGLOBAL FORCEINLINE bit32 smsataLLIOStart ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

Definition at line 50 of file smsathw.c.

References smDeviceData_s::agDevHandle, agFALSE, smIORequestBody_s::agIORequest, agNULL, smIntContext_s::agRoot, AGSA_RC_BUSY, AGSA_RC_SUCCESS, AGSA_SATA_ENABLE_ENCRYPTION, AGSA_SATA_PROTOCOL_D2H_PKT, AGSA_SATA_PROTOCOL_FPDMA_READ, AGSA_SATA_PROTOCOL_FPDMA_WRITE, AGSA_SATA_PROTOCOL_H2D_PKT, AGSA_SATA_PROTOCOL_NON_DATA, AGSA_SATA_PROTOCOL_NON_PKT, AGSA_SATA_PROTOCOL_SRST_ASSERT, AGSA_SATA_PROTOCOL_SRST_DEASSERT, smIORequestBody_s::agSATARequestBody, agsaSATAInitiatorRequest_s::agSgl, agTRUE, smIniScsiCmnd_t::cdb, agsaFisRegH2DHeader_s::command, agsaSATAInitiatorRequest_s::dataLength, agsaSATAInitiatorRequest_s::encrypt, smSuperScsiInitiatorRequest::Encrypt, smIniScsiCmnd_t::expDataLength, smIORequestBody_s::expDataLength, agsaSgl_s::extReserved, agsaSATAInitiatorRequest_s::fis, agsaSATAHostFis_u::fisRegHostToDev, smSuperScsiInitiatorRequest::flags, agsaFisRegHostToDevice_s::h, smIORequestBody_s::InitiatorRegIO, smIORequestBody_s::ioCompleted, smIORequestBody_s::ioStarted, smIORequestBody_s::IOType, agsaSgl_s::len, agsaSATAInitiatorRequest_s::option, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, smSatIOContext_s::reqType, smIORequestBody_s::reTries, saSATAStart(), SAT_APAPI_CMDQ_MAX, SAT_DEV_STATE_IN_RECOVERY, SAT_NONNCQ_MAX, SAT_READ_LOG_EXT, smIORequestBody_s::SATA, smSatIOContext_s::sataTag, smSatIOContext_s::satIntIoContext, smSatIOContext_s::satIoContextLink, smSatIOContext_s::satOrgIOContext, smDeviceData_s::satPendingIO, smDeviceData_s::satPendingNCQIO, smDeviceData_s::satPendingNONNCQIO, agsaSATAInitiatorRequest_s::scsiCDB, smScsiInitiatorRequest::scsiCmnd, SCSIOPC_READ_10, SCSIOPC_READ_12, SCSIOPC_READ_16, SCSIOPC_READ_6, SCSIOPC_WRITE_10, SCSIOPC_WRITE_12, SCSIOPC_WRITE_16, SCSIOPC_WRITE_6, agsaSgl_s::sgLower, smScsiInitiatorRequest::sglVirtualAddr, agsaSgl_s::sgUpper, SM_CLEAR_ESGL_EXTEND, SM_DBG1, SM_DBG3, SM_DBG6, SM_EXTERNAL_IO_LOCK, sm_memcpy(), SM_RC_BUSY, SM_RC_DEVICE_BUSY, SM_RC_FAILURE, SM_RC_SUCCESS, SM_SCSI_INITIATOR_ENCRYPT, smContext_t::smData, smIORequestBody_s::smDevHandle, smhexdump(), smIORequestBody_s::smIORequest, SMLIST_DEQUEUE_THIS, SMLIST_ENQUEUE_AT_TAIL, SMLIST_INIT_ELEMENT, smllSATACompleted(), smSatIOContext_s::smRequestBody, smsatFreeIntIoResource(), smsatIOPrepareSGL(), smsatTagAlloc(), smsatTagRelease(), smScsiInitiatorRequest::smSgl1, status, smSatIOContext_s::superIOFlag, tdsmInterlockedDecrement(), tdsmInterlockedExchange(), tdsmInterlockedIncrement(), tdsmRotateQnumber(), tdsmSingleThreadedEnter(), tdsmSingleThreadedLeave(), and smIORequestBody_s::transport.

Referenced by smsatChainedVerify(), smsatChainedWriteNVerify_Start_Verify(), smsatChainedWriteNVerify_Verify(), smsatChainedWriteNVerify_Write(), smsatCheckPowerMode(), smsatDeResetDevice(), smsatDeviceReset(), smsatExecuteDeviceDiagnostic(), smsatIDStart(), smsatLogSense(), smsatLogSense_1(), smsatLogSense_2(), smsatLogSense_3(), smsatModeSelect10(), smsatModeSelect6(), smsatModeSelect6n10_1(), smsatNonChainedWriteNVerify_Verify(), smsatPacket(), smsatPassthrough(), smsatRead10(), smsatRead12(), smsatRead16(), smsatRead6(), smsatRead_1(), smsatReadBuffer(), smsatReadMediaSerialNumber(), smsatReassignBlocks(), smsatReassignBlocks_1(), smsatReassignBlocks_2(), smsatRequestSense(), smsatRequestSense_1(), smsatRequestSenseForATAPI(), smsatResetDevice(), smsatSendDiagnostic(), smsatSendDiagnostic_1(), smsatSendDiagnostic_2(), smsatSendIDDev(), smsatSendReadLogExt(), smsatSetFeaturesAA(), smsatSetFeaturesDMA(), smsatSetFeaturesPIO(), smsatSetFeaturesReadLookAhead(), smsatSetFeaturesVolatileWriteCache(), smsatSMARTEnable(), smsatStartStopUnit(), smsatStartStopUnit_1(), smsatSynchronizeCache10(), smsatSynchronizeCache16(), smsatTestUnitReady(), smsatTestUnitReady_1(), smsatVerify10(), smsatVerify12(), smsatVerify16(), smsatWrite10(), smsatWrite12(), smsatWrite16(), smsatWrite6(), smsatWrite_1(), smsatWriteAndVerify10(), smsatWriteAndVerify12(), smsatWriteAndVerify16(), smsatWriteBuffer(), smsatWriteSame10(), smsatWriteSame10_1(), smsatWriteSame10_2(), and smsatWriteSame10_3().

Here is the call graph for this function:

◆ smsatAllocIntIoResource()

osGLOBAL smSatInternalIo_t * smsatAllocIntIoResource ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceData_t satDevData,
bit32  dmaAllocLength,
smSatInternalIo_t satIntIo 
)

Definition at line 1547 of file smsat.c.

References agFALSE, agNULL, agTRUE, smIniScsiCmnd_t::expDataLength, smSatInternalIo_s::id, smSgl_t::len, smSgl_t::lower, smMem_t::osHandle, smMem_t::physAddrLower, smMem_t::physAddrUpper, smDeviceData_s::satActiveIntIoLinkList, smDeviceData_s::satFreeIntIoLinkList, smSatInternalIo_s::satIntDmaMem, smSatInternalIo_s::satIntIoLink, smSatInternalIo_s::satIntReqBodyMem, smSatInternalIo_s::satIntRequestBody, smSatInternalIo_s::satIntSmIORequest, smSatInternalIo_s::satIntSmScsiXchg, smSatInternalIo_s::satOrgSmIORequest, smScsiInitiatorRequest::scsiCmnd, smScsiInitiatorRequest::sglVirtualAddr, SM_DBG1, SM_DBG3, SM_DBG5, SM_INTERNAL_IO_LOCK, SM_RC_SUCCESS, smContext_t::smData, SMLIST_DEQUEUE_FROM_HEAD, SMLIST_DEQUEUE_THIS, SMLIST_EMPTY, SMLIST_ENQUEUE_AT_HEAD, SMLIST_ENQUEUE_AT_TAIL, SMLIST_OBJECT_BASE, smScsiInitiatorRequest::smSgl1, smContext_t::tdData, tdsmAllocMemory(), tdsmFreeMemory(), tdsmSingleThreadedEnter(), tdsmSingleThreadedLeave(), tiSgl, smMem_t::totalLength, smSgl_t::type, smSgl_t::upper, and smMem_t::virtPtr.

Referenced by ossaSATAEvent(), smsatChainedDataIOCB(), smsatChainedVerifyCB(), smsatChainedWriteNVerifyCB(), smsatIDStartCB(), smsatIDSubStart(), smsatIOCompleted(), smsatLogSenseAllocate(), smsatModeSelect6n10CB(), smsatNonChainedWriteNVerifyCB(), smsatPacketCB(), smsatReassignBlocksCB(), smsatRequestSense(), smsatRequestSenseCB(), smsatResetDeviceCB(), smsatSendDiagnosticCB(), smsatSetFeaturesDMACB(), smsatSetFeaturesPIOCB(), smsatSetFeaturesReadLookAheadCB(), smsatSetFeaturesVolatileWriteCacheCB(), smsatSMARTEnableCB(), smsatStartCheckPowerMode(), smsatStartIDDev(), smsatStartResetDevice(), smsatStartStopUnitCB(), smsatTestUnitReadyCB(), and smsatWriteSame10CB().

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

◆ smsatBitClear()

osGLOBAL FORCEINLINE void smsatBitClear ( smRoot_t smRoot,
bit8 data,
bit32  index 
)

Definition at line 20133 of file smsat.c.

References index.

Referenced by smsatTagRelease().

Here is the caller graph for this function:

◆ smsatBitSet()

osGLOBAL FORCEINLINE void smsatBitSet ( smRoot_t smRoot,
bit8 data,
bit32  index 
)

Definition at line 20127 of file smsat.c.

References index.

Referenced by smsatTagAlloc().

Here is the caller graph for this function:

◆ smsatBitTest()

osGLOBAL FORCEINLINE BOOLEAN smsatBitTest ( smRoot_t smRoot,
bit8 data,
bit32  index 
)

Definition at line 20139 of file smsat.c.

References index.

Referenced by smsatTagAlloc().

Here is the caller graph for this function:

◆ smsatChainedDataIOCB()

osGLOBAL FORCEINLINE void smsatChainedDataIOCB ( agsaRoot_t agRoot,
agsaIORequest_t agIORequest,
bit32  agIOStatus,
agsaFisHeader_t agFirstDword,
bit32  agIOInfoLen,
void *  agParam,
void *  ioContext 
)

Definition at line 1124 of file smsatcb.c.

References agFALSE, agNULL, agTRUE, smIniScsiCmnd_t::cdb, agsaFisRegH2DHeader_s::command, agsaFisHeader_s::D2H, DF_ATA_STATUS_MASK, ERR_ATA_STATUS_MASK, agsaFisRegD2HHeader_s::fisType, agsaFisRegHostToDevice_s::h, smSatIOContext_s::interruptContext, smIORequestBody_s::ioCompleted, smIORequestBody_s::ioStarted, smSatIOContext_s::LoopNum, agsaContext_s::osData, OSSA_IO_SUCCESS, smSatIOContext_s::pFis, PIO_SETUP_DEV_TO_HOST_FIS, smSatIOContext_s::pSatDevData, smSatIOContext_s::pScsiCmnd, smSatIOContext_s::pSense, smSatIOContext_s::psmDeviceHandle, smSatIOContext_s::pSmSenseData, REG_DEV_TO_HOST_FIS, SAT_READ_DMA, SAT_READ_DMA_EXT, SAT_READ_FPDMA_QUEUED, SAT_READ_SECTORS, SAT_READ_SECTORS_EXT, SAT_WRITE_DMA, SAT_WRITE_DMA_EXT, SAT_WRITE_DMA_FUA_EXT, SAT_WRITE_FPDMA_QUEUED, SAT_WRITE_SECTORS, SAT_WRITE_SECTORS_EXT, smSatIOContext_s::satIntIoContext, smSatInternalIo_s::satIntSmIORequest, smSatInternalIo_s::satIntSmScsiXchg, smSatIOContext_s::satOrgIOContext, SCSI_SNSCODE_NO_ADDITIONAL_INFO, SCSI_SNSKEY_NO_SENSE, SCSI_STAT_CHECK_CONDITION, SCSI_STAT_GOOD, SCSIOPC_READ_10, SCSIOPC_READ_12, SCSIOPC_READ_16, SCSIOPC_READ_6, SCSIOPC_WRITE_10, SCSIOPC_WRITE_12, SCSIOPC_WRITE_16, SCSIOPC_WRITE_6, SET_DEV_BITS_FIS, SM_DBG1, SM_DBG5, SM_DBG6, SM_RC_SUCCESS, smIntRoot_s::smAllShared, smContext_t::smData, smDetailOtherError, smIOFailed, smIORequestBody_s::smIORequest, smIOSuccess, smSatIOContext_s::smRequestBody, smDeviceData_s::smRoot, smsatAllocIntIoResource(), smsatDecrementPendingIO(), smsatDelayedProcessAbnormalCompletion(), smsatFreeIntIoResource(), smsatPrepareNewIO(), smsatRead_1(), smsatSetSensePayload(), smsatWrite_1(), status, agsaFisRegD2HHeader_s::status, tdsmIOCompletedCB(), and tiError.

Referenced by smsatRead10(), smsatRead12(), smsatRead16(), smsatRead_1(), smsatWrite10(), smsatWrite12(), smsatWrite16(), and smsatWrite_1().

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

◆ smsatChainedVerify()

◆ smsatChainedVerifyCB()

osGLOBAL void smsatChainedVerifyCB ( agsaRoot_t agRoot,
agsaIORequest_t agIORequest,
bit32  agIOStatus,
agsaFisHeader_t agFirstDword,
bit32  agIOInfoLen,
agsaFrameHandle_t  agFrameHandle,
void *  ioContext 
)

Definition at line 1630 of file smsatcb.c.

References agFALSE, agNULL, agTRUE, agsaFisRegH2DHeader_s::command, agsaFisHeader_s::D2H, DF_ATA_STATUS_MASK, ERR_ATA_STATUS_MASK, agsaFisRegD2HHeader_s::fisType, agsaFisRegHostToDevice_s::h, smSatIOContext_s::interruptContext, smIORequestBody_s::ioCompleted, smIORequestBody_s::ioStarted, smSatIOContext_s::LoopNum, agsaContext_s::osData, OSSA_IO_ABORTED, OSSA_IO_SUCCESS, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, smSatIOContext_s::pScsiCmnd, smSatIOContext_s::pSense, smSatIOContext_s::psmDeviceHandle, smSatIOContext_s::pSmSenseData, REG_DEV_TO_HOST_FIS, SAT_READ_VERIFY_SECTORS, SAT_READ_VERIFY_SECTORS_EXT, smSatIOContext_s::satIntIoContext, smSatInternalIo_s::satIntSmIORequest, smSatInternalIo_s::satIntSmScsiXchg, smSatIOContext_s::satOrgIOContext, SCSI_SNSCODE_NO_ADDITIONAL_INFO, SCSI_SNSKEY_NO_SENSE, SCSI_STAT_CHECK_CONDITION, SCSI_STAT_GOOD, SM_DBG1, SM_DBG2, SM_DBG4, SM_DBG5, SM_RC_SUCCESS, smIntRoot_s::smAllShared, smContext_t::smData, smDetailOtherError, smIOFailed, smIORequestBody_s::smIORequest, smIOSuccess, smSatIOContext_s::smRequestBody, smDeviceData_s::smRoot, smsatAllocIntIoResource(), smsatChainedVerify(), smsatDecrementPendingIO(), smsatFreeIntIoResource(), smsatPrepareNewIO(), smsatProcessAbort(), smsatSetSensePayload(), smSatIOContext_s::smScsiXchg, status, agsaFisRegD2HHeader_s::status, smSatIOContext_s::superIOFlag, tdsmIOCompletedCB(), and tiError.

Referenced by smsatChainedVerify(), smsatVerify10(), smsatVerify12(), and smsatVerify16().

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

◆ smsatChainedWriteNVerify_Start_Verify()

osGLOBAL bit32 smsatChainedWriteNVerify_Start_Verify ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

◆ smsatChainedWriteNVerify_Verify()

◆ smsatChainedWriteNVerify_Write()

osGLOBAL bit32 smsatChainedWriteNVerify_Write ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

◆ smsatChainedWriteNVerifyCB()

osGLOBAL void smsatChainedWriteNVerifyCB ( agsaRoot_t agRoot,
agsaIORequest_t agIORequest,
bit32  agIOStatus,
agsaFisHeader_t agFirstDword,
bit32  agIOInfoLen,
void *  agParam,
void *  ioContext 
)

Definition at line 6333 of file smsatcb.c.

References agFALSE, agNULL, agTRUE, agsaFisRegH2DHeader_s::command, agsaFisHeader_s::D2H, DF_ATA_STATUS_MASK, ERR_ATA_STATUS_MASK, agsaFisRegD2HHeader_s::fisType, agsaFisRegHostToDevice_s::h, smSatIOContext_s::interruptContext, smIORequestBody_s::ioCompleted, smIORequestBody_s::ioStarted, smSatIOContext_s::LoopNum, smSatIOContext_s::LoopNum2, agsaContext_s::osData, OSSA_IO_SUCCESS, smSatIOContext_s::pFis, PIO_SETUP_DEV_TO_HOST_FIS, smSatIOContext_s::pSatDevData, smSatIOContext_s::pScsiCmnd, smSatIOContext_s::pSense, smSatIOContext_s::psmDeviceHandle, smSatIOContext_s::pSmSenseData, REG_DEV_TO_HOST_FIS, SAT_READ_VERIFY_SECTORS, SAT_READ_VERIFY_SECTORS_EXT, SAT_WRITE_DMA, SAT_WRITE_DMA_EXT, SAT_WRITE_FPDMA_QUEUED, SAT_WRITE_SECTORS, SAT_WRITE_SECTORS_EXT, smSatIOContext_s::satIntIoContext, smSatInternalIo_s::satIntSmIORequest, smSatInternalIo_s::satIntSmScsiXchg, smSatIOContext_s::satOrgIOContext, SCSI_SNSCODE_NO_ADDITIONAL_INFO, SCSI_SNSKEY_NO_SENSE, SCSI_STAT_CHECK_CONDITION, SCSI_STAT_GOOD, SET_DEV_BITS_FIS, SM_DBG1, SM_DBG2, SM_DBG5, SM_DBG6, SM_RC_SUCCESS, smIntRoot_s::smAllShared, smContext_t::smData, smDetailOtherError, smIOFailed, smIORequestBody_s::smIORequest, smIOSuccess, smSatIOContext_s::smRequestBody, smDeviceData_s::smRoot, smsatAllocIntIoResource(), smsatChainedWriteNVerify_Start_Verify(), smsatChainedWriteNVerify_Verify(), smsatChainedWriteNVerify_Write(), smsatDecrementPendingIO(), smsatDelayedProcessAbnormalCompletion(), smsatFreeIntIoResource(), smsatPrepareNewIO(), smsatSetSensePayload(), smSatIOContext_s::smScsiXchg, status, agsaFisRegD2HHeader_s::status, smSatIOContext_s::superIOFlag, tdsmIOCompletedCB(), and tiError.

Referenced by smsatChainedWriteNVerify_Start_Verify(), smsatChainedWriteNVerify_Verify(), smsatChainedWriteNVerify_Write(), smsatWriteAndVerify10(), smsatWriteAndVerify12(), and smsatWriteAndVerify16().

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

◆ smsatCheckLimit()

osGLOBAL FORCEINLINE bit32 smsatCheckLimit ( bit8 lba,
bit8 tl,
int  flag,
smDeviceData_t pSatDevData 
)

◆ smsatCheckPowerMode()

◆ smsatCheckPowerModeCB()

osGLOBAL void smsatCheckPowerModeCB ( agsaRoot_t agRoot,
agsaIORequest_t agIORequest,
bit32  agIOStatus,
agsaFisHeader_t agFirstDword,
bit32  agIOInfoLen,
agsaFrameHandle_t  agFrameHandle,
void *  ioContext 
)

◆ smsatCheckPowerModePassCB()

◆ smsatComputeCDB10LBA()

osGLOBAL bit32 smsatComputeCDB10LBA ( smSatIOContext_t satIOContext)

Definition at line 20213 of file smsat.c.

References smIniScsiCmnd_t::cdb, smScsiInitiatorRequest::scsiCmnd, SM_DBG5, and smSatIOContext_s::smScsiXchg.

Referenced by smsatRead10(), and smsatWrite10().

Here is the caller graph for this function:

◆ smsatComputeCDB10TL()

osGLOBAL bit32 smsatComputeCDB10TL ( smSatIOContext_t satIOContext)

Definition at line 20230 of file smsat.c.

References smIniScsiCmnd_t::cdb, smScsiInitiatorRequest::scsiCmnd, SM_DBG5, and smSatIOContext_s::smScsiXchg.

Referenced by smsatRead10(), and smsatWrite10().

Here is the caller graph for this function:

◆ smsatComputeCDB12LBA()

osGLOBAL bit32 smsatComputeCDB12LBA ( smSatIOContext_t satIOContext)

◆ smsatComputeCDB12TL()

osGLOBAL bit32 smsatComputeCDB12TL ( smSatIOContext_t satIOContext)

◆ smsatComputeCDB16LBA()

osGLOBAL bit32 smsatComputeCDB16LBA ( smSatIOContext_t satIOContext)

Definition at line 20285 of file smsat.c.

References smIniScsiCmnd_t::cdb, smScsiInitiatorRequest::scsiCmnd, SM_DBG5, and smSatIOContext_s::smScsiXchg.

Referenced by smsatRead16(), smsatVerify16(), smsatWrite16(), and smsatWriteAndVerify16().

Here is the caller graph for this function:

◆ smsatComputeCDB16TL()

osGLOBAL bit32 smsatComputeCDB16TL ( smSatIOContext_t satIOContext)

Definition at line 20302 of file smsat.c.

References smIniScsiCmnd_t::cdb, smScsiInitiatorRequest::scsiCmnd, SM_DBG5, and smSatIOContext_s::smScsiXchg.

Referenced by smsatRead16(), smsatVerify16(), smsatWrite16(), and smsatWriteAndVerify16().

Here is the caller graph for this function:

◆ smsatComputeLoopNum()

◆ smsatDecodeSATADeviceType()

osGLOBAL bit32 smsatDecodeSATADeviceType ( bit8 pSignature)

◆ smsatDecrementPendingIO()

osGLOBAL FORCEINLINE void smsatDecrementPendingIO ( smRoot_t smRoot,
smIntContext_t smAllShared,
smSatIOContext_t satIOContext 
)

Definition at line 7626 of file smsatcb.c.

References agNULL, AGSA_SATA_PROTOCOL_FPDMA_READ, AGSA_SATA_PROTOCOL_FPDMA_WRITE, smIORequestBody_s::id, smSatIOContext_s::pSatDevData, smSatIOContext_s::reqType, smSatIOContext_s::satIntIoContext, smSatIOContext_s::satIoContextLink, smSatIOContext_s::satOrgIOContext, smDeviceData_s::satPendingIO, smDeviceData_s::satPendingNCQIO, smDeviceData_s::satPendingNONNCQIO, SM_DBG1, SM_DBG3, SM_EXTERNAL_IO_LOCK, SMLIST_DEQUEUE_THIS, smSatIOContext_s::smRequestBody, tdsmInterlockedDecrement(), tdsmInterlockedExchange(), tdsmSingleThreadedEnter(), and tdsmSingleThreadedLeave().

Referenced by smsatChainedDataIOCB(), smsatChainedVerifyCB(), smsatChainedWriteNVerifyCB(), smsatCheckPowerModeCB(), smsatCheckPowerModePassCB(), smsatDeResetDeviceCB(), smsatDeviceResetCB(), smsatExecuteDeviceDiagnosticCB(), smsatIDDataPassCB(), smsatIDStartCB(), smsatInquiryCB(), smsatLogSenseCB(), smsatModeSelect6n10CB(), smsatNonChainedDataIOCB(), smsatNonChainedVerifyCB(), smsatNonChainedWriteNVerifyCB(), smsatNonDataIOCB(), smsatPacketCB(), smsatPassthroughCB(), smsatReadBufferCB(), smsatReadLogExtCB(), smsatReadMediaSerialNumberCB(), smsatReassignBlocksCB(), smsatRequestSenseCB(), smsatRequestSenseForATAPICB(), smsatResetDeviceCB(), smsatSendDiagnosticCB(), smsatSetFeaturesAACB(), smsatSetFeaturesDMACB(), smsatSetFeaturesPIOCB(), smsatSetFeaturesReadLookAheadCB(), smsatSetFeaturesVolatileWriteCacheCB(), smsatSMARTEnableCB(), smsatSMARTEnablePassCB(), smsatSMARTReadLogCB(), smsatSMARTRStatusPassCB(), smsatStartStopUnitCB(), smsatSynchronizeCache10n16CB(), smsatTestUnitReadyCB(), smsatVerify10CB(), smsatWriteBufferCB(), and smsatWriteSame10CB().

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

◆ smsatDefaultTranslation()

◆ smsatDelayedProcessAbnormalCompletion()

osGLOBAL void smsatDelayedProcessAbnormalCompletion ( agsaRoot_t agRoot,
agsaIORequest_t agIORequest,
bit32  agIOStatus,
agsaFisHeader_t agFirstDword,
bit32  agIOInfoLen,
void *  agParam,
smSatIOContext_t satIOContext 
)

Definition at line 8222 of file smsatcb.c.

References smDeviceData_s::agDevHandle, agNULL, agTRUE, smDeviceData_s::id, smSatIOContext_s::interruptContext, agsaContext_s::osData, OSSA_IO_ABORT_RESET, OSSA_IO_ABORTED, OSSA_IO_DS_IN_ERROR, OSSA_IO_DS_IN_RECOVERY, OSSA_IO_DS_INVALID, OSSA_IO_DS_NON_OPERATIONAL, OSSA_IO_FAILED, OSSA_IO_ILLEGAL_PARAMETER, OSSA_IO_LINK_FAILURE, OSSA_IO_NO_DEVICE, OSSA_IO_NOT_VALID, OSSA_IO_OPEN_CNX_ERROR_BAD_DESTINATION, OSSA_IO_OPEN_CNX_ERROR_BREAK, OSSA_IO_OPEN_CNX_ERROR_CONNECTION_RATE_NOT_SUPPORTED, OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS, OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_NO_DEST, OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_COLLIDE, OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_RETRY_BACKOFF_THRESHOLD_REACHED, OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_TMO, OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_PATHWAY_BLOCKED, OSSA_IO_OPEN_CNX_ERROR_OPEN_PREEMPTED, OSSA_IO_OPEN_CNX_ERROR_PROTOCOL_NOT_SUPPORTED, OSSA_IO_OPEN_CNX_ERROR_STP_RESOURCES_BUSY, OSSA_IO_OPEN_CNX_ERROR_UNKNOWN_ERROR, OSSA_IO_OPEN_CNX_ERROR_WRONG_DESTINATION, OSSA_IO_OPEN_CNX_ERROR_ZONE_VIOLATION, OSSA_IO_OVERFLOW, OSSA_IO_PORT_IN_RESET, OSSA_IO_PROG_ERROR, OSSA_IO_SUCCESS, OSSA_IO_UNDERFLOW, OSSA_IO_XFER_ERROR_ABORTED_DUE_TO_SRST, OSSA_IO_XFER_ERROR_ABORTED_NCQ_MODE, OSSA_IO_XFER_ERROR_ACK_NAK_TIMEOUT, OSSA_IO_XFER_ERROR_BREAK, OSSA_IO_XFER_ERROR_CMD_ISSUE_ACK_NAK_TIMEOUT, OSSA_IO_XFER_ERROR_CMD_ISSUE_BREAK_BEFORE_ACK_NAK, OSSA_IO_XFER_ERROR_CMD_ISSUE_PHY_DOWN_BEFORE_ACK_NAK, OSSA_IO_XFER_ERROR_CREDIT_TIMEOUT, OSSA_IO_XFER_ERROR_DMA, OSSA_IO_XFER_ERROR_NAK_RECEIVED, OSSA_IO_XFER_ERROR_OFFSET_MISMATCH, OSSA_IO_XFER_ERROR_PEER_ABORTED, OSSA_IO_XFER_ERROR_PHY_NOT_READY, OSSA_IO_XFER_ERROR_REJECTED_NCQ_MODE, OSSA_IO_XFER_ERROR_RX_FRAME, OSSA_IO_XFER_ERROR_SATA, OSSA_IO_XFER_ERROR_SATA_LINK_TIMEOUT, OSSA_IO_XFER_ERROR_XFER_ZERO_DATA_LEN, OSSA_IO_XFER_PIO_SETUP_ERROR, OSSA_IO_XFR_ERROR_CIPHER_MODE_INVALID, OSSA_IO_XFR_ERROR_DEK_ILLEGAL_TABLE, OSSA_IO_XFR_ERROR_DEK_INDEX_OUT_OF_BOUNDS, OSSA_IO_XFR_ERROR_DEK_IV_MISMATCH, OSSA_IO_XFR_ERROR_DEK_KEY_CACHE_MISS, OSSA_IO_XFR_ERROR_DEK_KEY_TAG_MISMATCH, OSSA_IO_XFR_ERROR_DEK_RAM_INTERFACE_ERROR, OSSA_IO_XFR_ERROR_DIF_APPLICATION_TAG_MISMATCH, OSSA_IO_XFR_ERROR_DIF_CRC_MISMATCH, OSSA_IO_XFR_ERROR_DIF_REFERENCE_TAG_MISMATCH, OSSA_MPI_ERR_ATAPI_DEVICE_BUSY, OSSA_MPI_ERR_IO_RESOURCE_UNAVAILABLE, OSSA_MPI_IO_RQE_BUSY_FULL, smSatIOContext_s::pSatDevData, smSatIOContext_s::psmDeviceHandle, SA_DS_OPERATIONAL, saSetDeviceState(), SAT_DEV_STATE_IN_RECOVERY, SAT_DEV_STATE_NORMAL, smDeviceData_s::satDriveState, smDeviceData_s::satNCQMaxIO, smDeviceData_s::satPendingIO, smDeviceData_s::satPendingNCQIO, smDeviceData_s::satPendingNONNCQIO, smDeviceData_s::satTmTaskTag, SM_DBG1, SM_DBG5, smDetailAborted, smDetailAbortReset, smDetailBusy, smDetailNoLogin, smDetailNotValid, smDetailOtherError, smIntrEventTypeTaskManagement, smIOFailed, smIOOverRun, smIORequestBody_s::smIORequest, smIOUnderRun, smDeviceData_s::smRoot, smsatDifHandler(), smsatEncryptionHandler(), smTMOK, tdsmEventCB(), tdsmIOCompletedCB(), tdsmRotateQnumber(), and smDeviceData_s::valid.

Referenced by smsatChainedDataIOCB(), and smsatChainedWriteNVerifyCB().

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

◆ smsatDeResetDevice()

◆ smsatDeResetDeviceCB()

osGLOBAL void smsatDeResetDeviceCB ( agsaRoot_t agRoot,
agsaIORequest_t agIORequest,
bit32  agIOStatus,
agsaFisHeader_t agFirstDword,
bit32  agIOInfoLen,
agsaFrameHandle_t  agFrameHandle,
void *  ioContext 
)

◆ smsatDeviceReset()

osGLOBAL bit32 smsatDeviceReset ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

SAT implementation for smsatDeviceReset.

This function creates DEVICE RESET fis and sends the request to LL layer

Parameters
smRootPointer to TISA initiator driver/port instance.
smIORequestPointer to TISA I/O request context for this I/O.
smDeviceHandlePointer to TISA device handle for this I/O.
smScsiRequestPointer to TISA SCSI I/O request and SGL list.
smSatIOContext_tPointer to the SAT IO Context
Returns
If command is started successfully
  • smIOSuccess: I/O request successfully initiated.
  • smIOBusy: No resources available, try again later.
  • smIONoDevice: Invalid device handle.
  • smIOError: Other errors.

Definition at line 4317 of file smsat.c.

References AGSA_SATA_PROTOCOL_DEV_RESET, agsaFisRegH2DHeader_s::c_pmPort, agsaFisRegH2DHeader_s::command, agsaFisRegH2DData_s::control, agsaFisRegHostToDevice_s::d, agsaFisRegH2DData_s::device, agsaFisRegH2DHeader_s::features, agsaFisRegH2DData_s::featuresExp, agsaFisRegH2DHeader_s::fisType, agsaFisRegHostToDevice_s::h, agsaFisRegH2DData_s::lbaHigh, agsaFisRegH2DData_s::lbaHighExp, agsaFisRegH2DData_s::lbaLow, agsaFisRegH2DData_s::lbaLowExp, agsaFisRegH2DData_s::lbaMid, agsaFisRegH2DData_s::lbaMidExp, smSatIOContext_s::pFis, smSatIOContext_s::reqType, agsaFisRegH2DData_s::reserved4, agsaFisRegH2DData_s::reserved5, SAT_DEVICE_RESET, smSatIOContext_s::satCompleteCB, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG3, smsataLLIOStart(), smsatDeviceResetCB(), and status.

Referenced by smsatStartResetDevice().

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

◆ smsatDeviceResetCB()

osGLOBAL void smsatDeviceResetCB ( agsaRoot_t agRoot,
agsaIORequest_t agIORequest,
bit32  agIOStatus,
agsaFisHeader_t agFirstDword,
bit32  agIOInfoLen,
void *  agParam,
void *  ioContext 
)

◆ smsatDifHandler()

◆ smsatEncryptionHandler()

◆ smsatExecuteDeviceDiagnostic()

osGLOBAL bit32 smsatExecuteDeviceDiagnostic ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

SAT implementation for smsatExecuteDeviceDiagnostic.

This function creates Execute Device Diagnostic fis and sends the request to LL layer

Parameters
smRootPointer to TISA initiator driver/port instance.
smIORequestPointer to TISA I/O request context for this I/O.
smDeviceHandlePointer to TISA device handle for this I/O.
smScsiRequestPointer to TISA SCSI I/O request and SGL list.
smSatIOContext_tPointer to the SAT IO Context
Returns
If command is started successfully
  • smIOSuccess: I/O request successfully initiated.
  • smIOBusy: No resources available, try again later.
  • smIOIONoDevice: Invalid device handle.
  • smIOError: Other errors.

This function creates Execute Device Diagnostic fis and sends the request to LL layer

Parameters
smRootPointer to TISA initiator driver/port instance.
smIORequestPointer to TISA I/O request context for this I/O.
smDeviceHandlePointer to TISA device handle for this I/O.
smScsiRequestPointer to TISA SCSI I/O request and SGL list.
smSatIOContext_tPointer to the SAT IO Context
Returns
If command is started successfully
  • smIOSuccess: I/O request successfully initiated.
  • smIOBusy: No resources available, try again later.
  • smIONoDevice: Invalid device handle.
  • smIOError: Other errors.

Definition at line 4394 of file smsat.c.

References AGSA_SATA_PROTOCOL_NON_DATA, agsaFisRegH2DHeader_s::c_pmPort, agsaFisRegH2DHeader_s::command, agsaFisRegH2DData_s::control, agsaFisRegHostToDevice_s::d, agsaFisRegH2DData_s::device, agsaFisRegH2DHeader_s::features, agsaFisRegH2DData_s::featuresExp, agsaFisRegH2DHeader_s::fisType, agsaFisRegHostToDevice_s::h, agsaFisRegH2DData_s::lbaHigh, agsaFisRegH2DData_s::lbaHighExp, agsaFisRegH2DData_s::lbaLow, agsaFisRegH2DData_s::lbaLowExp, agsaFisRegH2DData_s::lbaMid, agsaFisRegH2DData_s::lbaMidExp, smSatIOContext_s::pFis, smSatIOContext_s::reqType, agsaFisRegH2DData_s::reserved4, agsaFisRegH2DData_s::reserved5, SAT_EXECUTE_DEVICE_DIAGNOSTIC, smSatIOContext_s::satCompleteCB, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG3, smsataLLIOStart(), smsatExecuteDeviceDiagnosticCB(), and status.

Here is the call graph for this function:

◆ smsatExecuteDeviceDiagnosticCB()

osGLOBAL void smsatExecuteDeviceDiagnosticCB ( agsaRoot_t agRoot,
agsaIORequest_t agIORequest,
bit32  agIOStatus,
agsaFisHeader_t agFirstDword,
bit32  agIOInfoLen,
void *  agParam,
void *  ioContext 
)

◆ smsatFormatUnit()

◆ smsatFreeIntIoResource()

osGLOBAL FORCEINLINE void smsatFreeIntIoResource ( smRoot_t smRoot,
smDeviceData_t satDevData,
smSatInternalIo_t satIntIo 
)

Definition at line 1490 of file smsat.c.

References agNULL, smIniScsiCmnd_t::expDataLength, smSatInternalIo_s::id, smMem_t::osHandle, smDeviceData_s::satFreeIntIoLinkList, smSatInternalIo_s::satIntDmaMem, smSatInternalIo_s::satIntIoLink, smSatInternalIo_s::satIntReqBodyMem, smSatInternalIo_s::satIntSmScsiXchg, smSatInternalIo_s::satOrgSmIORequest, smScsiInitiatorRequest::scsiCmnd, SM_DBG2, SM_DBG3, SM_INTERNAL_IO_LOCK, SMLIST_DEQUEUE_THIS, SMLIST_ENQUEUE_AT_TAIL, tdsmFreeMemory(), tdsmSingleThreadedEnter(), tdsmSingleThreadedLeave(), and smMem_t::totalLength.

Referenced by ossaSATAEvent(), smDeviceDataReInit(), smsataLLIOStart(), smsatChainedDataIOCB(), smsatChainedVerifyCB(), smsatChainedWriteNVerifyCB(), smsatCheckPowerModeCB(), smsatCheckPowerModePassCB(), smsatDeResetDeviceCB(), smsatDeviceResetCB(), smsatExecuteDeviceDiagnosticCB(), smsatIDDataPassCB(), smsatIDStartCB(), smsatIDSubStart(), smsatInquiryCB(), smsatIOCompleted(), smsatIOStart(), smsatLogSenseAllocate(), smsatLogSenseCB(), smsatModeSelect6n10CB(), smsatNonChainedDataIOCB(), smsatNonChainedVerifyCB(), smsatNonChainedWriteNVerifyCB(), smsatPacketCB(), smsatPassthroughCB(), smsatReadBufferCB(), smsatReadLogExtCB(), smsatReadMediaSerialNumberCB(), smsatReassignBlocksCB(), smsatRequestSense(), smsatRequestSenseCB(), smsatRequestSenseForATAPICB(), smsatResetDeviceCB(), smsatSendDiagnosticCB(), smsatSetFeaturesAACB(), smsatSetFeaturesDMACB(), smsatSetFeaturesPIOCB(), smsatSetFeaturesReadLookAheadCB(), smsatSetFeaturesVolatileWriteCacheCB(), smsatSMARTEnableCB(), smsatSMARTEnablePassCB(), smsatSMARTReadLogCB(), smsatSMARTRStatusPassCB(), smsatStartCheckPowerMode(), smsatStartIDDev(), smsatStartResetDevice(), smsatStartStopUnitCB(), smsatSynchronizeCache10n16CB(), smsatTestUnitReadyCB(), smsatVerify10CB(), smsatWriteBufferCB(), and smsatWriteSame10CB().

Here is the call graph for this function:

◆ smsatIDDataPassCB()

◆ smsatIDStart()

osGLOBAL bit32 smsatIDStart ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smSCSIRequest,
smSatIOContext_t satIOContext 
)

◆ smsatIDStartCB()

osGLOBAL void smsatIDStartCB ( agsaRoot_t agRoot,
agsaIORequest_t agIORequest,
bit32  agIOStatus,
agsaFisHeader_t agFirstDword,
bit32  agIOInfoLen,
void *  agParam,
void *  ioContext 
)

Definition at line 8698 of file smsatcb.c.

References smDeviceData_s::agDevHandle, agFALSE, agNULL, agTRUE, agsaFisPioSetupHeader_s::error, smDeviceData_s::id, smIORequestBody_s::id, smDeviceData_s::IDDeviceValid, smIORequestBody_s::ioCompleted, smIORequestBody_s::ioStarted, agsaContext_s::osData, OSSA_IO_ABORTED, OSSA_IO_DS_IN_ERROR, OSSA_IO_DS_IN_RECOVERY, OSSA_IO_DS_INVALID, OSSA_IO_DS_NON_OPERATIONAL, OSSA_IO_NO_DEVICE, OSSA_IO_OPEN_CNX_ERROR_BAD_DESTINATION, OSSA_IO_OPEN_CNX_ERROR_BREAK, OSSA_IO_OPEN_CNX_ERROR_CONNECTION_RATE_NOT_SUPPORTED, OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS, OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_RETRY_BACKOFF_THRESHOLD_REACHED, OSSA_IO_OPEN_CNX_ERROR_PROTOCOL_NOT_SUPPORTED, OSSA_IO_OPEN_CNX_ERROR_STP_RESOURCES_BUSY, OSSA_IO_OPEN_CNX_ERROR_WRONG_DESTINATION, OSSA_IO_OPEN_CNX_ERROR_ZONE_VIOLATION, OSSA_IO_PORT_IN_RESET, OSSA_IO_SUCCESS, OSSA_IO_UNDERFLOW, OSSA_IO_XFER_ERROR_BREAK, OSSA_IO_XFER_ERROR_DMA, OSSA_IO_XFER_ERROR_NAK_RECEIVED, OSSA_IO_XFER_ERROR_PHY_NOT_READY, OSSA_IO_XFER_ERROR_REJECTED_NCQ_MODE, OSSA_IO_XFER_ERROR_SATA_LINK_TIMEOUT, OSSA_IO_XFER_OPEN_RETRY_TIMEOUT, agsaFisHeader_s::PioSetup, smSatIOContext_s::pSatDevData, smSatIOContext_s::psmDeviceHandle, SA_DS_OPERATIONAL, saSetDeviceState(), smDeviceData_s::satIdentifyData, smSatIOContext_s::satIntIoContext, smSatInternalIo_s::satIntSmIORequest, smSatInternalIo_s::satIntSmScsiXchg, smSatIOContext_s::satOrgIOContext, smDeviceData_s::satPendingIO, smDeviceData_s::satPendingNCQIO, smDeviceData_s::satPendingNONNCQIO, smScsiInitiatorRequest::sglVirtualAddr, SM_DBG1, SM_DBG2, SM_DBG3, SM_DBG5, SM_RC_SUCCESS, smIntRoot_s::smAllShared, smContext_t::smData, smhexdump(), smIOFailed, smIORequestBody_s::smIORequest, smIORetry, smIOSTPResourceBusy, smSatIOContext_s::smRequestBody, smDeviceData_s::smRoot, smsatAllocIntIoResource(), smsatDecrementPendingIO(), smsatFreeIntIoResource(), smsatPrepareNewIO(), smsatSetDevInfo(), smsatSetFeaturesPIO(), smSatIOContext_s::smScsiXchg, status, agsaFisPioSetupHeader_s::status, smContext_t::tdData, tdsmIDCompletedCB(), tdsmRotateQnumber(), and smDeviceData_s::valid.

Referenced by smsatIDStart().

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

◆ smsatIDSubStart()

◆ smsatInquiry()

◆ smsatInquiryCB()

osGLOBAL void smsatInquiryCB ( agsaRoot_t agRoot,
agsaIORequest_t agIORequest,
bit32  agIOStatus,
agsaFisHeader_t agFirstDword,
bit32  agIOInfoLen,
void *  agParam,
void *  ioContext 
)

Definition at line 9572 of file smsatcb.c.

References agFALSE, agNULL, agTRUE, smIniScsiCmnd_t::cdb, agsaFisPioSetupHeader_s::error, smIniScsiCmnd_t::expDataLength, smDeviceData_s::id, smDeviceData_s::IDDeviceValid, INQUIRY_ATA_INFORMATION_VPD_PAGE, INQUIRY_BLOCK_DEVICE_CHARACTERISTICS_VPD_PAGE, INQUIRY_DEVICE_IDENTIFICATION_VPD_PAGE, INQUIRY_SUPPORTED_VPD_PAGE, smSatIOContext_s::interruptContext, smIORequestBody_s::ioCompleted, smIORequestBody_s::ioStarted, MIN, agsaContext_s::osData, OSSA_IO_ABORTED, OSSA_IO_OPEN_CNX_ERROR_BAD_DESTINATION, OSSA_IO_OPEN_CNX_ERROR_BREAK, OSSA_IO_OPEN_CNX_ERROR_CONNECTION_RATE_NOT_SUPPORTED, OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS, OSSA_IO_OPEN_CNX_ERROR_PROTOCOL_NOT_SUPPORTED, OSSA_IO_OPEN_CNX_ERROR_STP_RESOURCES_BUSY, OSSA_IO_OPEN_CNX_ERROR_UNKNOWN_ERROR, OSSA_IO_OPEN_CNX_ERROR_WRONG_DESTINATION, OSSA_IO_OPEN_CNX_ERROR_ZONE_VIOLATION, OSSA_IO_SUCCESS, agsaFisHeader_s::PioSetup, smSatIOContext_s::pSatDevData, smSatIOContext_s::pScsiCmnd, smSatIOContext_s::pSense, smSatIOContext_s::pSmSenseData, SATA_PAGE0_INQUIRY_SIZE, SATA_PAGE83_INQUIRY_NO_WWN_SIZE, SATA_PAGE83_INQUIRY_WWN_SIZE, SATA_PAGE89_INQUIRY_SIZE, SATA_PAGEB1_INQUIRY_SIZE, smDeviceData_s::satIdentifyData, smSatIOContext_s::satIntIoContext, smDeviceData_s::satNCQ, smDeviceData_s::satNCQMaxIO, smSatIOContext_s::satOrgIOContext, smDeviceData_s::satPendingIO, smDeviceData_s::satWWNSupport, SCSI_EVPD_MASK, SCSI_SNSCODE_INVALID_FIELD_IN_CDB, SCSI_SNSKEY_ILLEGAL_REQUEST, SCSI_STAT_CHECK_CONDITION, SCSI_STAT_GOOD, smScsiInitiatorRequest::sglVirtualAddr, SM_DBG1, SM_DBG3, SM_DBG5, SM_DBG6, sm_memcpy(), smIntRoot_s::smAllShared, smContext_t::smData, smDetailNoLogin, smDetailOtherError, smhexdump(), smIOFailed, smIORequestBody_s::smIORequest, smIOSuccess, smIOUnderRun, smSatIOContext_s::smRequestBody, smDeviceData_s::smRoot, smsatDecrementPendingIO(), smsatFreeIntIoResource(), smsatInquiryPage0(), smsatInquiryPage83(), smsatInquiryPage89(), smsatInquiryPageB1(), smsatInquiryStandard(), smsatProcessAbort(), smsatSetDevInfo(), smsatSetSensePayload(), smSatIOContext_s::smScsiXchg, STANDARD_INQUIRY_SIZE, agsaFisPioSetupHeader_s::status, tdsmIOCompletedCB(), and tdsmSetDeviceQueueDepth().

Referenced by smsatSendIDDev().

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

◆ smsatInquiryIntCB()

osGLOBAL void smsatInquiryIntCB ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

◆ smsatInquiryPage0()

osGLOBAL void smsatInquiryPage0 ( bit8 pInquiry,
agsaSATAIdentifyData_t pSATAIdData 
)

Definition at line 2452 of file smsat.c.

References SM_DBG5.

Referenced by smsatInquiryCB(), and smsatInquiryIntCB().

Here is the caller graph for this function:

◆ smsatInquiryPage80()

osGLOBAL void smsatInquiryPage80 ( bit8 pInquiry,
agsaSATAIdentifyData_t pSATAIdData 
)

Definition at line 2899 of file smsat.c.

References agsaSATAIdentifyData_s::serialNumber, and SM_DBG5.

Referenced by smsatInquiryIntCB().

Here is the caller graph for this function:

◆ smsatInquiryPage83()

◆ smsatInquiryPage89()

osGLOBAL void smsatInquiryPage89 ( bit8 pInquiry,
agsaSATAIdentifyData_t pSATAIdData,
smDeviceData_t oneDeviceData,
bit32  len 
)

Definition at line 2775 of file smsat.c.

References MIN, SATA_ATA_DEVICE, SATA_PAGE89_INQUIRY_SIZE, smDeviceData_s::satDeviceType, smDeviceData_s::satPMField, SM_DBG5, sm_memcpy(), and sm_strncpy().

Referenced by smsatInquiryCB(), and smsatInquiryIntCB().

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

◆ smsatInquiryPageB1()

osGLOBAL void smsatInquiryPageB1 ( bit8 pInquiry,
agsaSATAIdentifyData_t pSATAIdData 
)

Definition at line 2940 of file smsat.c.

References SM_DBG5, and satSimpleSATAIdentifyData_s::word.

Referenced by smsatInquiryCB(), and smsatInquiryIntCB().

Here is the caller graph for this function:

◆ smsatInquiryStandard()

osGLOBAL void smsatInquiryStandard ( bit8 pInquiry,
agsaSATAIdentifyData_t pSATAIdData,
smIniScsiCmnd_t scsiCmnd 
)

◆ smsatIOCompleted()

osGLOBAL void smsatIOCompleted ( smRoot_t smRoot,
smIORequest_t smIORequest,
agsaFisHeader_t agFirstDword,
bit32  respFisLen,
agsaFrameHandle_t  agFrameHandle,
smSatIOContext_t satIOContext,
bit32  interruptContext 
)

Definition at line 9014 of file smsatcb.c.

References AG_SAT_INT_IO_FLAG_ORG_IO_COMPLETED, agFALSE, agNULL, smIORequestBody_s::agSATARequestBody, agTRUE, smIniScsiCmnd_t::cdb, agsaFisRegH2DHeader_s::command, agsaFisHeader_s::D2H, DF_ATA_STATUS_MASK, agsaFisRegD2HHeader_s::error, agsaFisSetDevBitsHeader_s::error, agsaSATAInitiatorRequest_s::fis, agsaSATAHostFis_u::fisRegHostToDev, agsaFisRegD2HHeader_s::fisType, agsaFisRegHostToDevice_s::h, smSatIOContext_s::interruptContext, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, smSatIOContext_s::pScsiCmnd, smSatIOContext_s::pSense, smSatIOContext_s::psmDeviceHandle, smSatIOContext_s::pSmSenseData, REG_DEV_TO_HOST_FIS, SAT_DEV_STATE_IN_RECOVERY, SAT_READ_DMA, SAT_READ_DMA_EXT, SAT_READ_FPDMA_QUEUED, SAT_WRITE_FPDMA_QUEUED, smIORequestBody_s::SATA, smDeviceData_s::satAbortAfterReset, smDeviceData_s::satDeviceFaultState, smDeviceData_s::satDriveState, smSatInternalIo_s::satIntFlag, smSatIOContext_s::satIntIoContext, smSatInternalIo_s::satIntRequestBody, smSatInternalIo_s::satIntSmIORequest, smSatInternalIo_s::satIntSmScsiXchg, smIORequestBody_s::satIOContext, smSatIOContext_s::satOrgIOContext, satSubTM(), SCSI_SNSCODE_INTERNAL_TARGET_FAILURE, SCSI_SNSKEY_HARDWARE_ERROR, SCSI_STAT_CHECK_CONDITION, smScsiInitiatorRequest::scsiCmnd, smSenseData_t::senseData, smIORequestBody_s::sensePayload, SET_DEV_BITS_FIS, SM_DBG1, SM_DBG5, SM_RC_SUCCESS, smIOSuccess, smSatIOContext_s::smRequestBody, smsatAllocIntIoResource(), smsatDefaultTranslation(), smsatFreeIntIoResource(), smsatSendReadLogExt(), smsatSetSensePayload(), smSatIOContext_s::smScsiXchg, smIORequestBody_s::smSenseData, status, agsaFisRegD2HHeader_s::status, agsaFisSetDevBitsHeader_s::statusHi_Lo, tdsmIOCompletedCB(), and smIORequestBody_s::transport.

Referenced by smsatProcessAbnormalCompletion().

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

◆ smsatIOPrepareSGL()

◆ smsatIOStart()

osGLOBAL FORCEINLINE bit32 smsatIOStart ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smSCSIRequest,
smSatIOContext_t satIOContext 
)

Definition at line 3384 of file smsat.c.

References agFALSE, agNULL, smIniScsiCmnd_t::cdb, smDeviceData_s::id, smDeviceData_s::IDDeviceValid, smSatIOContext_s::interruptContext, smLUN_t::lun, smIniScsiCmnd_t::lun, smSatIOContext_s::pSatDevData, smSatIOContext_s::pSense, smSatIOContext_s::pSmSenseData, SAT_DEV_STATE_IN_RECOVERY, SATA_ATAPI_DEVICE, smDeviceData_s::satDeviceType, smDeviceData_s::satDriveState, smSatIOContext_s::satIntIoContext, smDeviceData_s::satNCQMaxIO, smDeviceData_s::satPendingIO, smDeviceData_s::satPendingNCQIO, smDeviceData_s::satPendingNONNCQIO, SCSI_SNSCODE_INVALID_COMMAND, SCSI_SNSCODE_LOGICAL_NOT_SUPPORTED, SCSI_SNSKEY_ILLEGAL_REQUEST, SCSI_STAT_CHECK_CONDITION, smScsiInitiatorRequest::scsiCmnd, SCSIOPC_ATA_PASS_THROUGH12, SCSIOPC_ATA_PASS_THROUGH16, SCSIOPC_FORMAT_UNIT, SCSIOPC_INQUIRY, SCSIOPC_LOG_SENSE, SCSIOPC_MODE_SELECT_10, SCSIOPC_MODE_SELECT_6, SCSIOPC_MODE_SENSE_10, SCSIOPC_MODE_SENSE_6, SCSIOPC_READ_10, SCSIOPC_READ_12, SCSIOPC_READ_16, SCSIOPC_READ_6, SCSIOPC_READ_BUFFER, SCSIOPC_READ_CAPACITY_10, SCSIOPC_READ_CAPACITY_16, SCSIOPC_READ_MEDIA_SERIAL_NUMBER, SCSIOPC_REASSIGN_BLOCKS, SCSIOPC_REPORT_LUN, SCSIOPC_REQUEST_SENSE, SCSIOPC_SEND_DIAGNOSTIC, SCSIOPC_START_STOP_UNIT, SCSIOPC_SYNCHRONIZE_CACHE_10, SCSIOPC_SYNCHRONIZE_CACHE_16, SCSIOPC_TEST_UNIT_READY, SCSIOPC_VERIFY_10, SCSIOPC_VERIFY_12, SCSIOPC_VERIFY_16, SCSIOPC_WRITE_10, SCSIOPC_WRITE_12, SCSIOPC_WRITE_16, SCSIOPC_WRITE_6, SCSIOPC_WRITE_AND_VERIFY_10, SCSIOPC_WRITE_AND_VERIFY_12, SCSIOPC_WRITE_AND_VERIFY_16, SCSIOPC_WRITE_BUFFER, SCSIOPC_WRITE_SAME_10, SCSIOPC_WRITE_SAME_16, SM_DBG1, SM_DBG2, SM_DBG5, SM_RC_BUSY, SM_RC_DEVICE_BUSY, SM_RC_FAILURE, SM_RC_NODEVICE, SM_RC_SUCCESS, smIOSuccess, smsatFormatUnit(), smsatFreeIntIoResource(), smsatInquiry(), smsatLogSense(), smsatModeSelect10(), smsatModeSelect6(), smsatModeSense10(), smsatModeSense6(), smsatPacket(), smsatPassthrough(), smsatRead10(), smsatRead12(), smsatRead16(), smsatRead6(), smsatReadBuffer(), smsatReadCapacity10(), smsatReadCapacity16(), smsatReadMediaSerialNumber(), smsatReassignBlocks(), smsatReportLun(), smsatRequestSense(), smsatSendDiagnostic(), smsatSetSensePayload(), smsatStartStopUnit(), smsatSynchronizeCache10(), smsatSynchronizeCache16(), smsatTestUnitReady(), smsatVerify10(), smsatVerify12(), smsatVerify16(), smsatWrite10(), smsatWrite12(), smsatWrite16(), smsatWrite6(), smsatWriteAndVerify10(), smsatWriteAndVerify12(), smsatWriteAndVerify16(), smsatWriteBuffer(), smsatWriteSame10(), smsatWriteSame16(), status, and tdsmIOCompletedCB().

Referenced by smIOStart(), and smSuperIOStart().

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

◆ smsatLogSense()

osGLOBAL bit32 smsatLogSense ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

Definition at line 12982 of file smsat.c.

References agFALSE, agNULL, AGSA_SATA_PROTOCOL_NON_DATA, agTRUE, agsaFisRegH2DHeader_s::c_pmPort, smIniScsiCmnd_t::cdb, agsaFisRegH2DHeader_s::command, agsaFisRegH2DData_s::control, agsaFisRegHostToDevice_s::d, agsaFisRegH2DData_s::device, smIniScsiCmnd_t::expDataLength, agsaFisRegH2DHeader_s::features, agsaFisRegH2DData_s::featuresExp, agsaFisRegH2DHeader_s::fisType, agsaFisRegHostToDevice_s::h, INFORMATION_EXCEPTIONS_LOG_PAGE_LENGTH, smSatIOContext_s::interruptContext, agsaFisRegH2DData_s::lbaHigh, agsaFisRegH2DData_s::lbaHighExp, agsaFisRegH2DData_s::lbaLow, agsaFisRegH2DData_s::lbaLowExp, agsaFisRegH2DData_s::lbaMid, agsaFisRegH2DData_s::lbaMidExp, LOG_SENSE_0, LOG_SENSE_1, LOG_SENSE_2, LOGSENSE_INFORMATION_EXCEPTIONS_PAGE, LOGSENSE_SELFTEST_RESULTS_PAGE, LOGSENSE_SUPPORTED_LOG_PAGES, MIN, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, smSatIOContext_s::pSense, smSatIOContext_s::pSmSenseData, smSatIOContext_s::reqType, agsaFisRegH2DData_s::reserved4, agsaFisRegH2DData_s::reserved5, smDeviceData_s::sat48BitSupport, SAT_SMART, SAT_SMART_RETURN_STATUS, smSatIOContext_s::satCompleteCB, smDeviceData_s::satSMARTEnabled, smDeviceData_s::satSMARTFeatureSet, smDeviceData_s::satSMARTSelfTest, SCSI_LINK_MASK, SCSI_LOG_SENSE_PAGE_CODE_MASK, SCSI_NACA_MASK, SCSI_SNSCODE_ATA_DEVICE_FEATURE_NOT_ENABLED, SCSI_SNSCODE_INVALID_FIELD_IN_CDB, SCSI_SNSKEY_ABORTED_COMMAND, SCSI_SNSKEY_ILLEGAL_REQUEST, SCSI_STAT_CHECK_CONDITION, SCSI_STAT_GOOD, smScsiInitiatorRequest::scsiCmnd, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, smScsiInitiatorRequest::sglVirtualAddr, SM_DBG1, SM_DBG5, sm_memcpy(), sm_memset(), SM_RC_SUCCESS, smIOSuccess, smIOUnderRun, smsataLLIOStart(), smsatLogSenseAllocate(), smsatLogSenseCB(), smsatSetSensePayload(), status, and tdsmIOCompletedCB().

Referenced by smsatIOStart().

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

◆ smsatLogSense_1()

◆ smsatLogSense_2()

◆ smsatLogSense_3()

◆ smsatLogSenseAllocate()

◆ smsatLogSenseCB()

osGLOBAL void smsatLogSenseCB ( agsaRoot_t agRoot,
agsaIORequest_t agIORequest,
bit32  agIOStatus,
agsaFisHeader_t agFirstDword,
bit32  agIOInfoLen,
void *  agParam,
void *  ioCotext 
)

Definition at line 4390 of file smsatcb.c.

References agFALSE, agNULL, agTRUE, satReadLogExtSelfTest_s::byte, satSmartReadLogSelfTest_s::byte, smIniScsiCmnd_t::cdb, agsaFisRegH2DHeader_s::command, agsaFisHeader_s::D2H, DF_ATA_STATUS_MASK, ERR_ATA_STATUS_MASK, smIniScsiCmnd_t::expDataLength, agsaFisRegH2DHeader_s::features, agsaFisRegD2HHeader_s::fisType, agsaFisRegHostToDevice_s::h, INFORMATION_EXCEPTIONS_LOG_PAGE_LENGTH, smSatIOContext_s::interruptContext, smIORequestBody_s::ioCompleted, smIORequestBody_s::ioStarted, agsaFisRegD2HData_s::lbaHigh, agsaFisRegD2HData_s::lbaMid, MIN, agsaContext_s::osData, OSSA_IO_ABORTED, OSSA_IO_SUCCESS, smSatIOContext_s::pFis, PIO_SETUP_DEV_TO_HOST_FIS, smSatIOContext_s::pSatDevData, smSatIOContext_s::pScsiCmnd, smSatIOContext_s::pSense, smSatIOContext_s::pSmSenseData, REG_DEV_TO_HOST_FIS, saFrameReadBlock(), SAT_READ_LOG_EXT, SAT_SMART, SAT_SMART_READ_LOG, SAT_SMART_RETURN_STATUS, smSatIOContext_s::satIntIoContext, smSatInternalIo_s::satIntSmScsiXchg, smSatIOContext_s::satOrgIOContext, SCSI_SNSCODE_DIAGNOSTIC_FAILURE_ON_COMPONENT_NN, SCSI_SNSCODE_NO_ADDITIONAL_INFO, SCSI_SNSKEY_ABORTED_COMMAND, SCSI_SNSKEY_HARDWARE_ERROR, SCSI_SNSKEY_MEDIUM_ERROR, SCSI_SNSKEY_NO_SENSE, SCSI_STAT_CHECK_CONDITION, SCSI_STAT_GOOD, SELFTEST_RESULTS_LOG_PAGE_LENGTH, smScsiInitiatorRequest::sglVirtualAddr, SM_DBG1, SM_DBG2, SM_DBG4, SM_DBG5, SM_DBG6, sm_memcpy(), smIntRoot_s::smAllShared, smContext_t::smData, smDetailOtherError, smIOFailed, smIORequestBody_s::smIORequest, smIOSuccess, smIOUnderRun, smSatIOContext_s::smRequestBody, smDeviceData_s::smRoot, smsatDecrementPendingIO(), smsatFreeIntIoResource(), smsatProcessAbort(), smsatSetSensePayload(), smSatIOContext_s::smScsiXchg, agsaFisRegD2HHeader_s::status, and tdsmIOCompletedCB().

Referenced by smsatLogSense(), smsatLogSense_1(), smsatLogSense_2(), and smsatLogSense_3().

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

◆ smsatModeSelect10()

osGLOBAL bit32 smsatModeSelect10 ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

Definition at line 14173 of file smsat.c.

References agFALSE, agNULL, AGSA_SATA_PROTOCOL_NON_DATA, agTRUE, BIT0_MASK, BIT1_MASK, BIT2_MASK, BIT3_MASK, BIT4_MASK, BIT5_MASK, BIT6_MASK, agsaFisRegH2DHeader_s::c_pmPort, smIniScsiCmnd_t::cdb, agsaFisRegH2DHeader_s::command, agsaFisRegH2DData_s::control, agsaFisRegHostToDevice_s::d, agsaFisRegH2DData_s::device, smIniScsiCmnd_t::expDataLength, agsaFisRegH2DHeader_s::features, agsaFisRegH2DData_s::featuresExp, agsaFisRegH2DHeader_s::fisType, agsaFisRegHostToDevice_s::h, smSatIOContext_s::interruptContext, agsaFisRegH2DData_s::lbaHigh, agsaFisRegH2DData_s::lbaHighExp, agsaFisRegH2DData_s::lbaLow, agsaFisRegH2DData_s::lbaLowExp, agsaFisRegH2DData_s::lbaMid, agsaFisRegH2DData_s::lbaMidExp, MIN, MODESELECT_CACHING, MODESELECT_CONTROL_PAGE, MODESELECT_INFORMATION_EXCEPTION_CONTROL_PAGE, MODESELECT_READ_WRITE_ERROR_RECOVERY_PAGE, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, smSatIOContext_s::pSense, smSatIOContext_s::pSmSenseData, smSatIOContext_s::reqType, agsaFisRegH2DData_s::reserved4, agsaFisRegH2DData_s::reserved5, SAT_SET_FEATURES, SAT_SMART, SAT_SMART_DISABLE_OPERATIONS, SAT_SMART_ENABLE_OPERATIONS, smSatIOContext_s::satCompleteCB, smDeviceData_s::satNCQ, SCSI_LINK_MASK, SCSI_MODE_SELECT10_AWRE_MASK, SCSI_MODE_SELECT10_DCR_MASK, SCSI_MODE_SELECT10_DEXCPT_MASK, SCSI_MODE_SELECT10_DTE_MASK, SCSI_MODE_SELECT10_EER_MASK, SCSI_MODE_SELECT10_LONGLBA_MASK, SCSI_MODE_SELECT10_PER_MASK, SCSI_MODE_SELECT10_PERF_MASK, SCSI_MODE_SELECT10_PF_MASK, SCSI_MODE_SELECT10_RC_MASK, SCSI_MODE_SELECT10_TEST_MASK, SCSI_MODE_SELECT10_WCE_MASK, SCSI_NACA_MASK, SCSI_SNSCODE_INVALID_FIELD_IN_CDB, SCSI_SNSCODE_INVALID_FIELD_PARAMETER_LIST, SCSI_SNSCODE_NO_ADDITIONAL_INFO, SCSI_SNSKEY_ILLEGAL_REQUEST, SCSI_SNSKEY_NO_SENSE, SCSI_STAT_CHECK_CONDITION, SCSI_STAT_GOOD, smScsiInitiatorRequest::scsiCmnd, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, smScsiInitiatorRequest::sglVirtualAddr, SM_DBG1, SM_DBG2, SM_DBG5, SM_RC_SUCCESS, smhexdump(), smIOSuccess, smsataLLIOStart(), smsatModeSelect6n10CB(), smsatSetSensePayload(), status, and tdsmIOCompletedCB().

Referenced by smsatIOStart().

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

◆ smsatModeSelect6()

osGLOBAL bit32 smsatModeSelect6 ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

Definition at line 13676 of file smsat.c.

References agFALSE, agNULL, AGSA_SATA_PROTOCOL_NON_DATA, agTRUE, BIT0_MASK, BIT1_MASK, BIT2_MASK, BIT3_MASK, BIT4_MASK, BIT5_MASK, BIT6_MASK, agsaFisRegH2DHeader_s::c_pmPort, smIniScsiCmnd_t::cdb, agsaFisRegH2DHeader_s::command, agsaFisRegH2DData_s::control, agsaFisRegHostToDevice_s::d, agsaFisRegH2DData_s::device, smIniScsiCmnd_t::expDataLength, agsaFisRegH2DHeader_s::features, agsaFisRegH2DData_s::featuresExp, agsaFisRegH2DHeader_s::fisType, agsaFisRegHostToDevice_s::h, smSatIOContext_s::interruptContext, agsaFisRegH2DData_s::lbaHigh, agsaFisRegH2DData_s::lbaHighExp, agsaFisRegH2DData_s::lbaLow, agsaFisRegH2DData_s::lbaLowExp, agsaFisRegH2DData_s::lbaMid, agsaFisRegH2DData_s::lbaMidExp, MIN, MODESELECT_CACHING, MODESELECT_CONTROL_PAGE, MODESELECT_INFORMATION_EXCEPTION_CONTROL_PAGE, MODESELECT_READ_WRITE_ERROR_RECOVERY_PAGE, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, smSatIOContext_s::pSense, smSatIOContext_s::pSmSenseData, smSatIOContext_s::reqType, agsaFisRegH2DData_s::reserved4, agsaFisRegH2DData_s::reserved5, SAT_SET_FEATURES, SAT_SMART, SAT_SMART_DISABLE_OPERATIONS, SAT_SMART_ENABLE_OPERATIONS, smSatIOContext_s::satCompleteCB, smDeviceData_s::satNCQ, SCSI_LINK_MASK, SCSI_MODE_SELECT6_AWRE_MASK, SCSI_MODE_SELECT6_DCR_MASK, SCSI_MODE_SELECT6_DTE_MASK, SCSI_MODE_SELECT6_EER_MASK, SCSI_MODE_SELECT6_PER_MASK, SCSI_MODE_SELECT6_PERF_MASK, SCSI_MODE_SELECT6_PF_MASK, SCSI_MODE_SELECT6_RC_MASK, SCSI_MODE_SELECT6_TEST_MASK, SCSI_MODE_SELECT6_WCE_MASK, SCSI_NACA_MASK, SCSI_SNSCODE_INVALID_FIELD_IN_CDB, SCSI_SNSCODE_INVALID_FIELD_PARAMETER_LIST, SCSI_SNSCODE_NO_ADDITIONAL_INFO, SCSI_SNSKEY_ILLEGAL_REQUEST, SCSI_SNSKEY_NO_SENSE, SCSI_STAT_CHECK_CONDITION, SCSI_STAT_GOOD, smScsiInitiatorRequest::scsiCmnd, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, smScsiInitiatorRequest::sglVirtualAddr, SM_DBG1, SM_DBG5, SM_RC_SUCCESS, smIOSuccess, smsataLLIOStart(), smsatModeSelect6n10CB(), smsatSetSensePayload(), status, and tdsmIOCompletedCB().

Referenced by smsatIOStart().

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

◆ smsatModeSelect6n10_1()

◆ smsatModeSelect6n10CB()

osGLOBAL void smsatModeSelect6n10CB ( agsaRoot_t agRoot,
agsaIORequest_t agIORequest,
bit32  agIOStatus,
agsaFisHeader_t agFirstDword,
bit32  agIOInfoLen,
agsaFrameHandle_t  agFrameHandle,
void *  ioContext 
)

Definition at line 5229 of file smsatcb.c.

References agFALSE, agNULL, agTRUE, agsaFisRegH2DHeader_s::command, agsaFisHeader_s::D2H, DF_ATA_STATUS_MASK, ERR_ATA_STATUS_MASK, agsaFisRegH2DHeader_s::features, agsaFisRegD2HHeader_s::fisType, agsaFisRegHostToDevice_s::h, smSatIOContext_s::interruptContext, smIORequestBody_s::ioCompleted, smIORequestBody_s::ioStarted, agsaContext_s::osData, OSSA_IO_ABORTED, OSSA_IO_SUCCESS, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, smSatIOContext_s::pScsiCmnd, smSatIOContext_s::pSense, smSatIOContext_s::psmDeviceHandle, smSatIOContext_s::pSmSenseData, REG_DEV_TO_HOST_FIS, SAT_SET_FEATURES, SAT_SMART, SAT_SMART_DISABLE_OPERATIONS, SAT_SMART_ENABLE_OPERATIONS, smSatIOContext_s::satIntIoContext, smSatInternalIo_s::satIntSmIORequest, smSatIOContext_s::satOrgIOContext, smDeviceData_s::satWriteCacheEnabled, SCSI_SNSCODE_NO_ADDITIONAL_INFO, SCSI_SNSKEY_NO_SENSE, SCSI_STAT_CHECK_CONDITION, SCSI_STAT_GOOD, SM_DBG1, SM_DBG2, SM_DBG4, SM_DBG5, SM_RC_SUCCESS, smIntRoot_s::smAllShared, smContext_t::smData, smDetailOtherError, smIOFailed, smIORequestBody_s::smIORequest, smIOSuccess, smSatIOContext_s::smRequestBody, smDeviceData_s::smRoot, smsatAllocIntIoResource(), smsatDecrementPendingIO(), smsatFreeIntIoResource(), smsatModeSelect6n10_1(), smsatPrepareNewIO(), smsatProcessAbort(), smsatSetSensePayload(), smSatIOContext_s::smScsiXchg, status, agsaFisRegD2HHeader_s::status, and tdsmIOCompletedCB().

Referenced by smsatModeSelect10(), smsatModeSelect6(), and smsatModeSelect6n10_1().

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

◆ smsatModeSense10()

osGLOBAL bit32 smsatModeSense10 ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

Definition at line 9930 of file smsat.c.

References agFALSE, agNULL, agTRUE, smIniScsiCmnd_t::cdb, smIniScsiCmnd_t::expDataLength, smDeviceData_s::id, index, smSatIOContext_s::interruptContext, MIN, MODE_SENSE10_CACHING_LEN, MODE_SENSE10_CACHING_LLBAA_LEN, MODE_SENSE10_CONTROL_PAGE_LEN, MODE_SENSE10_CONTROL_PAGE_LLBAA_LEN, MODE_SENSE10_INFORMATION_EXCEPTION_CONTROL_PAGE_LEN, MODE_SENSE10_INFORMATION_EXCEPTION_CONTROL_PAGE_LLBAA_LEN, MODE_SENSE10_READ_WRITE_ERROR_RECOVERY_PAGE_LEN, MODE_SENSE10_READ_WRITE_ERROR_RECOVERY_PAGE_LLBAA_LEN, MODE_SENSE10_RETURN_ALL_PAGES_LEN, MODE_SENSE10_RETURN_ALL_PAGES_LLBAA_LEN, MODESENSE_CACHING, MODESENSE_CONTROL_PAGE, MODESENSE_INFORMATION_EXCEPTION_CONTROL_PAGE, MODESENSE_READ_WRITE_ERROR_RECOVERY_PAGE, MODESENSE_RETURN_ALL_PAGES, MODESENSE_VENDOR_SPECIFIC_PAGE, smSatIOContext_s::pSatDevData, smSatIOContext_s::pSense, smSatIOContext_s::pSmSenseData, smDeviceData_s::satLookAheadEnabled, smDeviceData_s::satNCQ, smDeviceData_s::satSMARTEnabled, smDeviceData_s::satWriteCacheEnabled, SCSI_LINK_MASK, SCSI_MODE_SENSE10_LLBAA_MASK, SCSI_MODE_SENSE10_PAGE_CODE_MASK, SCSI_MODE_SENSE10_PC_MASK, SCSI_NACA_MASK, SCSI_SNSCODE_INVALID_COMMAND, SCSI_SNSCODE_INVALID_FIELD_IN_CDB, SCSI_SNSKEY_ILLEGAL_REQUEST, SCSI_STAT_CHECK_CONDITION, SCSI_STAT_GOOD, smScsiInitiatorRequest::scsiCmnd, smScsiInitiatorRequest::sglVirtualAddr, SM_DBG1, SM_DBG5, sm_memcpy(), SM_RC_SUCCESS, smIOSuccess, smIOUnderRun, smsatSetSensePayload(), and tdsmIOCompletedCB().

Referenced by smsatIOStart().

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

◆ smsatModeSense6()

osGLOBAL bit32 smsatModeSense6 ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

◆ smsatNonChainedDataIOCB()

◆ smsatNonChainedVerifyCB()

◆ smsatNonChainedWriteNVerify_Verify()

◆ smsatNonChainedWriteNVerifyCB()

osGLOBAL void smsatNonChainedWriteNVerifyCB ( agsaRoot_t agRoot,
agsaIORequest_t agIORequest,
bit32  agIOStatus,
agsaFisHeader_t agFirstDword,
bit32  agIOInfoLen,
void *  agParam,
void *  ioContext 
)

Definition at line 5948 of file smsatcb.c.

References agFALSE, agNULL, agTRUE, agsaFisRegH2DHeader_s::command, agsaFisHeader_s::D2H, DF_ATA_STATUS_MASK, ERR_ATA_STATUS_MASK, agsaFisRegD2HHeader_s::fisType, agsaFisRegHostToDevice_s::h, smSatIOContext_s::interruptContext, smIORequestBody_s::ioCompleted, smIORequestBody_s::ioStarted, agsaContext_s::osData, OSSA_IO_ABORTED, OSSA_IO_SUCCESS, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, smSatIOContext_s::pScsiCmnd, smSatIOContext_s::pSense, smSatIOContext_s::psmDeviceHandle, smSatIOContext_s::pSmSenseData, REG_DEV_TO_HOST_FIS, SAT_READ_VERIFY_SECTORS, SAT_READ_VERIFY_SECTORS_EXT, SAT_WRITE_DMA_EXT, SAT_WRITE_DMA_FUA_EXT, SAT_WRITE_FPDMA_QUEUED, SAT_WRITE_SECTORS_EXT, smSatIOContext_s::satIntIoContext, smSatInternalIo_s::satIntSmIORequest, smSatIOContext_s::satOrgIOContext, SCSI_SNSCODE_NO_ADDITIONAL_INFO, SCSI_SNSKEY_NO_SENSE, SCSI_STAT_CHECK_CONDITION, SCSI_STAT_GOOD, SET_DEV_BITS_FIS, SM_DBG1, SM_DBG2, SM_DBG4, SM_DBG5, SM_RC_SUCCESS, smIntRoot_s::smAllShared, smContext_t::smData, smDetailOtherError, smIOFailed, smIORequestBody_s::smIORequest, smIOSuccess, smSatIOContext_s::smRequestBody, smDeviceData_s::smRoot, smsatAllocIntIoResource(), smsatDecrementPendingIO(), smsatFreeIntIoResource(), smsatNonChainedWriteNVerify_Verify(), smsatPrepareNewIO(), smsatProcessAbort(), smsatSetSensePayload(), smSatIOContext_s::smScsiXchg, status, agsaFisRegD2HHeader_s::status, agsaFisSetDevBitsHeader_s::statusHi_Lo, and tdsmIOCompletedCB().

Referenced by smsatChainedWriteNVerify_Start_Verify(), smsatNonChainedWriteNVerify_Verify(), smsatWriteAndVerify10(), smsatWriteAndVerify12(), and smsatWriteAndVerify16().

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

◆ smsatNonDataIOCB()

◆ smsatPacket()

osGLOBAL bit32 smsatPacket ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

SAT implementation for ATAPI Packet Command.

SAT implementation for ATAPI Packet and send FIS request to LL layer.

Parameters
smRootPointer to TISA initiator driver/port instance.
smIORequestPointer to TISA I/O request context for this I/O.
smDeviceHandlePointer to TISA device handle for this I/O.
smScsiRequestPointer to TISA SCSI I/O request and SGL list.
smSatIOContext_tPointer to the SAT IO Context
Returns
If command is started successfully
  • smIOSuccess: I/O request successfully initiated.
  • smIOBusy: No resources available, try again later.
  • smIOIONoDevice: Invalid device handle.
  • smIOError: Other errors.

SAT implementation for ATAPI Packet and send FIS request to LL layer.

Parameters
tiRootPointer to TISA initiator driver/port instance.
tiIORequestPointer to TISA I/O request context for this I/O.
tiDeviceHandlePointer to TISA device handle for this I/O.
tiScsiRequestPointer to TISA SCSI I/O request and SGL list.
smSatIOContext_tPointer to the SAT IO Context
Returns
If command is started successfully
  • smIOSuccess: I/O request successfully initiated.
  • smIOBusy: No resources available, try again later.
  • smIONoDevice: Invalid device handle.
  • smIOError: Other errors.

Definition at line 4017 of file smsat.c.

References AGSA_SATA_PROTOCOL_D2H_PKT, AGSA_SATA_PROTOCOL_H2D_PKT, agTRUE, smSatIOContext_s::ATACmd, agsaFisRegH2DHeader_s::c_pmPort, smIniScsiCmnd_t::cdb, agsaFisRegH2DHeader_s::command, agsaFisRegH2DData_s::control, agsaFisRegHostToDevice_s::d, smScsiInitiatorRequest::dataDirection, agsaFisRegH2DData_s::device, smIniScsiCmnd_t::expDataLength, agsaFisRegH2DHeader_s::features, agsaFisRegH2DData_s::featuresExp, agsaFisRegH2DHeader_s::fisType, agsaFisRegHostToDevice_s::h, agsaFisRegH2DData_s::lbaHigh, agsaFisRegH2DData_s::lbaHighExp, agsaFisRegH2DData_s::lbaLow, agsaFisRegH2DData_s::lbaLowExp, agsaFisRegH2DData_s::lbaMid, agsaFisRegH2DData_s::lbaMidExp, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, smSatIOContext_s::reqType, agsaFisRegH2DData_s::reserved4, agsaFisRegH2DData_s::reserved5, SAT_PACKET, smSatIOContext_s::satCompleteCB, smDeviceData_s::satDMADIRSupport, smDeviceData_s::satDMAEnabled, smDeviceData_s::satDMASupport, smScsiInitiatorRequest::scsiCmnd, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG3, smDirectionIn, smsataLLIOStart(), smsatPacketCB(), and status.

Referenced by smsatIOStart().

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

◆ smsatPacketCB()

◆ smsatPassthrough()

osGLOBAL bit32 smsatPassthrough ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

Definition at line 17636 of file smsat.c.

References AGSA_SATA_ATAP_EXECDEVDIAG, AGSA_SATA_PROTOCOL_DEV_RESET, AGSA_SATA_PROTOCOL_DMA_WRITE, AGSA_SATA_PROTOCOL_FPDMA_WRITE, AGSA_SATA_PROTOCOL_NON_DATA, AGSA_SATA_PROTOCOL_PIO_READ, AGSA_SATA_PROTOCOL_PIO_WRITE, AGSA_SATA_PROTOCOL_SRST_ASSERT, smAtaPassThroughHdr_s::byteBlock, agsaFisRegH2DHeader_s::c_pmPort, smIniScsiCmnd_t::cdb, smAtaPassThroughHdr_s::ckCond, agsaFisRegH2DHeader_s::command, agsaFisRegH2DData_s::control, agsaFisRegHostToDevice_s::d, agsaFisRegH2DData_s::device, smAtaPassThroughHdr_s::extend, agsaFisRegH2DHeader_s::features, agsaFisRegH2DData_s::featuresExp, agsaFisRegH2DHeader_s::fisType, agsaFisRegHostToDevice_s::h, smSatIOContext_s::interruptContext, agsaFisRegH2DData_s::lbaHigh, agsaFisRegH2DData_s::lbaHighExp, agsaFisRegH2DData_s::lbaLow, agsaFisRegH2DData_s::lbaLowExp, agsaFisRegH2DData_s::lbaMid, agsaFisRegH2DData_s::lbaMidExp, smAtaPassThroughHdr_s::mulCount, smAtaPassThroughHdr_s::offline, smAtaPassThroughHdr_s::opc, osti_memset, smSatIOContext_s::pFis, smAtaPassThroughHdr_s::proto, smSatIOContext_s::pSatDevData, smSatIOContext_s::pSense, smSatIOContext_s::pSmSenseData, smSatIOContext_s::reqType, agsaFisRegH2DData_s::reserved4, agsaFisRegH2DData_s::reserved5, smSatIOContext_s::satCompleteCB, SCSI_SNSCODE_INVALID_FIELD_IN_CDB, SCSI_SNSKEY_ILLEGAL_REQUEST, SCSI_STAT_CHECK_CONDITION, smScsiInitiatorRequest::scsiCmnd, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG1, SM_RC_SUCCESS, smIOSuccess, smsataLLIOStart(), smsatPassthroughCB(), smsatSetSensePayload(), status, smAtaPassThroughHdr_s::tDir, tdsmIOCompletedCB(), smAtaPassThroughHdr_s::tlength, and smAtaPassThroughHdr_s::tType.

Referenced by smsatIOStart().

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

◆ smsatPassthroughCB()

osGLOBAL void smsatPassthroughCB ( agsaRoot_t agRoot,
agsaIORequest_t agIORequest,
bit32  agIOStatus,
agsaFisHeader_t agFirstDword,
bit32  agIOInfoLen,
void *  agParam,
void *  ioContext 
)

◆ smsatPrepareNewIO()

osGLOBAL smSatIOContext_t * smsatPrepareNewIO ( smSatInternalIo_t satNewIntIo,
smIORequest_t smOrgIORequest,
smDeviceData_t satDevData,
smIniScsiCmnd_t scsiCmnd,
smSatIOContext_t satOrgIOContext 
)

Definition at line 1964 of file smsat.c.

References agNULL, smIORequestBody_s::agSATARequestBody, smIniScsiCmnd_t::cdb, agsaSATAInitiatorRequest_s::fis, agsaSATAHostFis_u::fisRegHostToDev, smSatIOContext_s::interruptContext, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, smSatIOContext_s::pScsiCmnd, smSatIOContext_s::pSense, smSatIOContext_s::psmDeviceHandle, smSatIOContext_s::pSmSenseData, smIORequestBody_s::SATA, smSatIOContext_s::satIntIoContext, smSatInternalIo_s::satIntRequestBody, smSatInternalIo_s::satIntSmScsiXchg, smIORequestBody_s::satIOContext, smSatIOContext_s::satOrgIOContext, smSatInternalIo_s::satOrgSmIORequest, smScsiInitiatorRequest::scsiCmnd, smSenseData_t::senseData, smIORequestBody_s::sensePayload, SM_DBG3, sm_memcpy(), smSatIOContext_s::smRequestBody, smSatIOContext_s::smScsiXchg, smIORequestBody_s::smSenseData, and smIORequestBody_s::transport.

Referenced by smsatChainedDataIOCB(), smsatChainedVerifyCB(), smsatChainedWriteNVerifyCB(), smsatIDStartCB(), smsatModeSelect6n10CB(), smsatNonChainedWriteNVerifyCB(), smsatPacketCB(), smsatReassignBlocksCB(), smsatRequestSenseCB(), smsatResetDeviceCB(), smsatSendDiagnosticCB(), smsatSetFeaturesDMACB(), smsatSetFeaturesPIOCB(), smsatSetFeaturesReadLookAheadCB(), smsatSetFeaturesVolatileWriteCacheCB(), smsatSMARTEnableCB(), smsatStartCheckPowerMode(), smsatStartResetDevice(), smsatStartStopUnitCB(), and smsatTestUnitReadyCB().

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

◆ smsatPrintSgl()

osGLOBAL void smsatPrintSgl ( smRoot_t smRoot,
agsaEsgl_t agEsgl,
bit32  idx 
)

Definition at line 20648 of file smsat.c.

References agsaEsgl_s::descriptor, agsaSgl_s::extReserved, agsaSgl_s::len, agsaSgl_s::sgLower, agsaSgl_s::sgUpper, and SM_DBG3.

Referenced by smsatSplitSGL().

Here is the caller graph for this function:

◆ smsatProcessAbnormalCompletion()

osGLOBAL void smsatProcessAbnormalCompletion ( agsaRoot_t agRoot,
agsaIORequest_t agIORequest,
bit32  agIOStatus,
agsaFisHeader_t agFirstDword,
bit32  agIOInfoLen,
void *  agParam,
smSatIOContext_t satIOContext 
)

Definition at line 7748 of file smsatcb.c.

References smDeviceData_s::agDevHandle, agNULL, agTRUE, smDeviceData_s::id, smSatIOContext_s::interruptContext, agsaContext_s::osData, OSSA_IO_ABORT_RESET, OSSA_IO_ABORTED, OSSA_IO_DS_IN_ERROR, OSSA_IO_DS_IN_RECOVERY, OSSA_IO_DS_NON_OPERATIONAL, OSSA_IO_FAILED, OSSA_IO_ILLEGAL_PARAMETER, OSSA_IO_LINK_FAILURE, OSSA_IO_NO_DEVICE, OSSA_IO_NOT_VALID, OSSA_IO_OPEN_CNX_ERROR_BAD_DESTINATION, OSSA_IO_OPEN_CNX_ERROR_BREAK, OSSA_IO_OPEN_CNX_ERROR_CONNECTION_RATE_NOT_SUPPORTED, OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS, OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_NO_DEST, OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_COLLIDE, OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_RETRY_BACKOFF_THRESHOLD_REACHED, OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_TMO, OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_PATHWAY_BLOCKED, OSSA_IO_OPEN_CNX_ERROR_OPEN_PREEMPTED, OSSA_IO_OPEN_CNX_ERROR_PROTOCOL_NOT_SUPPORTED, OSSA_IO_OPEN_CNX_ERROR_STP_RESOURCES_BUSY, OSSA_IO_OPEN_CNX_ERROR_UNKNOWN_ERROR, OSSA_IO_OPEN_CNX_ERROR_WRONG_DESTINATION, OSSA_IO_OPEN_CNX_ERROR_ZONE_VIOLATION, OSSA_IO_OVERFLOW, OSSA_IO_PORT_IN_RESET, OSSA_IO_PROG_ERROR, OSSA_IO_SUCCESS, OSSA_IO_UNDERFLOW, OSSA_IO_XFER_ERR_EOB_DATA_OVERRUN, OSSA_IO_XFER_ERROR_ABORTED_DUE_TO_SRST, OSSA_IO_XFER_ERROR_ABORTED_NCQ_MODE, OSSA_IO_XFER_ERROR_ACK_NAK_TIMEOUT, OSSA_IO_XFER_ERROR_BREAK, OSSA_IO_XFER_ERROR_CMD_ISSUE_ACK_NAK_TIMEOUT, OSSA_IO_XFER_ERROR_CMD_ISSUE_BREAK_BEFORE_ACK_NAK, OSSA_IO_XFER_ERROR_CMD_ISSUE_PHY_DOWN_BEFORE_ACK_NAK, OSSA_IO_XFER_ERROR_CREDIT_TIMEOUT, OSSA_IO_XFER_ERROR_DMA, OSSA_IO_XFER_ERROR_NAK_RECEIVED, OSSA_IO_XFER_ERROR_OFFSET_MISMATCH, OSSA_IO_XFER_ERROR_PEER_ABORTED, OSSA_IO_XFER_ERROR_PHY_NOT_READY, OSSA_IO_XFER_ERROR_REJECTED_NCQ_MODE, OSSA_IO_XFER_ERROR_RX_FRAME, OSSA_IO_XFER_ERROR_SATA, OSSA_IO_XFER_ERROR_SATA_LINK_TIMEOUT, OSSA_IO_XFER_ERROR_XFER_ZERO_DATA_LEN, OSSA_IO_XFER_PIO_SETUP_ERROR, OSSA_IO_XFR_ERROR_CIPHER_MODE_INVALID, OSSA_IO_XFR_ERROR_DEK_ILLEGAL_TABLE, OSSA_IO_XFR_ERROR_DEK_INDEX_OUT_OF_BOUNDS, OSSA_IO_XFR_ERROR_DEK_IV_MISMATCH, OSSA_IO_XFR_ERROR_DEK_KEY_CACHE_MISS, OSSA_IO_XFR_ERROR_DEK_KEY_TAG_MISMATCH, OSSA_IO_XFR_ERROR_DEK_RAM_INTERFACE_ERROR, OSSA_IO_XFR_ERROR_DIF_APPLICATION_TAG_MISMATCH, OSSA_IO_XFR_ERROR_DIF_CRC_MISMATCH, OSSA_IO_XFR_ERROR_DIF_REFERENCE_TAG_MISMATCH, OSSA_MPI_ERR_ATAPI_DEVICE_BUSY, OSSA_MPI_ERR_IO_RESOURCE_UNAVAILABLE, OSSA_MPI_IO_RQE_BUSY_FULL, smSatIOContext_s::pSatDevData, smSatIOContext_s::psmDeviceHandle, SA_DS_OPERATIONAL, saSetDeviceState(), SAT_DEV_STATE_IN_RECOVERY, SAT_DEV_STATE_NORMAL, smDeviceData_s::satDriveState, smDeviceData_s::satNCQMaxIO, smDeviceData_s::satPendingIO, smDeviceData_s::satPendingNCQIO, smDeviceData_s::satPendingNONNCQIO, smDeviceData_s::satTmTaskTag, SM_DBG1, SM_DBG5, smDetailAborted, smDetailAbortReset, smDetailBusy, smDetailNoLogin, smDetailNotValid, smDetailOtherError, smIntrEventTypeTaskManagement, smIOFailed, smIOOverRun, smIORequestBody_s::smIORequest, smIOUnderRun, smDeviceData_s::smRoot, smsatDifHandler(), smsatEncryptionHandler(), smsatIOCompleted(), smTMOK, tdsmEventCB(), tdsmIOCompletedCB(), tdsmRotateQnumber(), and smDeviceData_s::valid.

Referenced by smsatNonChainedDataIOCB(), smsatNonDataIOCB(), and smsatPacketCB().

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

◆ smsatProcessAbort()

osGLOBAL void smsatProcessAbort ( smRoot_t smRoot,
smIORequest_t smIORequest,
smSatIOContext_t satIOContext 
)

◆ smsatRead10()

osGLOBAL FORCEINLINE bit32 smsatRead10 ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

Definition at line 4784 of file smsat.c.

References agFALSE, AGSA_SATA_PROTOCOL_DMA_READ, AGSA_SATA_PROTOCOL_FPDMA_READ, AGSA_SATA_PROTOCOL_PIO_READ, agTRUE, smSatIOContext_s::ATACmd, BIT48_ADDRESS_TL_LIMIT, agsaFisRegH2DHeader_s::c_pmPort, smIniScsiCmnd_t::cdb, agsaFisRegH2DHeader_s::command, agsaFisRegH2DData_s::control, smSatIOContext_s::currentLBA, agsaFisRegHostToDevice_s::d, agsaFisRegH2DData_s::device, agsaFisRegH2DHeader_s::features, agsaFisRegH2DData_s::featuresExp, agsaFisRegH2DHeader_s::fisType, agsaFisRegHostToDevice_s::h, smDeviceData_s::id, smSatIOContext_s::interruptContext, agsaFisRegH2DData_s::lbaHigh, agsaFisRegH2DData_s::lbaHighExp, agsaFisRegH2DData_s::lbaLow, agsaFisRegH2DData_s::lbaLowExp, agsaFisRegH2DData_s::lbaMid, agsaFisRegH2DData_s::lbaMidExp, smSatIOContext_s::LoopNum, NON_BIT48_ADDRESS_TL_LIMIT, smSatIOContext_s::OrgTL, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, smSatIOContext_s::pSense, smSatIOContext_s::pSmSenseData, smSatIOContext_s::reqType, agsaFisRegH2DData_s::reserved4, agsaFisRegH2DData_s::reserved5, smDeviceData_s::sat48BitSupport, SAT_READ_DMA, SAT_READ_DMA_EXT, SAT_READ_FPDMA_QUEUED, SAT_READ_SECTORS, SAT_READ_SECTORS_EXT, SATA_SECTOR_SIZE, smSatIOContext_s::satCompleteCB, smDeviceData_s::satDMAEnabled, smDeviceData_s::satDMASupport, smDeviceData_s::satNCQ, SCSI_FUA_NV_MASK, SCSI_LINK_MASK, SCSI_NACA_MASK, SCSI_READ10_FUA_MASK, SCSI_SNSCODE_INVALID_FIELD_IN_CDB, SCSI_SNSCODE_LOGICAL_BLOCK_ADDRESS_OUT_OF_RANGE, SCSI_SNSKEY_ILLEGAL_REQUEST, SCSI_STAT_CHECK_CONDITION, smScsiInitiatorRequest::scsiCmnd, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG1, SM_DBG2, SM_DBG5, SM_DBG6, SM_RC_SUCCESS, smIOSuccess, smsataLLIOStart(), smsatChainedDataIOCB(), smsatCheckLimit(), smsatComputeCDB10LBA(), smsatComputeCDB10TL(), smsatComputeLoopNum(), smsatNonChainedDataIOCB(), smsatSetSensePayload(), smsatSplitSGL(), status, and tdsmIOCompletedCB().

Referenced by smsatIOStart().

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

◆ smsatRead12()

osGLOBAL bit32 smsatRead12 ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

Definition at line 5251 of file smsat.c.

References agFALSE, AGSA_SATA_PROTOCOL_DMA_READ, AGSA_SATA_PROTOCOL_FPDMA_READ, AGSA_SATA_PROTOCOL_PIO_READ, agTRUE, smSatIOContext_s::ATACmd, agsaFisRegH2DHeader_s::c_pmPort, smIniScsiCmnd_t::cdb, agsaFisRegH2DHeader_s::command, agsaFisRegH2DData_s::control, smSatIOContext_s::currentLBA, agsaFisRegHostToDevice_s::d, agsaFisRegH2DData_s::device, agsaFisRegH2DHeader_s::features, agsaFisRegH2DData_s::featuresExp, agsaFisRegH2DHeader_s::fisType, agsaFisRegHostToDevice_s::h, smSatIOContext_s::interruptContext, agsaFisRegH2DData_s::lbaHigh, agsaFisRegH2DData_s::lbaHighExp, agsaFisRegH2DData_s::lbaLow, agsaFisRegH2DData_s::lbaLowExp, agsaFisRegH2DData_s::lbaMid, agsaFisRegH2DData_s::lbaMidExp, smSatIOContext_s::LoopNum, smSatIOContext_s::OrgTL, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, smSatIOContext_s::pSense, smSatIOContext_s::pSmSenseData, smSatIOContext_s::reqType, agsaFisRegH2DData_s::reserved4, agsaFisRegH2DData_s::reserved5, smDeviceData_s::sat48BitSupport, SAT_READ_DMA, SAT_READ_DMA_EXT, SAT_READ_FPDMA_QUEUED, SAT_READ_SECTORS, SAT_READ_SECTORS_EXT, smSatIOContext_s::satCompleteCB, smDeviceData_s::satDMAEnabled, smDeviceData_s::satDMASupport, smDeviceData_s::satNCQ, SCSI_FUA_NV_MASK, SCSI_LINK_MASK, SCSI_NACA_MASK, SCSI_READ12_FUA_MASK, SCSI_SNSCODE_INVALID_FIELD_IN_CDB, SCSI_SNSCODE_LOGICAL_BLOCK_ADDRESS_OUT_OF_RANGE, SCSI_SNSKEY_ILLEGAL_REQUEST, SCSI_STAT_CHECK_CONDITION, smScsiInitiatorRequest::scsiCmnd, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG1, SM_DBG5, SM_DBG6, sm_memset(), SM_RC_SUCCESS, smIOSuccess, smsataLLIOStart(), smsatChainedDataIOCB(), smsatCheckLimit(), smsatComputeCDB12LBA(), smsatComputeCDB12TL(), smsatComputeLoopNum(), smsatNonChainedDataIOCB(), smsatSetSensePayload(), status, and tdsmIOCompletedCB().

Referenced by smsatIOStart().

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

◆ smsatRead16()

osGLOBAL bit32 smsatRead16 ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

Definition at line 5690 of file smsat.c.

References agFALSE, AGSA_SATA_PROTOCOL_DMA_READ, AGSA_SATA_PROTOCOL_FPDMA_READ, AGSA_SATA_PROTOCOL_PIO_READ, agTRUE, smSatIOContext_s::ATACmd, agsaFisRegH2DHeader_s::c_pmPort, smIniScsiCmnd_t::cdb, agsaFisRegH2DHeader_s::command, agsaFisRegH2DData_s::control, smSatIOContext_s::currentLBA, agsaFisRegHostToDevice_s::d, agsaFisRegH2DData_s::device, agsaFisRegH2DHeader_s::features, agsaFisRegH2DData_s::featuresExp, agsaFisRegH2DHeader_s::fisType, agsaFisRegHostToDevice_s::h, smSatIOContext_s::interruptContext, agsaFisRegH2DData_s::lbaHigh, agsaFisRegH2DData_s::lbaHighExp, agsaFisRegH2DData_s::lbaLow, agsaFisRegH2DData_s::lbaLowExp, agsaFisRegH2DData_s::lbaMid, agsaFisRegH2DData_s::lbaMidExp, smSatIOContext_s::LoopNum, smSatIOContext_s::OrgTL, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, smSatIOContext_s::pSense, smSatIOContext_s::pSmSenseData, smSatIOContext_s::reqType, agsaFisRegH2DData_s::reserved4, agsaFisRegH2DData_s::reserved5, smDeviceData_s::sat48BitSupport, SAT_READ_DMA, SAT_READ_DMA_EXT, SAT_READ_FPDMA_QUEUED, SAT_READ_SECTORS, SAT_READ_SECTORS_EXT, smSatIOContext_s::satCompleteCB, smDeviceData_s::satDMAEnabled, smDeviceData_s::satDMASupport, smDeviceData_s::satNCQ, SCSI_FUA_NV_MASK, SCSI_LINK_MASK, SCSI_NACA_MASK, SCSI_READ16_FUA_MASK, SCSI_SNSCODE_INVALID_FIELD_IN_CDB, SCSI_SNSCODE_LOGICAL_BLOCK_ADDRESS_OUT_OF_RANGE, SCSI_SNSKEY_ILLEGAL_REQUEST, SCSI_STAT_CHECK_CONDITION, smScsiInitiatorRequest::scsiCmnd, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG1, SM_DBG5, SM_DBG6, sm_memset(), SM_RC_SUCCESS, smIOSuccess, smsataLLIOStart(), smsatChainedDataIOCB(), smsatCheckLimit(), smsatComputeCDB16LBA(), smsatComputeCDB16TL(), smsatComputeLoopNum(), smsatNonChainedDataIOCB(), smsatSetSensePayload(), status, and tdsmIOCompletedCB().

Referenced by smsatIOStart().

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

◆ smsatRead6()

osGLOBAL bit32 smsatRead6 ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

Definition at line 4467 of file smsat.c.

References AGSA_SATA_PROTOCOL_DMA_READ, AGSA_SATA_PROTOCOL_FPDMA_READ, AGSA_SATA_PROTOCOL_PIO_READ, agTRUE, agsaFisRegH2DHeader_s::c_pmPort, smIniScsiCmnd_t::cdb, agsaFisRegH2DHeader_s::command, agsaFisRegH2DData_s::control, agsaFisRegHostToDevice_s::d, agsaFisRegH2DData_s::device, agsaFisRegH2DHeader_s::features, agsaFisRegH2DData_s::featuresExp, agsaFisRegH2DHeader_s::fisType, agsaFisRegHostToDevice_s::h, smSatIOContext_s::interruptContext, agsaFisRegH2DData_s::lbaHigh, agsaFisRegH2DData_s::lbaHighExp, agsaFisRegH2DData_s::lbaLow, agsaFisRegH2DData_s::lbaLowExp, agsaFisRegH2DData_s::lbaMid, agsaFisRegH2DData_s::lbaMidExp, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, smSatIOContext_s::pSense, smSatIOContext_s::pSmSenseData, smSatIOContext_s::reqType, agsaFisRegH2DData_s::reserved4, agsaFisRegH2DData_s::reserved5, smDeviceData_s::sat48BitSupport, SAT_READ_DMA, SAT_READ_DMA_EXT, SAT_READ_FPDMA_QUEUED, SAT_READ_SECTORS, SAT_READ_SECTORS_EXT, SAT_TR_LBA_LIMIT, smSatIOContext_s::satCompleteCB, smDeviceData_s::satDMAEnabled, smDeviceData_s::satDMASupport, smDeviceData_s::satNCQ, SCSI_LINK_MASK, SCSI_NACA_MASK, SCSI_SNSCODE_INVALID_FIELD_IN_CDB, SCSI_SNSCODE_LOGICAL_BLOCK_ADDRESS_OUT_OF_RANGE, SCSI_SNSKEY_ILLEGAL_REQUEST, SCSI_STAT_CHECK_CONDITION, smScsiInitiatorRequest::scsiCmnd, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG1, SM_DBG2, SM_DBG5, SM_RC_SUCCESS, smIOSuccess, smsataLLIOStart(), smsatNonChainedDataIOCB(), smsatSetSensePayload(), status, and tdsmIOCompletedCB().

Referenced by smsatIOStart().

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

◆ smsatRead_1()

osGLOBAL bit32 smsatRead_1 ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

Definition at line 17076 of file smsat.c.

References agFALSE, agNULL, AGSA_SATA_PROTOCOL_DMA_READ, AGSA_SATA_PROTOCOL_FPDMA_READ, AGSA_SATA_PROTOCOL_PIO_READ, smSatIOContext_s::ATACmd, BIT48_ADDRESS_TL_LIMIT, agsaFisRegH2DHeader_s::c_pmPort, smIniScsiCmnd_t::cdb, agsaFisRegH2DHeader_s::command, agsaFisRegH2DData_s::control, smSatIOContext_s::currentLBA, agsaFisRegHostToDevice_s::d, agsaFisRegH2DData_s::device, agsaFisRegH2DHeader_s::features, agsaFisRegH2DData_s::featuresExp, agsaFisRegH2DHeader_s::fisType, agsaFisRegHostToDevice_s::h, agsaFisRegH2DData_s::lbaHigh, agsaFisRegH2DData_s::lbaHighExp, agsaFisRegH2DData_s::lbaLow, agsaFisRegH2DData_s::lbaLowExp, agsaFisRegH2DData_s::lbaMid, agsaFisRegH2DData_s::lbaMidExp, smSatIOContext_s::LoopNum, NON_BIT48_ADDRESS_TL_LIMIT, smSatIOContext_s::OrgTL, smSatIOContext_s::pFis, smSatIOContext_s::pScsiCmnd, smSatIOContext_s::reqType, agsaFisRegH2DData_s::reserved4, agsaFisRegH2DData_s::reserved5, SAT_READ_DMA, SAT_READ_DMA_EXT, SAT_READ_FPDMA_QUEUED, SAT_READ_SECTORS, SAT_READ_SECTORS_EXT, SATA_SECTOR_SIZE, smSatIOContext_s::satCompleteCB, smSatIOContext_s::satOrgIOContext, SCSI_READ10_FUA_MASK, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG1, SM_DBG2, SM_DBG5, sm_memset(), SM_RC_FAILURE, smsataLLIOStart(), smsatChainedDataIOCB(), smsatSplitSGL(), smSatIOContext_s::smScsiXchg, and status.

Referenced by smsatChainedDataIOCB().

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

◆ smsatReadBuffer()

osGLOBAL bit32 smsatReadBuffer ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

Definition at line 16451 of file smsat.c.

References agNULL, AGSA_SATA_PROTOCOL_PIO_READ, agsaFisRegH2DHeader_s::c_pmPort, smIniScsiCmnd_t::cdb, agsaFisRegH2DHeader_s::command, agsaFisRegH2DData_s::control, agsaFisRegHostToDevice_s::d, agsaFisRegH2DData_s::device, agsaFisRegH2DHeader_s::features, agsaFisRegH2DData_s::featuresExp, agsaFisRegH2DHeader_s::fisType, agsaFisRegHostToDevice_s::h, smSatIOContext_s::interruptContext, agsaFisRegH2DData_s::lbaHigh, agsaFisRegH2DData_s::lbaHighExp, agsaFisRegH2DData_s::lbaLow, agsaFisRegH2DData_s::lbaLowExp, agsaFisRegH2DData_s::lbaMid, agsaFisRegH2DData_s::lbaMidExp, smSatIOContext_s::pFis, smSatIOContext_s::pSense, smSatIOContext_s::pSmSenseData, READ_BUFFER_DATA_MODE, READ_BUFFER_DESCRIPTOR_MODE, READ_BUFFER_DESCRIPTOR_MODE_DATA_LEN, smSatIOContext_s::reqType, agsaFisRegH2DData_s::reserved4, agsaFisRegH2DData_s::reserved5, SAT_READ_BUFFER, smSatIOContext_s::satCompleteCB, SCSI_LINK_MASK, SCSI_NACA_MASK, SCSI_READ_BUFFER_MODE_MASK, SCSI_SNSCODE_INVALID_COMMAND, SCSI_SNSCODE_INVALID_FIELD_IN_CDB, SCSI_SNSKEY_ILLEGAL_REQUEST, SCSI_STAT_CHECK_CONDITION, SCSI_STAT_GOOD, smScsiInitiatorRequest::scsiCmnd, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, smScsiInitiatorRequest::sglVirtualAddr, SM_DBG1, SM_DBG5, SM_RC_SUCCESS, smIOSuccess, smIOUnderRun, smsataLLIOStart(), smsatReadBufferCB(), smsatSetSensePayload(), status, and tdsmIOCompletedCB().

Referenced by smsatIOStart().

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

◆ smsatReadBufferCB()

◆ smsatReadCapacity10()

◆ smsatReadCapacity16()

◆ smsatReadLogExtCB()

◆ smsatReadMediaSerialNumber()

osGLOBAL bit32 smsatReadMediaSerialNumber ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

Definition at line 16251 of file smsat.c.

References agNULL, AGSA_SATA_PROTOCOL_PIO_READ, agTRUE, agsaFisRegH2DHeader_s::c_pmPort, smIniScsiCmnd_t::cdb, agsaFisRegH2DHeader_s::command, agsaSATAIdentifyData_s::commandSetFeatureDefault, agsaFisRegH2DData_s::control, agsaSATAIdentifyData_s::currentMediaSerialNumber, agsaFisRegHostToDevice_s::d, agsaFisRegH2DData_s::device, smIniScsiCmnd_t::expDataLength, agsaFisRegH2DHeader_s::features, agsaFisRegH2DData_s::featuresExp, agsaFisRegH2DHeader_s::fisType, agsaFisRegHostToDevice_s::h, smDeviceData_s::IDDeviceValid, smSatIOContext_s::interruptContext, agsaFisRegH2DData_s::lbaHigh, agsaFisRegH2DData_s::lbaHighExp, agsaFisRegH2DData_s::lbaLow, agsaFisRegH2DData_s::lbaLowExp, agsaFisRegH2DData_s::lbaMid, agsaFisRegH2DData_s::lbaMidExp, MIN, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, smSatIOContext_s::pSense, smSatIOContext_s::pSmSenseData, smSatIOContext_s::reqType, agsaFisRegH2DData_s::reserved4, agsaFisRegH2DData_s::reserved5, smDeviceData_s::sat48BitSupport, SAT_READ_SECTORS, SAT_READ_SECTORS_EXT, smSatIOContext_s::satCompleteCB, smDeviceData_s::satIdentifyData, SCSI_LINK_MASK, SCSI_NACA_MASK, SCSI_SNSCODE_INVALID_FIELD_IN_CDB, SCSI_SNSKEY_ILLEGAL_REQUEST, SCSI_STAT_CHECK_CONDITION, SCSI_STAT_GOOD, smScsiInitiatorRequest::scsiCmnd, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, smScsiInitiatorRequest::sglVirtualAddr, SM_DBG1, SM_DBG5, sm_memcpy(), SM_RC_SUCCESS, smDetailOtherError, smhexdump(), smIOFailed, smIOSuccess, smsataLLIOStart(), smsatReadMediaSerialNumberCB(), smsatSetSensePayload(), status, and tdsmIOCompletedCB().

Referenced by smsatIOStart().

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

◆ smsatReadMediaSerialNumberCB()

osGLOBAL void smsatReadMediaSerialNumberCB ( agsaRoot_t agRoot,
agsaIORequest_t agIORequest,
bit32  agIOStatus,
agsaFisHeader_t agFirstDword,
bit32  agIOInfoLen,
agsaFrameHandle_t  agFrameHandle,
void *  ioContext 
)

◆ smsatReassignBlocks()

osGLOBAL bit32 smsatReassignBlocks ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

Definition at line 16908 of file smsat.c.

References AGSA_SATA_PROTOCOL_NON_DATA, agTRUE, agsaFisRegH2DHeader_s::c_pmPort, smIniScsiCmnd_t::cdb, agsaFisRegH2DHeader_s::command, agsaFisRegH2DData_s::control, agsaFisRegHostToDevice_s::d, agsaFisRegH2DData_s::device, agsaFisRegH2DHeader_s::features, agsaFisRegH2DData_s::featuresExp, agsaFisRegH2DHeader_s::fisType, agsaFisRegHostToDevice_s::h, smSatIOContext_s::interruptContext, smSatIOContext_s::LBA, agsaFisRegH2DData_s::lbaHigh, agsaFisRegH2DData_s::lbaHighExp, agsaFisRegH2DData_s::lbaLow, agsaFisRegH2DData_s::lbaLowExp, agsaFisRegH2DData_s::lbaMid, agsaFisRegH2DData_s::lbaMidExp, smSatIOContext_s::ParmIndex, smSatIOContext_s::ParmLen, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, smSatIOContext_s::pSense, smSatIOContext_s::pSmSenseData, smSatIOContext_s::reqType, agsaFisRegH2DData_s::reserved4, agsaFisRegH2DData_s::reserved5, smDeviceData_s::sat48BitSupport, SAT_READ_VERIFY_SECTORS, SAT_READ_VERIFY_SECTORS_EXT, smSatIOContext_s::satCompleteCB, SCSI_LINK_MASK, SCSI_NACA_MASK, SCSI_REASSIGN_BLOCKS_LONGLBA_MASK, SCSI_REASSIGN_BLOCKS_LONGLIST_MASK, SCSI_SNSCODE_INVALID_FIELD_IN_CDB, SCSI_SNSKEY_ILLEGAL_REQUEST, SCSI_STAT_CHECK_CONDITION, smScsiInitiatorRequest::scsiCmnd, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, smScsiInitiatorRequest::sglVirtualAddr, SM_DBG1, SM_DBG5, sm_memcpy(), sm_memset(), SM_RC_SUCCESS, smhexdump(), smIOSuccess, smsataLLIOStart(), smsatReassignBlocksCB(), smsatSetSensePayload(), status, and tdsmIOCompletedCB().

Referenced by smsatIOStart().

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

◆ smsatReassignBlocks_1()

osGLOBAL bit32 smsatReassignBlocks_1 ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext,
smSatIOContext_t satOrgIOContext 
)

◆ smsatReassignBlocks_2()

osGLOBAL bit32 smsatReassignBlocks_2 ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext,
bit8 LBA 
)

Definition at line 19268 of file smsat.c.

References AGSA_SATA_PROTOCOL_DMA_WRITE, AGSA_SATA_PROTOCOL_FPDMA_WRITE, AGSA_SATA_PROTOCOL_PIO_WRITE, agTRUE, smSatIOContext_s::ATACmd, agsaFisRegH2DHeader_s::c_pmPort, agsaFisRegH2DHeader_s::command, agsaFisRegH2DData_s::control, agsaFisRegHostToDevice_s::d, agsaFisRegH2DData_s::device, agsaFisRegH2DHeader_s::features, agsaFisRegH2DData_s::featuresExp, agsaFisRegH2DHeader_s::fisType, agsaFisRegHostToDevice_s::h, smSatIOContext_s::interruptContext, agsaFisRegH2DData_s::lbaHigh, agsaFisRegH2DData_s::lbaHighExp, agsaFisRegH2DData_s::lbaLow, agsaFisRegH2DData_s::lbaLowExp, agsaFisRegH2DData_s::lbaMid, agsaFisRegH2DData_s::lbaMidExp, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, smSatIOContext_s::pSense, smSatIOContext_s::pSmSenseData, smSatIOContext_s::reqType, agsaFisRegH2DData_s::reserved4, agsaFisRegH2DData_s::reserved5, smDeviceData_s::sat48BitSupport, SAT_WRITE_DMA, SAT_WRITE_DMA_EXT, SAT_WRITE_FPDMA_QUEUED, SAT_WRITE_SECTORS, SAT_WRITE_SECTORS_EXT, smSatIOContext_s::satCompleteCB, smDeviceData_s::satDMAEnabled, smDeviceData_s::satDMASupport, smDeviceData_s::satNCQ, SCSI_SNSCODE_WRITE_ERROR_AUTO_REALLOCATION_FAILED, SCSI_SNSKEY_HARDWARE_ERROR, SCSI_STAT_CHECK_CONDITION, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG5, SM_DBG6, SM_RC_SUCCESS, smIOSuccess, smsataLLIOStart(), smsatReassignBlocksCB(), smsatSetSensePayload(), status, and tdsmIOCompletedCB().

Referenced by smsatReassignBlocksCB().

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

◆ smsatReassignBlocksCB()

osGLOBAL void smsatReassignBlocksCB ( agsaRoot_t agRoot,
agsaIORequest_t agIORequest,
bit32  agIOStatus,
agsaFisHeader_t agFirstDword,
bit32  agIOInfoLen,
agsaFrameHandle_t  agFrameHandle,
void *  ioContext 
)

Definition at line 7242 of file smsatcb.c.

References agFALSE, agNULL, agTRUE, agsaFisRegH2DHeader_s::command, agsaFisHeader_s::D2H, DF_ATA_STATUS_MASK, ERR_ATA_STATUS_MASK, agsaFisRegD2HHeader_s::fisType, agsaFisRegHostToDevice_s::h, smSatIOContext_s::interruptContext, smIORequestBody_s::ioCompleted, smIORequestBody_s::ioStarted, smSatIOContext_s::LBA, agsaContext_s::osData, OSSA_IO_ABORTED, OSSA_IO_SUCCESS, smSatIOContext_s::ParmIndex, smSatIOContext_s::ParmLen, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, smSatIOContext_s::pScsiCmnd, smSatIOContext_s::pSense, smSatIOContext_s::psmDeviceHandle, smSatIOContext_s::pSmSenseData, REG_DEV_TO_HOST_FIS, SAT_READ_VERIFY_SECTORS, SAT_READ_VERIFY_SECTORS_EXT, SAT_WRITE_DMA, SAT_WRITE_DMA_EXT, SAT_WRITE_FPDMA_QUEUED, SAT_WRITE_SECTORS, SAT_WRITE_SECTORS_EXT, smSatIOContext_s::satIntIoContext, smSatInternalIo_s::satIntSmIORequest, smSatInternalIo_s::satIntSmScsiXchg, smSatIOContext_s::satOrgIOContext, SCSI_SNSCODE_WRITE_ERROR_AUTO_REALLOCATION_FAILED, SCSI_SNSKEY_HARDWARE_ERROR, SCSI_STAT_CHECK_CONDITION, SCSI_STAT_GOOD, SM_DBG1, SM_DBG2, SM_DBG4, SM_DBG5, SM_RC_SUCCESS, smIntRoot_s::smAllShared, smContext_t::smData, smDetailOtherError, smIOFailed, smIORequestBody_s::smIORequest, smIOSuccess, smSatIOContext_s::smRequestBody, smDeviceData_s::smRoot, smsatAllocIntIoResource(), smsatDecrementPendingIO(), smsatFreeIntIoResource(), smsatPrepareNewIO(), smsatProcessAbort(), smsatReassignBlocks_1(), smsatReassignBlocks_2(), smsatSetSensePayload(), smSatIOContext_s::smScsiXchg, status, agsaFisRegD2HHeader_s::status, and tdsmIOCompletedCB().

Referenced by smsatReassignBlocks(), smsatReassignBlocks_1(), and smsatReassignBlocks_2().

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

◆ smsatReportLun()

◆ smsatRequestSense()

osGLOBAL bit32 smsatRequestSense ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

Definition at line 9073 of file smsat.c.

References agNULL, AGSA_SATA_PROTOCOL_NON_DATA, smIORequestBody_s::agSATARequestBody, agTRUE, ATA_REMOVABLE_MEDIA_DEVICE_MASK, agsaFisRegH2DHeader_s::c_pmPort, smIniScsiCmnd_t::cdb, agsaFisRegH2DHeader_s::command, agsaFisRegH2DData_s::control, agsaFisRegHostToDevice_s::d, agsaFisRegH2DData_s::device, smIniScsiCmnd_t::expDataLength, agsaFisRegH2DHeader_s::features, agsaFisRegH2DData_s::featuresExp, agsaSATAInitiatorRequest_s::fis, agsaSATAHostFis_u::fisRegHostToDev, agsaFisRegH2DHeader_s::fisType, agsaFisRegHostToDevice_s::h, smSatIOContext_s::interruptContext, agsaFisRegH2DData_s::lbaHigh, agsaFisRegH2DData_s::lbaHighExp, agsaFisRegH2DData_s::lbaLow, agsaFisRegH2DData_s::lbaLowExp, agsaFisRegH2DData_s::lbaMid, agsaFisRegH2DData_s::lbaMidExp, smSgl_t::len, smSgl_t::lower, MIN, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, smSatIOContext_s::pScsiCmnd, smSatIOContext_s::pSense, smSatIOContext_s::psmDeviceHandle, smSatIOContext_s::pSmSenseData, smSatIOContext_s::reqType, agsaFisRegH2DData_s::reserved4, agsaFisRegH2DData_s::reserved5, SAT_SMART, SAT_SMART_RETURN_STATUS, smIORequestBody_s::SATA, smSatIOContext_s::satCompleteCB, smSatIOContext_s::satIntIoContext, smSatInternalIo_s::satIntRequestBody, smSatInternalIo_s::satIntSmIORequest, smSatInternalIo_s::satIntSmScsiXchg, smIORequestBody_s::satIOContext, smSatIOContext_s::satOrgIOContext, smSatInternalIo_s::satOrgSmIORequest, smDeviceData_s::satSMARTEnabled, SCSI_LINK_MASK, SCSI_NACA_MASK, SCSI_SNSCODE_HARDWARE_IMPENDING_FAILURE, SCSI_SNSCODE_INVALID_FIELD_IN_CDB, SCSI_SNSKEY_ILLEGAL_REQUEST, SCSI_SNSKEY_NO_SENSE, SCSI_STAT_CHECK_CONDITION, SCSI_STAT_GOOD, smScsiInitiatorRequest::scsiCmnd, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SENSE_DATA_LENGTH, smSenseData_t::senseData, smIORequestBody_s::sensePayload, smScsiInitiatorRequest::sglVirtualAddr, SM_DBG1, SM_DBG4, SM_DBG5, sm_memcpy(), SM_RC_SUCCESS, smIOSuccess, smSatIOContext_s::smRequestBody, smsataLLIOStart(), smsatAllocIntIoResource(), smsatFreeIntIoResource(), smsatRequestSense_1(), smsatRequestSenseCB(), smsatSetSensePayload(), smIORequestBody_s::smSenseData, smScsiInitiatorRequest::smSgl1, status, tdsmIOCompletedCB(), smIORequestBody_s::transport, smSgl_t::type, and smSgl_t::upper.

Referenced by smsatIOStart().

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

◆ smsatRequestSense_1()

◆ smsatRequestSenseCB()

osGLOBAL void smsatRequestSenseCB ( agsaRoot_t agRoot,
agsaIORequest_t agIORequest,
bit32  agIOStatus,
agsaFisHeader_t agFirstDword,
bit32  agIOInfoLen,
void *  agParam,
void *  ioContext 
)

Definition at line 2301 of file smsatcb.c.

References agFALSE, agNULL, agTRUE, smIniScsiCmnd_t::cdb, agsaFisRegH2DHeader_s::command, agsaFisHeader_s::D2H, DF_ATA_STATUS_MASK, ERR_ATA_STATUS_MASK, smIniScsiCmnd_t::expDataLength, agsaFisRegH2DHeader_s::features, agsaFisRegD2HHeader_s::fisType, agsaFisRegHostToDevice_s::h, smSatIOContext_s::interruptContext, smIORequestBody_s::ioCompleted, smIORequestBody_s::ioStarted, agsaFisRegD2HData_s::lbaHigh, agsaFisRegD2HData_s::lbaMid, MIN, agsaContext_s::osData, OSSA_IO_ABORTED, OSSA_IO_SUCCESS, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, smSatIOContext_s::pScsiCmnd, smSatIOContext_s::pSense, smSatIOContext_s::psmDeviceHandle, smSatIOContext_s::pSmSenseData, REG_DEV_TO_HOST_FIS, saFrameReadBlock(), SAT_CHECK_POWER_MODE, SAT_SMART, SAT_SMART_RETURN_STATUS, smDeviceData_s::satFormatState, smSatIOContext_s::satIntIoContext, smSatInternalIo_s::satIntSmIORequest, smSatInternalIo_s::satIntSmScsiXchg, smSatIOContext_s::satOrgIOContext, SCSI_SNSCODE_HARDWARE_IMPENDING_FAILURE, SCSI_SNSCODE_LOGICAL_UNIT_NOT_READY_FORMAT_IN_PROGRESS, SCSI_SNSCODE_LOW_POWER_CONDITION_ON, SCSI_SNSCODE_NO_ADDITIONAL_INFO, SCSI_SNSKEY_NO_SENSE, SCSI_SNSKEY_NOT_READY, SCSI_STAT_CHECK_CONDITION, SCSI_STAT_GOOD, agsaFisRegD2HData_s::sectorCount, SENSE_DATA_LENGTH, smSenseData_t::senseData, smSenseData_t::senseLen, SM_DBG1, SM_DBG2, SM_DBG4, SM_DBG6, sm_memcpy(), SM_RC_SUCCESS, smIntRoot_s::smAllShared, smContext_t::smData, smDetailOtherError, smIOFailed, smIORequestBody_s::smIORequest, smIOSuccess, smIOUnderRun, smSatIOContext_s::smRequestBody, smDeviceData_s::smRoot, smsatAllocIntIoResource(), smsatDecrementPendingIO(), smsatFreeIntIoResource(), smsatPrepareNewIO(), smsatProcessAbort(), smsatRequestSense_1(), smsatSetSensePayload(), smSatIOContext_s::smScsiXchg, status, agsaFisRegD2HHeader_s::status, smSatIOContext_s::superIOFlag, and tdsmIOCompletedCB().

Referenced by smsatRequestSense(), and smsatRequestSense_1().

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

◆ smsatRequestSenseForATAPI()

osGLOBAL bit32 smsatRequestSenseForATAPI ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

SAT implementation for SCSI REQUEST SENSE to ATAPI device.

SAT implementation for SCSI REQUEST SENSE.

Parameters
smRootPointer to TISA initiator driver/port instance.
smIORequestPointer to TISA I/O request context for this I/O.
smDeviceHandlePointer to TISA device handle for this I/O.
smScsiRequestPointer to TISA SCSI I/O request and SGL list.
smSatIOContext_tPointer to the SAT IO Context
Returns
If command is started successfully
  • smIOSuccess: I/O request successfully initiated.
  • smIOBusy: No resources available, try again later.
  • smIOIONoDevice: Invalid device handle.
  • smIOError: Other errors.

SAT implementation for SCSI REQUEST SENSE.

Parameters
tiRootPointer to TISA initiator driver/port instance.
tiIORequestPointer to TISA I/O request context for this I/O.
tiDeviceHandlePointer to TISA device handle for this I/O.
tiScsiRequestPointer to TISA SCSI I/O request and SGL list.
smSatIOContext_tPointer to the SAT IO Context
Returns
If command is started successfully
  • smIOSuccess: I/O request successfully initiated.
  • smIOBusy: No resources available, try again later.
  • smIONoDevice: Invalid device handle.
  • smIOError: Other errors.

Definition at line 4213 of file smsat.c.

References AGSA_SATA_PROTOCOL_D2H_PKT, agTRUE, smSatIOContext_s::ATACmd, agsaFisRegH2DHeader_s::c_pmPort, smIniScsiCmnd_t::cdb, agsaFisRegH2DHeader_s::command, agsaFisRegH2DData_s::control, agsaFisRegHostToDevice_s::d, smScsiInitiatorRequest::dataDirection, agsaFisRegH2DData_s::device, smIniScsiCmnd_t::expDataLength, agsaFisRegH2DHeader_s::features, agsaFisRegH2DData_s::featuresExp, agsaFisRegH2DHeader_s::fisType, agsaFisRegHostToDevice_s::h, agsaFisRegH2DData_s::lbaHigh, agsaFisRegH2DData_s::lbaHighExp, agsaFisRegH2DData_s::lbaLow, agsaFisRegH2DData_s::lbaLowExp, agsaFisRegH2DData_s::lbaMid, agsaFisRegH2DData_s::lbaMidExp, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, smSatIOContext_s::reqType, agsaFisRegH2DData_s::reserved4, agsaFisRegH2DData_s::reserved5, SAT_PACKET, smSatIOContext_s::satCompleteCB, smDeviceData_s::satDMADIRSupport, smDeviceData_s::satDMAEnabled, smDeviceData_s::satDMASupport, smScsiInitiatorRequest::scsiCmnd, SCSIOPC_REQUEST_SENSE, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG3, smDirectionIn, smsataLLIOStart(), smsatRequestSenseForATAPICB(), and status.

Referenced by smsatPacketCB().

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

◆ smsatRequestSenseForATAPICB()

◆ smsatResetDevice()

◆ smsatResetDeviceCB()

osGLOBAL void smsatResetDeviceCB ( agsaRoot_t agRoot,
agsaIORequest_t agIORequest,
bit32  agIOStatus,
agsaFisHeader_t agFirstDword,
bit32  agIOInfoLen,
agsaFrameHandle_t  agFrameHandle,
void *  ioContext 
)

◆ smsatSendDiagnostic()

osGLOBAL bit32 smsatSendDiagnostic ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

Definition at line 11570 of file smsat.c.

References agFALSE, agNULL, AGSA_SATA_PROTOCOL_NON_DATA, agTRUE, agsaFisRegH2DHeader_s::c_pmPort, smIniScsiCmnd_t::cdb, agsaFisRegH2DHeader_s::command, agsaFisRegH2DData_s::control, agsaFisRegHostToDevice_s::d, agsaFisRegH2DData_s::device, agsaFisRegH2DHeader_s::features, agsaFisRegH2DData_s::featuresExp, agsaFisRegH2DHeader_s::fisType, agsaFisRegHostToDevice_s::h, smSatIOContext_s::interruptContext, agsaFisRegH2DData_s::lbaHigh, agsaFisRegH2DData_s::lbaHighExp, agsaFisRegH2DData_s::lbaLow, agsaFisRegH2DData_s::lbaLowExp, agsaFisRegH2DData_s::lbaMid, agsaFisRegH2DData_s::lbaMidExp, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, smSatIOContext_s::pSense, smSatIOContext_s::pSmSenseData, smSatIOContext_s::reqType, agsaFisRegH2DData_s::reserved4, agsaFisRegH2DData_s::reserved5, smDeviceData_s::sat48BitSupport, SAT_READ_VERIFY_SECTORS, SAT_READ_VERIFY_SECTORS_EXT, SAT_SMART, SAT_SMART_EXEUTE_OFF_LINE_IMMEDIATE, smDeviceData_s::satBGPendingDiag, smSatIOContext_s::satCompleteCB, smDeviceData_s::satSMARTEnabled, smDeviceData_s::satSMARTSelfTest, smDeviceData_s::satVerifyState, SCSI_DEVOFFL_MASK, SCSI_LINK_MASK, SCSI_NACA_MASK, SCSI_PF_MASK, SCSI_SEND_DIAGNOSTIC_SELFTEST_MASK, SCSI_SEND_DIAGNOSTIC_TEST_CODE_MASK, SCSI_SNSCODE_ATA_DEVICE_FEATURE_NOT_ENABLED, SCSI_SNSCODE_INVALID_FIELD_IN_CDB, SCSI_SNSKEY_ABORTED_COMMAND, SCSI_SNSKEY_ILLEGAL_REQUEST, SCSI_STAT_CHECK_CONDITION, SCSI_STAT_GOOD, SCSI_UNITOFFL_MASK, smScsiInitiatorRequest::scsiCmnd, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG1, SM_DBG5, SM_RC_SUCCESS, smIOSuccess, smsataLLIOStart(), smsatSendDiagnosticCB(), smsatSetSensePayload(), status, and tdsmIOCompletedCB().

Referenced by smsatIOStart().

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

◆ smsatSendDiagnostic_1()

◆ smsatSendDiagnostic_2()

◆ smsatSendDiagnosticCB()

osGLOBAL void smsatSendDiagnosticCB ( agsaRoot_t agRoot,
agsaIORequest_t agIORequest,
bit32  agIOStatus,
agsaFisHeader_t agFirstDword,
bit32  agIOInfoLen,
agsaFrameHandle_t  agFrameHandle,
void *  ioContext 
)

Definition at line 2882 of file smsatcb.c.

References agFALSE, agNULL, agTRUE, agsaFisRegH2DHeader_s::command, agsaFisRegHostToDevice_s::d, agsaFisHeader_s::D2H, DF_ATA_STATUS_MASK, ERR_ATA_STATUS_MASK, agsaFisRegH2DHeader_s::features, agsaFisRegD2HHeader_s::fisType, agsaFisRegHostToDevice_s::h, smSatIOContext_s::interruptContext, smIORequestBody_s::ioCompleted, smIORequestBody_s::ioStarted, agsaFisRegH2DData_s::lbaLow, agsaContext_s::osData, OSSA_IO_ABORTED, OSSA_IO_SUCCESS, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, smSatIOContext_s::pScsiCmnd, smSatIOContext_s::pSense, smSatIOContext_s::psmDeviceHandle, smSatIOContext_s::pSmSenseData, REG_DEV_TO_HOST_FIS, SAT_READ_VERIFY_SECTORS, SAT_READ_VERIFY_SECTORS_EXT, SAT_SMART, SAT_SMART_EXEUTE_OFF_LINE_IMMEDIATE, smDeviceData_s::satBGPendingDiag, smSatIOContext_s::satIntIoContext, smSatInternalIo_s::satIntSmIORequest, smSatInternalIo_s::satIntSmScsiXchg, smSatIOContext_s::satOrgIOContext, smDeviceData_s::satVerifyState, SCSI_SNSCODE_LOGICAL_UNIT_FAILED_SELF_TEST, SCSI_SNSCODE_NO_ADDITIONAL_INFO, SCSI_SNSKEY_HARDWARE_ERROR, SCSI_SNSKEY_NO_SENSE, SCSI_STAT_CHECK_CONDITION, SCSI_STAT_GOOD, SM_DBG1, SM_DBG2, SM_DBG4, SM_DBG5, SM_EXTERNAL_IO_LOCK, SM_RC_SUCCESS, smIntRoot_s::smAllShared, smContext_t::smData, smDetailOtherError, smIOFailed, smIORequestBody_s::smIORequest, smIOSuccess, smSatIOContext_s::smRequestBody, smDeviceData_s::smRoot, smsatAllocIntIoResource(), smsatDecrementPendingIO(), smsatFreeIntIoResource(), smsatPrepareNewIO(), smsatProcessAbort(), smsatSendDiagnostic_1(), smsatSendDiagnostic_2(), smsatSetSensePayload(), status, agsaFisRegD2HHeader_s::status, tdsmIOCompletedCB(), tdsmSingleThreadedEnter(), and tdsmSingleThreadedLeave().

Referenced by smsatSendDiagnostic(), smsatSendDiagnostic_1(), and smsatSendDiagnostic_2().

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

◆ smsatSendIDDev()

osGLOBAL bit32 smsatSendIDDev ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

◆ smsatSendReadLogExt()

◆ smsatSetDeferredSensePayload()

osGLOBAL void smsatSetDeferredSensePayload ( smScsiRspSense_t pSense,
bit8  SnsKey,
bit32  SnsInfo,
bit16  SnsCode,
smSatIOContext_t satIOContext 
)

Definition at line 4453 of file smsat.c.

References SM_DBG2.

Referenced by smsatStartStopUnitCB(), and smsatSynchronizeCache10n16CB().

Here is the caller graph for this function:

◆ smsatSetDevInfo()

osGLOBAL void smsatSetDevInfo ( smDeviceData_t oneDeviceData,
agsaSATAIdentifyData_t SATAIdData 
)

Definition at line 2008 of file smsat.c.

References agFALSE, agNULL, agTRUE, agsaSATAIdentifyData_s::commandSetFeatureDefault, agsaSATAIdentifyData_s::commandSetFeatureEnabled, agsaSATAIdentifyData_s::commandSetFeatureEnabled1, agsaSATAIdentifyData_s::commandSetFeatureSupportedExt, agsaSATAIdentifyData_s::commandSetSupported, agsaSATAIdentifyData_s::commandSetSupported1, agsaSATAIdentifyData_s::dma_lba_iod_ios_stimer, agsaSATAIdentifyData_s::numOfUserAddressableSectorsHi, agsaSATAIdentifyData_s::numOfUserAddressableSectorsLo, agsaSATAIdentifyData_s::queueDepth, smDeviceData_s::sat48BitSupport, SAT_DEV_STATE_NORMAL, smDeviceData_s::satAbortAfterReset, smDeviceData_s::satAbortCalled, agsaSATAIdentifyData_s::sataCapabilities, agsaSATAIdentifyData_s::sataFeaturesSupported, smDeviceData_s::satDeviceFaultState, smDeviceData_s::satDMADIRSupport, smDeviceData_s::satDMAEnabled, smDeviceData_s::satDMASetupAA, smDeviceData_s::satDMASupport, smDeviceData_s::satDriveState, smDeviceData_s::satFormatState, smDeviceData_s::satLookAheadEnabled, smDeviceData_s::satMaxUserAddrSectors, smDeviceData_s::satNCQ, smDeviceData_s::satNCQMaxIO, smDeviceData_s::satNCQQMgntCmd, smDeviceData_s::satReadLookAheadSupport, smDeviceData_s::satRemovableMedia, smDeviceData_s::satRemovableMediaEnabled, smDeviceData_s::satSectorDone, smDeviceData_s::satSMARTEnabled, smDeviceData_s::satSMARTFeatureSet, smDeviceData_s::satSMARTSelfTest, smDeviceData_s::satTmTaskTag, smDeviceData_s::satUltraDMAMode, smDeviceData_s::satVerifyState, smDeviceData_s::satVolatileWriteCacheSupport, smDeviceData_s::satWriteCacheEnabled, smDeviceData_s::satWWNSupport, SM_DBG3, agsaSATAIdentifyData_s::ultraDMAModes, agsaSATAIdentifyData_s::word62_74, and agsaSATAIdentifyData_s::word77.

Referenced by smsatIDStartCB(), and smsatInquiryCB().

Here is the caller graph for this function:

◆ smsatSetFeaturesAA()

◆ smsatSetFeaturesAACB()

◆ smsatSetFeaturesDMA()

◆ smsatSetFeaturesDMACB()

osGLOBAL void smsatSetFeaturesDMACB ( agsaRoot_t agRoot,
agsaIORequest_t agIORequest,
bit32  agIOStatus,
agsaFisHeader_t agFirstDword,
bit32  agIOInfoLen,
void *  agParam,
void *  ioContext 
)

◆ smsatSetFeaturesPIO()

osGLOBAL bit32 smsatSetFeaturesPIO ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

SAT implementation for satSetFeatures.

This function creates SetFeatures fis and sends the request to LL layer

Parameters
smRootPointer to TISA initiator driver/port instance.
smIORequestPointer to TISA I/O request context for this I/O.
smDeviceHandlePointer to TISA device handle for this I/O.
smScsiRequestPointer to TISA SCSI I/O request and SGL list.
smSatIOContext_tPointer to the SAT IO Context
Returns
If command is started successfully
  • smIOSuccess: I/O request successfully initiated.
  • smIOBusy: No resources available, try again later.
  • smIOIONoDevice: Invalid device handle.
  • smIOError: Other errors.

SAT implementation for satSetFeatures.

This function creates Set Features fis and sends the request to LL layer

Parameters
tiRootPointer to TISA initiator driver/port instance.
tiIORequestPointer to TISA I/O request context for this I/O.
tiDeviceHandlePointer to TISA device handle for this I/O.
tiScsiRequestPointer to TISA SCSI I/O request and SGL list.
smSatIOContext_tPointer to the SAT IO Context
Returns
If command is started successfully
  • smIOSuccess: I/O request successfully initiated.
  • smIOBusy: No resources available, try again later.
  • smIONoDevice: Invalid device handle.
  • smIOError: Other errors.

Definition at line 4133 of file smsat.c.

References AGSA_SATA_PROTOCOL_NON_DATA, agsaFisRegH2DHeader_s::c_pmPort, agsaFisRegH2DHeader_s::command, agsaFisRegH2DData_s::control, agsaFisRegHostToDevice_s::d, agsaFisRegH2DData_s::device, agsaFisRegH2DHeader_s::features, agsaFisRegH2DData_s::featuresExp, agsaFisRegH2DHeader_s::fisType, agsaFisRegHostToDevice_s::h, agsaFisRegH2DData_s::lbaHigh, agsaFisRegH2DData_s::lbaHighExp, agsaFisRegH2DData_s::lbaLow, agsaFisRegH2DData_s::lbaLowExp, agsaFisRegH2DData_s::lbaMid, agsaFisRegH2DData_s::lbaMidExp, smSatIOContext_s::pFis, smSatIOContext_s::reqType, agsaFisRegH2DData_s::reserved4, agsaFisRegH2DData_s::reserved5, SAT_SET_FEATURES, smSatIOContext_s::satCompleteCB, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG1, SM_DBG2, SM_RC_FAILURE, smContext_t::smData, smsataLLIOStart(), smsatSetFeaturesPIOCB(), status, and smContext_t::tdData.

Referenced by smsatIDStartCB().

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

◆ smsatSetFeaturesPIOCB()

◆ smsatSetFeaturesReadLookAhead()

◆ smsatSetFeaturesReadLookAheadCB()

osGLOBAL void smsatSetFeaturesReadLookAheadCB ( agsaRoot_t agRoot,
agsaIORequest_t agIORequest,
bit32  agIOStatus,
agsaFisHeader_t agFirstDword,
bit32  agIOInfoLen,
void *  agParam,
void *  ioContext 
)

◆ smsatSetFeaturesVolatileWriteCache()

◆ smsatSetFeaturesVolatileWriteCacheCB()

osGLOBAL void smsatSetFeaturesVolatileWriteCacheCB ( agsaRoot_t agRoot,
agsaIORequest_t agIORequest,
bit32  agIOStatus,
agsaFisHeader_t agFirstDword,
bit32  agIOInfoLen,
void *  agParam,
void *  ioContext 
)

◆ smsatSetSensePayload()

osGLOBAL void smsatSetSensePayload ( smScsiRspSense_t pSense,
bit8  SnsKey,
bit32  SnsInfo,
bit16  SnsCode,
smSatIOContext_t satIOContext 
)

Definition at line 3850 of file smsat.c.

References smScsiRspSense_t::addSenseCode, smScsiRspSense_t::addSenseLen, agNULL, smScsiRspSense_t::cmdSpecific, smSatIOContext_s::extend, smScsiRspSense_t::info, smSatIOContext_s::LBA_Upper_Nonzero, smSatIOContext_s::LBAHigh07, smSatIOContext_s::LBALow07, smSatIOContext_s::LBAMid07, smSatIOContext_s::pSmSenseData, SCSI_SNSCODE_ATA_PASS_THROUGH_INFORMATION_AVAILABLE, SCSI_SNSKEY_ILLEGAL_REQUEST, smSatIOContext_s::Sector_Cnt_Upper_Nonzero, smScsiRspSense_t::senseKey, smSenseData_t::senseLen, smScsiRspSense_t::senseQual, smScsiRspSense_t::skeySpecific, SM_DBG1, SM_DBG2, SM_DBG3, and smScsiRspSense_t::snsRespCode.

Referenced by smsatChainedDataIOCB(), smsatChainedVerifyCB(), smsatChainedWriteNVerifyCB(), smsatCheckPowerModePassCB(), smsatDefaultTranslation(), smsatFormatUnit(), smsatIDDataPassCB(), smsatInquiry(), smsatInquiryCB(), smsatInquiryIntCB(), smsatIOCompleted(), smsatIOStart(), smsatLogSense(), smsatLogSenseCB(), smsatModeSelect10(), smsatModeSelect6(), smsatModeSelect6n10CB(), smsatModeSense10(), smsatModeSense6(), smsatNonChainedVerifyCB(), smsatNonChainedWriteNVerifyCB(), smsatPacketCB(), smsatPassthrough(), smsatPassthroughCB(), smsatRead10(), smsatRead12(), smsatRead16(), smsatRead6(), smsatReadBuffer(), smsatReadBufferCB(), smsatReadCapacity10(), smsatReadCapacity16(), smsatReadMediaSerialNumber(), smsatReadMediaSerialNumberCB(), smsatReassignBlocks(), smsatReassignBlocks_2(), smsatReassignBlocksCB(), smsatReportLun(), smsatRequestSense(), smsatRequestSenseCB(), smsatSendDiagnostic(), smsatSendDiagnosticCB(), smsatSMARTEnablePassCB(), smsatSMARTReadLogCB(), smsatSMARTRStatusPassCB(), smsatStartStopUnit(), smsatStartStopUnitCB(), smsatSynchronizeCache10(), smsatSynchronizeCache10n16CB(), smsatSynchronizeCache16(), smsatTestUnitReady(), smsatTestUnitReadyCB(), smsatVerify10(), smsatVerify10CB(), smsatVerify12(), smsatVerify16(), smsatWrite10(), smsatWrite12(), smsatWrite16(), smsatWrite6(), smsatWriteAndVerify10(), smsatWriteAndVerify12(), smsatWriteAndVerify16(), smsatWriteBuffer(), smsatWriteBufferCB(), smsatWriteSame10(), smsatWriteSame10CB(), and smsatWriteSame16().

◆ smsatSMARTEnable()

◆ smsatSMARTEnableCB()

◆ smsatSMARTEnablePassCB()

◆ smsatSMARTReadLogCB()

osGLOBAL void smsatSMARTReadLogCB ( agsaRoot_t agRoot,
agsaIORequest_t agIORequest,
bit32  agIOStatus,
agsaFisHeader_t agFirstDword,
bit32  agIOInfoLen,
void *  agParam,
void *  ioContext 
)

◆ smsatSMARTRStatusPassCB()

◆ smsatSplitSGL()

◆ smsatStartCheckPowerMode()

osGLOBAL bit32 smsatStartCheckPowerMode ( smRoot_t smRoot,
smIORequest_t currentTaskTag,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

◆ smsatStartIDDev()

◆ smsatStartResetDevice()

osGLOBAL bit32 smsatStartResetDevice ( smRoot_t smRoot,
smIORequest_t currentTaskTag,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

◆ smsatStartStopUnit()

osGLOBAL bit32 smsatStartStopUnit ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

Definition at line 12166 of file smsat.c.

References agNULL, AGSA_SATA_PROTOCOL_NON_DATA, agTRUE, agsaFisRegH2DHeader_s::c_pmPort, smIniScsiCmnd_t::cdb, agsaFisRegH2DHeader_s::command, agsaFisRegH2DData_s::control, agsaFisRegHostToDevice_s::d, agsaFisRegH2DData_s::device, agsaFisRegH2DHeader_s::features, agsaFisRegH2DData_s::featuresExp, agsaFisRegH2DHeader_s::fisType, agsaFisRegHostToDevice_s::h, smSatIOContext_s::interruptContext, agsaFisRegH2DData_s::lbaHigh, agsaFisRegH2DData_s::lbaHighExp, agsaFisRegH2DData_s::lbaLow, agsaFisRegH2DData_s::lbaLowExp, agsaFisRegH2DData_s::lbaMid, agsaFisRegH2DData_s::lbaMidExp, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, smSatIOContext_s::pSense, smSatIOContext_s::pSmSenseData, smSatIOContext_s::reqType, agsaFisRegH2DData_s::reserved4, agsaFisRegH2DData_s::reserved5, smDeviceData_s::sat48BitSupport, SAT_FLUSH_CACHE, SAT_FLUSH_CACHE_EXT, SAT_MEDIA_EJECT, SAT_READ_VERIFY_SECTORS, SAT_READ_VERIFY_SECTORS_EXT, smSatIOContext_s::satCompleteCB, smDeviceData_s::satRemovableMedia, smDeviceData_s::satRemovableMediaEnabled, SCSI_IMMED_MASK, SCSI_LINK_MASK, SCSI_LOEJ_MASK, SCSI_NACA_MASK, SCSI_SNSCODE_INVALID_FIELD_IN_CDB, SCSI_SNSKEY_ILLEGAL_REQUEST, SCSI_START_MASK, SCSI_STAT_CHECK_CONDITION, SCSI_STAT_GOOD, smScsiInitiatorRequest::scsiCmnd, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG1, SM_DBG5, SM_RC_SUCCESS, smIOSuccess, smsataLLIOStart(), smsatSetSensePayload(), smsatStartStopUnitCB(), status, and tdsmIOCompletedCB().

Referenced by smsatIOStart().

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

◆ smsatStartStopUnit_1()

◆ smsatStartStopUnitCB()

osGLOBAL void smsatStartStopUnitCB ( agsaRoot_t agRoot,
agsaIORequest_t agIORequest,
bit32  agIOStatus,
agsaFisHeader_t agFirstDword,
bit32  agIOInfoLen,
agsaFrameHandle_t  agFrameHandle,
void *  ioContext 
)

Definition at line 3316 of file smsatcb.c.

References agFALSE, agNULL, agTRUE, smIniScsiCmnd_t::cdb, agsaFisRegH2DHeader_s::command, agsaFisHeader_s::D2H, DF_ATA_STATUS_MASK, ERR_ATA_STATUS_MASK, agsaFisRegD2HHeader_s::fisType, agsaFisRegHostToDevice_s::h, smSatIOContext_s::interruptContext, smIORequestBody_s::ioCompleted, smIORequestBody_s::ioStarted, agsaContext_s::osData, OSSA_IO_ABORTED, OSSA_IO_SUCCESS, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, smSatIOContext_s::pScsiCmnd, smSatIOContext_s::pSense, smSatIOContext_s::psmDeviceHandle, smSatIOContext_s::pSmSenseData, REG_DEV_TO_HOST_FIS, SAT_FLUSH_CACHE, SAT_FLUSH_CACHE_EXT, SAT_MEDIA_EJECT, SAT_READ_VERIFY_SECTORS, SAT_READ_VERIFY_SECTORS_EXT, SAT_STANDBY, smSatIOContext_s::satIntIoContext, smSatInternalIo_s::satIntSmIORequest, smSatInternalIo_s::satIntSmScsiXchg, smSatIOContext_s::satOrgIOContext, smDeviceData_s::satStopState, SCSI_IMMED_MASK, SCSI_SNSCODE_COMMAND_SEQUENCE_ERROR, SCSI_SNSCODE_MEDIA_LOAD_OR_EJECT_FAILED, SCSI_SNSCODE_NO_ADDITIONAL_INFO, SCSI_SNSKEY_ABORTED_COMMAND, SCSI_SNSKEY_NO_SENSE, SCSI_STAT_CHECK_CONDITION, SCSI_STAT_GOOD, SM_DBG1, SM_DBG2, SM_DBG4, SM_DBG5, SM_RC_SUCCESS, smIntRoot_s::smAllShared, smContext_t::smData, smIORequestBody_s::smIORequest, smIOSuccess, smSatIOContext_s::smRequestBody, smDeviceData_s::smRoot, smsatAllocIntIoResource(), smsatDecrementPendingIO(), smsatFreeIntIoResource(), smsatPrepareNewIO(), smsatProcessAbort(), smsatSetDeferredSensePayload(), smsatSetSensePayload(), smsatStartStopUnit_1(), status, agsaFisRegD2HHeader_s::status, and tdsmIOCompletedCB().

Referenced by smsatStartStopUnit(), and smsatStartStopUnit_1().

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

◆ smsatSynchronizeCache10()

osGLOBAL bit32 smsatSynchronizeCache10 ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

◆ smsatSynchronizeCache10n16CB()

osGLOBAL void smsatSynchronizeCache10n16CB ( agsaRoot_t agRoot,
agsaIORequest_t agIORequest,
bit32  agIOStatus,
agsaFisHeader_t agFirstDword,
bit32  agIOInfoLen,
agsaFrameHandle_t  agFrameHandle,
void *  ioContext 
)

◆ smsatSynchronizeCache16()

osGLOBAL bit32 smsatSynchronizeCache16 ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

◆ smsatTagAlloc()

osGLOBAL FORCEINLINE bit32 smsatTagAlloc ( smRoot_t smRoot,
smDeviceData_t pSatDevData,
bit8 pTag 
)

Definition at line 20146 of file smsat.c.

References agFALSE, agTRUE, smDeviceData_s::freeSATAFDMATagBitmap, smDeviceData_s::satNCQMaxIO, SM_NCQ_TAG_LOCK, smsatBitSet(), smsatBitTest(), tdsmBitScanForward(), tdsmSingleThreadedEnter(), and tdsmSingleThreadedLeave().

Referenced by smsataLLIOStart().

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

◆ smsatTagRelease()

osGLOBAL FORCEINLINE bit32 smsatTagRelease ( smRoot_t smRoot,
smDeviceData_t pSatDevData,
bit8  tag 
)

Definition at line 20187 of file smsat.c.

References agFALSE, agTRUE, smDeviceData_s::freeSATAFDMATagBitmap, smDeviceData_s::satNCQMaxIO, SM_DBG1, SM_NCQ_TAG_LOCK, smsatBitClear(), tdsmSingleThreadedEnter(), and tdsmSingleThreadedLeave().

Referenced by smllSATACompleted(), and smsataLLIOStart().

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

◆ smsatTaskManagement()

◆ smsatTestUnitReady()

osGLOBAL bit32 smsatTestUnitReady ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

Definition at line 8577 of file smsat.c.

References AGSA_SATA_PROTOCOL_NON_DATA, agTRUE, agsaFisRegH2DHeader_s::c_pmPort, smIniScsiCmnd_t::cdb, agsaFisRegH2DHeader_s::command, agsaFisRegH2DData_s::control, agsaFisRegHostToDevice_s::d, agsaFisRegH2DData_s::device, agsaFisRegH2DHeader_s::features, agsaFisRegH2DData_s::featuresExp, agsaFisRegH2DHeader_s::fisType, agsaFisRegHostToDevice_s::h, smSatIOContext_s::interruptContext, agsaFisRegH2DData_s::lbaHigh, agsaFisRegH2DData_s::lbaHighExp, agsaFisRegH2DData_s::lbaLow, agsaFisRegH2DData_s::lbaLowExp, agsaFisRegH2DData_s::lbaMid, agsaFisRegH2DData_s::lbaMidExp, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, smSatIOContext_s::pSense, smSatIOContext_s::pSmSenseData, smSatIOContext_s::reqType, agsaFisRegH2DData_s::reserved4, agsaFisRegH2DData_s::reserved5, SAT_DEV_STATE_FORMAT_IN_PROGRESS, SAT_GET_MEDIA_STATUS, smSatIOContext_s::satCompleteCB, smDeviceData_s::satDeviceFaultState, smDeviceData_s::satDriveState, smDeviceData_s::satPendingIO, smDeviceData_s::satRemovableMedia, smDeviceData_s::satRemovableMediaEnabled, smDeviceData_s::satStopState, SCSI_LINK_MASK, SCSI_NACA_MASK, SCSI_SNSCODE_INVALID_FIELD_IN_CDB, SCSI_SNSCODE_LOGICAL_UNIT_FAILURE, SCSI_SNSCODE_LOGICAL_UNIT_NOT_READY_FORMAT_IN_PROGRESS, SCSI_SNSCODE_LOGICAL_UNIT_NOT_READY_INITIALIZING_COMMAND_REQUIRED, SCSI_SNSKEY_HARDWARE_ERROR, SCSI_SNSKEY_ILLEGAL_REQUEST, SCSI_SNSKEY_NOT_READY, SCSI_STAT_CHECK_CONDITION, smScsiInitiatorRequest::scsiCmnd, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG1, SM_DBG5, SM_RC_SUCCESS, smIOSuccess, smsataLLIOStart(), smsatSetSensePayload(), smsatTestUnitReady_1(), smsatTestUnitReadyCB(), status, and tdsmIOCompletedCB().

Referenced by smsatIOStart().

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

◆ smsatTestUnitReady_1()

◆ smsatTestUnitReadyCB()

osGLOBAL void smsatTestUnitReadyCB ( agsaRoot_t agRoot,
agsaIORequest_t agIORequest,
bit32  agIOStatus,
agsaFisHeader_t agFirstDword,
bit32  agIOInfoLen,
agsaFrameHandle_t  agFrameHandle,
void *  ioContext 
)

Definition at line 1932 of file smsatcb.c.

References agFALSE, agNULL, agTRUE, agsaFisRegH2DHeader_s::command, agsaFisHeader_s::D2H, DF_ATA_STATUS_MASK, ERR_ATA_STATUS_MASK, agsaFisRegD2HHeader_s::error, agsaFisRegD2HHeader_s::fisType, agsaFisRegHostToDevice_s::h, smSatIOContext_s::interruptContext, smIORequestBody_s::ioCompleted, smIORequestBody_s::ioStarted, agsaContext_s::osData, OSSA_IO_ABORTED, OSSA_IO_SUCCESS, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, smSatIOContext_s::pScsiCmnd, smSatIOContext_s::pSense, smSatIOContext_s::psmDeviceHandle, smSatIOContext_s::pSmSenseData, REG_DEV_TO_HOST_FIS, SAT_CHECK_POWER_MODE, SAT_GET_MEDIA_STATUS, smIORequestBody_s::SATA, smSatIOContext_s::satIntIoContext, smSatInternalIo_s::satIntSmIORequest, smSatInternalIo_s::satIntSmScsiXchg, smIORequestBody_s::satIOContext, smSatInternalIo_s::satOrgSmIORequest, SCSI_NM_MASK, SCSI_SNSCODE_LOGICAL_UNIT_DOES_NOT_RESPOND_TO_SELECTION, SCSI_SNSCODE_LOGICAL_UNIT_NOT_READY_CAUSE_NOT_REPORTABLE, SCSI_SNSCODE_MEDIUM_NOT_PRESENT, SCSI_SNSKEY_NOT_READY, SCSI_STAT_CHECK_CONDITION, SCSI_STAT_GOOD, SM_DBG1, SM_DBG2, SM_DBG5, SM_DBG6, SM_RC_SUCCESS, smIntRoot_s::smAllShared, smContext_t::smData, smDetailAborted, smIOFailed, smIORequestBody_s::smIORequest, smIOSuccess, smDeviceData_s::smRoot, smsatAllocIntIoResource(), smsatDecrementPendingIO(), smsatFreeIntIoResource(), smsatPrepareNewIO(), smsatProcessAbort(), smsatSetSensePayload(), smsatTestUnitReady_1(), status, agsaFisRegD2HHeader_s::status, smContext_t::tdData, tdsmIOCompletedCB(), and smIORequestBody_s::transport.

Referenced by smsatTestUnitReady(), and smsatTestUnitReady_1().

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

◆ smsatTmAbortTask()

◆ smsatTranslateATAErrorsToSCSIErrors()

◆ smsatTranslateATAPIErrorsToSCSIErrors()

osGLOBAL void smsatTranslateATAPIErrorsToSCSIErrors ( bit8  bCommand,
bit8  bATAStatus,
bit8  bATAError,
bit8 pSenseKey,
bit16 pSenseCodeInfo 
)

◆ smsatVerify10()

osGLOBAL bit32 smsatVerify10 ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

Definition at line 7750 of file smsat.c.

References agFALSE, AGSA_SATA_PROTOCOL_NON_DATA, agTRUE, smSatIOContext_s::ATACmd, agsaFisRegH2DHeader_s::c_pmPort, smIniScsiCmnd_t::cdb, agsaFisRegH2DHeader_s::command, agsaFisRegH2DData_s::control, smSatIOContext_s::currentLBA, agsaFisRegHostToDevice_s::d, agsaFisRegH2DData_s::device, agsaFisRegH2DHeader_s::features, agsaFisRegH2DData_s::featuresExp, agsaFisRegH2DHeader_s::fisType, agsaFisRegHostToDevice_s::h, smSatIOContext_s::interruptContext, agsaFisRegH2DData_s::lbaHigh, agsaFisRegH2DData_s::lbaHighExp, agsaFisRegH2DData_s::lbaLow, agsaFisRegH2DData_s::lbaLowExp, agsaFisRegH2DData_s::lbaMid, agsaFisRegH2DData_s::lbaMidExp, smSatIOContext_s::LoopNum, smSatIOContext_s::OrgTL, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, smSatIOContext_s::pSense, smSatIOContext_s::pSmSenseData, smSatIOContext_s::reqType, agsaFisRegH2DData_s::reserved4, agsaFisRegH2DData_s::reserved5, smDeviceData_s::sat48BitSupport, SAT_READ_VERIFY_SECTORS, SAT_READ_VERIFY_SECTORS_EXT, SAT_TR_LBA_LIMIT, smSatIOContext_s::satCompleteCB, smDeviceData_s::satNCQ, SCSI_LINK_MASK, SCSI_NACA_MASK, SCSI_SNSCODE_INVALID_FIELD_IN_CDB, SCSI_SNSCODE_LOGICAL_BLOCK_ADDRESS_OUT_OF_RANGE, SCSI_SNSKEY_ILLEGAL_REQUEST, SCSI_STAT_CHECK_CONDITION, SCSI_VERIFY_BYTCHK_MASK, smScsiInitiatorRequest::scsiCmnd, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG1, SM_DBG5, sm_memset(), SM_RC_SUCCESS, smIOSuccess, smsataLLIOStart(), smsatChainedVerifyCB(), smsatCheckLimit(), smsatComputeLoopNum(), smsatNonChainedVerifyCB(), smsatSetSensePayload(), status, and tdsmIOCompletedCB().

Referenced by smsatIOStart().

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

◆ smsatVerify10CB()

◆ smsatVerify12()

osGLOBAL bit32 smsatVerify12 ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

Definition at line 8033 of file smsat.c.

References agFALSE, AGSA_SATA_PROTOCOL_NON_DATA, agTRUE, smSatIOContext_s::ATACmd, agsaFisRegH2DHeader_s::c_pmPort, smIniScsiCmnd_t::cdb, agsaFisRegH2DHeader_s::command, agsaFisRegH2DData_s::control, smSatIOContext_s::currentLBA, agsaFisRegHostToDevice_s::d, agsaFisRegH2DData_s::device, agsaFisRegH2DHeader_s::features, agsaFisRegH2DData_s::featuresExp, agsaFisRegH2DHeader_s::fisType, agsaFisRegHostToDevice_s::h, smSatIOContext_s::interruptContext, agsaFisRegH2DData_s::lbaHigh, agsaFisRegH2DData_s::lbaHighExp, agsaFisRegH2DData_s::lbaLow, agsaFisRegH2DData_s::lbaLowExp, agsaFisRegH2DData_s::lbaMid, agsaFisRegH2DData_s::lbaMidExp, smSatIOContext_s::LoopNum, smSatIOContext_s::OrgTL, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, smSatIOContext_s::pSense, smSatIOContext_s::pSmSenseData, smSatIOContext_s::reqType, agsaFisRegH2DData_s::reserved4, agsaFisRegH2DData_s::reserved5, smDeviceData_s::sat48BitSupport, SAT_READ_VERIFY_SECTORS, SAT_READ_VERIFY_SECTORS_EXT, SAT_TR_LBA_LIMIT, smSatIOContext_s::satCompleteCB, smDeviceData_s::satNCQ, SCSI_LINK_MASK, SCSI_NACA_MASK, SCSI_SNSCODE_INVALID_FIELD_IN_CDB, SCSI_SNSCODE_LOGICAL_BLOCK_ADDRESS_OUT_OF_RANGE, SCSI_SNSKEY_ILLEGAL_REQUEST, SCSI_STAT_CHECK_CONDITION, SCSI_VERIFY_BYTCHK_MASK, smScsiInitiatorRequest::scsiCmnd, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG1, SM_DBG5, sm_memset(), SM_RC_SUCCESS, smIOSuccess, smsataLLIOStart(), smsatChainedVerifyCB(), smsatCheckLimit(), smsatComputeCDB12LBA(), smsatComputeCDB12TL(), smsatComputeLoopNum(), smsatNonChainedVerifyCB(), smsatSetSensePayload(), status, and tdsmIOCompletedCB().

Referenced by smsatIOStart().

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

◆ smsatVerify16()

osGLOBAL bit32 smsatVerify16 ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

Definition at line 8315 of file smsat.c.

References agFALSE, AGSA_SATA_PROTOCOL_NON_DATA, agTRUE, smSatIOContext_s::ATACmd, agsaFisRegH2DHeader_s::c_pmPort, smIniScsiCmnd_t::cdb, agsaFisRegH2DHeader_s::command, agsaFisRegH2DData_s::control, smSatIOContext_s::currentLBA, agsaFisRegHostToDevice_s::d, agsaFisRegH2DData_s::device, agsaFisRegH2DHeader_s::features, agsaFisRegH2DData_s::featuresExp, agsaFisRegH2DHeader_s::fisType, agsaFisRegHostToDevice_s::h, smSatIOContext_s::interruptContext, agsaFisRegH2DData_s::lbaHigh, agsaFisRegH2DData_s::lbaHighExp, agsaFisRegH2DData_s::lbaLow, agsaFisRegH2DData_s::lbaLowExp, agsaFisRegH2DData_s::lbaMid, agsaFisRegH2DData_s::lbaMidExp, smSatIOContext_s::LoopNum, smSatIOContext_s::OrgTL, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, smSatIOContext_s::pSense, smSatIOContext_s::pSmSenseData, smSatIOContext_s::reqType, agsaFisRegH2DData_s::reserved4, agsaFisRegH2DData_s::reserved5, smDeviceData_s::sat48BitSupport, SAT_READ_VERIFY_SECTORS, SAT_READ_VERIFY_SECTORS_EXT, smSatIOContext_s::satCompleteCB, smDeviceData_s::satNCQ, SCSI_LINK_MASK, SCSI_NACA_MASK, SCSI_SNSCODE_INVALID_FIELD_IN_CDB, SCSI_SNSCODE_LOGICAL_BLOCK_ADDRESS_OUT_OF_RANGE, SCSI_SNSKEY_ILLEGAL_REQUEST, SCSI_STAT_CHECK_CONDITION, SCSI_VERIFY_BYTCHK_MASK, smScsiInitiatorRequest::scsiCmnd, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG1, SM_DBG5, sm_memset(), SM_RC_SUCCESS, smIOSuccess, smsataLLIOStart(), smsatChainedVerifyCB(), smsatCheckLimit(), smsatComputeCDB16LBA(), smsatComputeCDB16TL(), smsatComputeLoopNum(), smsatNonChainedVerifyCB(), smsatSetSensePayload(), status, and tdsmIOCompletedCB().

Referenced by smsatIOStart().

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

◆ smsatWrite10()

osGLOBAL FORCEINLINE bit32 smsatWrite10 ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

Definition at line 6458 of file smsat.c.

References agFALSE, AGSA_SATA_PROTOCOL_DMA_WRITE, AGSA_SATA_PROTOCOL_FPDMA_WRITE, AGSA_SATA_PROTOCOL_PIO_WRITE, agTRUE, smSatIOContext_s::ATACmd, BIT48_ADDRESS_TL_LIMIT, agsaFisRegH2DHeader_s::c_pmPort, smIniScsiCmnd_t::cdb, agsaFisRegH2DHeader_s::command, agsaFisRegH2DData_s::control, smSatIOContext_s::currentLBA, agsaFisRegHostToDevice_s::d, agsaFisRegH2DData_s::device, agsaFisRegH2DHeader_s::features, agsaFisRegH2DData_s::featuresExp, agsaFisRegH2DHeader_s::fisType, agsaFisRegHostToDevice_s::h, smSatIOContext_s::interruptContext, agsaFisRegH2DData_s::lbaHigh, agsaFisRegH2DData_s::lbaHighExp, agsaFisRegH2DData_s::lbaLow, agsaFisRegH2DData_s::lbaLowExp, agsaFisRegH2DData_s::lbaMid, agsaFisRegH2DData_s::lbaMidExp, smSatIOContext_s::LoopNum, NON_BIT48_ADDRESS_TL_LIMIT, smSatIOContext_s::OrgTL, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, smSatIOContext_s::pSense, smSatIOContext_s::pSmSenseData, smSatIOContext_s::reqType, agsaFisRegH2DData_s::reserved4, agsaFisRegH2DData_s::reserved5, smDeviceData_s::sat48BitSupport, SAT_TR_LBA_LIMIT, SAT_WRITE_DMA, SAT_WRITE_DMA_EXT, SAT_WRITE_DMA_FUA_EXT, SAT_WRITE_FPDMA_QUEUED, SAT_WRITE_SECTORS, SAT_WRITE_SECTORS_EXT, SATA_SECTOR_SIZE, smSatIOContext_s::satCompleteCB, smDeviceData_s::satDMAEnabled, smDeviceData_s::satDMASupport, smDeviceData_s::satNCQ, SCSI_FUA_NV_MASK, SCSI_LINK_MASK, SCSI_NACA_MASK, SCSI_SNSCODE_INVALID_FIELD_IN_CDB, SCSI_SNSCODE_LOGICAL_BLOCK_ADDRESS_OUT_OF_RANGE, SCSI_SNSKEY_ILLEGAL_REQUEST, SCSI_STAT_CHECK_CONDITION, SCSI_WRITE10_FUA_MASK, smScsiInitiatorRequest::scsiCmnd, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG1, SM_DBG2, SM_DBG5, SM_DBG6, SM_RC_FAILURE, SM_RC_SUCCESS, smIOSuccess, smsataLLIOStart(), smsatChainedDataIOCB(), smsatCheckLimit(), smsatComputeCDB10LBA(), smsatComputeCDB10TL(), smsatComputeLoopNum(), smsatNonChainedDataIOCB(), smsatSetSensePayload(), smsatSplitSGL(), status, and tdsmIOCompletedCB().

Referenced by smsatIOStart().

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

◆ smsatWrite12()

osGLOBAL bit32 smsatWrite12 ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

Definition at line 6902 of file smsat.c.

References agFALSE, AGSA_SATA_PROTOCOL_DMA_WRITE, AGSA_SATA_PROTOCOL_FPDMA_WRITE, AGSA_SATA_PROTOCOL_PIO_WRITE, agTRUE, smSatIOContext_s::ATACmd, agsaFisRegH2DHeader_s::c_pmPort, smIniScsiCmnd_t::cdb, agsaFisRegH2DHeader_s::command, agsaFisRegH2DData_s::control, smSatIOContext_s::currentLBA, agsaFisRegHostToDevice_s::d, agsaFisRegH2DData_s::device, agsaFisRegH2DHeader_s::features, agsaFisRegH2DData_s::featuresExp, agsaFisRegH2DHeader_s::fisType, agsaFisRegHostToDevice_s::h, smSatIOContext_s::interruptContext, agsaFisRegH2DData_s::lbaHigh, agsaFisRegH2DData_s::lbaHighExp, agsaFisRegH2DData_s::lbaLow, agsaFisRegH2DData_s::lbaLowExp, agsaFisRegH2DData_s::lbaMid, agsaFisRegH2DData_s::lbaMidExp, smSatIOContext_s::LoopNum, smSatIOContext_s::OrgTL, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, smSatIOContext_s::pSense, smSatIOContext_s::pSmSenseData, smSatIOContext_s::reqType, agsaFisRegH2DData_s::reserved4, agsaFisRegH2DData_s::reserved5, smDeviceData_s::sat48BitSupport, SAT_WRITE_DMA, SAT_WRITE_DMA_EXT, SAT_WRITE_DMA_FUA_EXT, SAT_WRITE_FPDMA_QUEUED, SAT_WRITE_SECTORS, SAT_WRITE_SECTORS_EXT, smSatIOContext_s::satCompleteCB, smDeviceData_s::satDMAEnabled, smDeviceData_s::satDMASupport, smDeviceData_s::satNCQ, SCSI_FUA_NV_MASK, SCSI_LINK_MASK, SCSI_NACA_MASK, SCSI_SNSCODE_INVALID_FIELD_IN_CDB, SCSI_SNSCODE_LOGICAL_BLOCK_ADDRESS_OUT_OF_RANGE, SCSI_SNSKEY_ILLEGAL_REQUEST, SCSI_STAT_CHECK_CONDITION, SCSI_WRITE12_FUA_MASK, smScsiInitiatorRequest::scsiCmnd, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG1, SM_DBG5, SM_DBG6, sm_memset(), SM_RC_SUCCESS, smIOSuccess, smsataLLIOStart(), smsatChainedDataIOCB(), smsatCheckLimit(), smsatComputeCDB12LBA(), smsatComputeCDB12TL(), smsatComputeLoopNum(), smsatNonChainedDataIOCB(), smsatSetSensePayload(), status, and tdsmIOCompletedCB().

Referenced by smsatIOStart().

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

◆ smsatWrite16()

osGLOBAL bit32 smsatWrite16 ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

Definition at line 7324 of file smsat.c.

References agFALSE, AGSA_SATA_PROTOCOL_DMA_WRITE, AGSA_SATA_PROTOCOL_FPDMA_WRITE, AGSA_SATA_PROTOCOL_PIO_WRITE, agTRUE, smSatIOContext_s::ATACmd, agsaFisRegH2DHeader_s::c_pmPort, smIniScsiCmnd_t::cdb, agsaFisRegH2DHeader_s::command, agsaFisRegH2DData_s::control, smSatIOContext_s::currentLBA, agsaFisRegHostToDevice_s::d, agsaFisRegH2DData_s::device, agsaFisRegH2DHeader_s::features, agsaFisRegH2DData_s::featuresExp, agsaFisRegH2DHeader_s::fisType, agsaFisRegHostToDevice_s::h, smSatIOContext_s::interruptContext, agsaFisRegH2DData_s::lbaHigh, agsaFisRegH2DData_s::lbaHighExp, agsaFisRegH2DData_s::lbaLow, agsaFisRegH2DData_s::lbaLowExp, agsaFisRegH2DData_s::lbaMid, agsaFisRegH2DData_s::lbaMidExp, smSatIOContext_s::LoopNum, smSatIOContext_s::OrgTL, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, smSatIOContext_s::pSense, smSatIOContext_s::pSmSenseData, smSatIOContext_s::reqType, agsaFisRegH2DData_s::reserved4, agsaFisRegH2DData_s::reserved5, smDeviceData_s::sat48BitSupport, SAT_WRITE_DMA, SAT_WRITE_DMA_EXT, SAT_WRITE_DMA_FUA_EXT, SAT_WRITE_FPDMA_QUEUED, SAT_WRITE_SECTORS, SAT_WRITE_SECTORS_EXT, smSatIOContext_s::satCompleteCB, smDeviceData_s::satDMAEnabled, smDeviceData_s::satDMASupport, smDeviceData_s::satNCQ, SCSI_FUA_NV_MASK, SCSI_LINK_MASK, SCSI_NACA_MASK, SCSI_SNSCODE_INVALID_FIELD_IN_CDB, SCSI_SNSCODE_LOGICAL_BLOCK_ADDRESS_OUT_OF_RANGE, SCSI_SNSKEY_ILLEGAL_REQUEST, SCSI_STAT_CHECK_CONDITION, SCSI_WRITE16_FUA_MASK, smScsiInitiatorRequest::scsiCmnd, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG1, SM_DBG5, SM_DBG6, sm_memset(), SM_RC_SUCCESS, smIOSuccess, smsataLLIOStart(), smsatChainedDataIOCB(), smsatCheckLimit(), smsatComputeCDB16LBA(), smsatComputeCDB16TL(), smsatComputeLoopNum(), smsatNonChainedDataIOCB(), smsatSetSensePayload(), status, and tdsmIOCompletedCB().

Referenced by smsatIOStart().

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

◆ smsatWrite6()

osGLOBAL bit32 smsatWrite6 ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

Definition at line 6142 of file smsat.c.

References AGSA_SATA_PROTOCOL_DMA_WRITE, AGSA_SATA_PROTOCOL_FPDMA_WRITE, AGSA_SATA_PROTOCOL_PIO_WRITE, agTRUE, agsaFisRegH2DHeader_s::c_pmPort, smIniScsiCmnd_t::cdb, agsaFisRegH2DHeader_s::command, agsaFisRegH2DData_s::control, agsaFisRegHostToDevice_s::d, agsaFisRegH2DData_s::device, agsaFisRegH2DHeader_s::features, agsaFisRegH2DData_s::featuresExp, agsaFisRegH2DHeader_s::fisType, agsaFisRegHostToDevice_s::h, smSatIOContext_s::interruptContext, agsaFisRegH2DData_s::lbaHigh, agsaFisRegH2DData_s::lbaHighExp, agsaFisRegH2DData_s::lbaLow, agsaFisRegH2DData_s::lbaLowExp, agsaFisRegH2DData_s::lbaMid, agsaFisRegH2DData_s::lbaMidExp, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, smSatIOContext_s::pSense, smSatIOContext_s::pSmSenseData, smSatIOContext_s::reqType, agsaFisRegH2DData_s::reserved4, agsaFisRegH2DData_s::reserved5, smDeviceData_s::sat48BitSupport, SAT_TR_LBA_LIMIT, SAT_WRITE_DMA, SAT_WRITE_DMA_EXT, SAT_WRITE_FPDMA_QUEUED, SAT_WRITE_SECTORS, SAT_WRITE_SECTORS_EXT, smSatIOContext_s::satCompleteCB, smDeviceData_s::satDMAEnabled, smDeviceData_s::satDMASupport, smDeviceData_s::satNCQ, SCSI_LINK_MASK, SCSI_NACA_MASK, SCSI_SNSCODE_INVALID_FIELD_IN_CDB, SCSI_SNSCODE_LOGICAL_BLOCK_ADDRESS_OUT_OF_RANGE, SCSI_SNSKEY_ILLEGAL_REQUEST, SCSI_STAT_CHECK_CONDITION, smScsiInitiatorRequest::scsiCmnd, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG1, SM_DBG5, SM_RC_SUCCESS, smIOSuccess, smsataLLIOStart(), smsatNonChainedDataIOCB(), smsatSetSensePayload(), status, and tdsmIOCompletedCB().

Referenced by smsatIOStart().

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

◆ smsatWrite_1()

osGLOBAL bit32 smsatWrite_1 ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

Definition at line 17352 of file smsat.c.

References agFALSE, agNULL, AGSA_SATA_PROTOCOL_DMA_WRITE, AGSA_SATA_PROTOCOL_FPDMA_WRITE, AGSA_SATA_PROTOCOL_PIO_WRITE, smSatIOContext_s::ATACmd, BIT48_ADDRESS_TL_LIMIT, agsaFisRegH2DHeader_s::c_pmPort, smIniScsiCmnd_t::cdb, agsaFisRegH2DHeader_s::command, agsaFisRegH2DData_s::control, smSatIOContext_s::currentLBA, agsaFisRegHostToDevice_s::d, agsaFisRegH2DData_s::device, agsaFisRegH2DHeader_s::features, agsaFisRegH2DData_s::featuresExp, agsaFisRegH2DHeader_s::fisType, agsaFisRegHostToDevice_s::h, agsaFisRegH2DData_s::lbaHigh, agsaFisRegH2DData_s::lbaHighExp, agsaFisRegH2DData_s::lbaLow, agsaFisRegH2DData_s::lbaLowExp, agsaFisRegH2DData_s::lbaMid, agsaFisRegH2DData_s::lbaMidExp, smSatIOContext_s::LoopNum, NON_BIT48_ADDRESS_TL_LIMIT, smSatIOContext_s::OrgTL, smSatIOContext_s::pFis, smSatIOContext_s::pScsiCmnd, smSatIOContext_s::reqType, agsaFisRegH2DData_s::reserved4, agsaFisRegH2DData_s::reserved5, SAT_WRITE_DMA, SAT_WRITE_DMA_EXT, SAT_WRITE_DMA_FUA_EXT, SAT_WRITE_FPDMA_QUEUED, SAT_WRITE_SECTORS, SAT_WRITE_SECTORS_EXT, SATA_SECTOR_SIZE, smSatIOContext_s::satCompleteCB, smSatIOContext_s::satOrgIOContext, SCSI_WRITE10_FUA_MASK, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG1, SM_DBG2, SM_DBG5, sm_memset(), SM_RC_FAILURE, smsataLLIOStart(), smsatChainedDataIOCB(), smsatSplitSGL(), smSatIOContext_s::smScsiXchg, and status.

Referenced by smsatChainedDataIOCB().

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

◆ smsatWriteAndVerify10()

osGLOBAL bit32 smsatWriteAndVerify10 ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

Definition at line 14969 of file smsat.c.

References agFALSE, AGSA_SATA_PROTOCOL_DMA_WRITE, AGSA_SATA_PROTOCOL_FPDMA_WRITE, AGSA_SATA_PROTOCOL_PIO_WRITE, agTRUE, smSatIOContext_s::ATACmd, agsaFisRegH2DHeader_s::c_pmPort, smIniScsiCmnd_t::cdb, agsaFisRegH2DHeader_s::command, agsaFisRegH2DData_s::control, smSatIOContext_s::currentLBA, agsaFisRegHostToDevice_s::d, agsaFisRegH2DData_s::device, agsaFisRegH2DHeader_s::features, agsaFisRegH2DData_s::featuresExp, agsaFisRegH2DHeader_s::fisType, agsaFisRegHostToDevice_s::h, smSatIOContext_s::interruptContext, agsaFisRegH2DData_s::lbaHigh, agsaFisRegH2DData_s::lbaHighExp, agsaFisRegH2DData_s::lbaLow, agsaFisRegH2DData_s::lbaLowExp, agsaFisRegH2DData_s::lbaMid, agsaFisRegH2DData_s::lbaMidExp, smSatIOContext_s::LoopNum, smSatIOContext_s::OrgTL, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, smSatIOContext_s::pSense, smSatIOContext_s::pSmSenseData, smSatIOContext_s::reqType, agsaFisRegH2DData_s::reserved4, agsaFisRegH2DData_s::reserved5, smDeviceData_s::sat48BitSupport, SAT_WRITE_DMA, SAT_WRITE_DMA_EXT, SAT_WRITE_DMA_FUA_EXT, SAT_WRITE_FPDMA_QUEUED, SAT_WRITE_SECTORS, SAT_WRITE_SECTORS_EXT, smSatIOContext_s::satCompleteCB, smDeviceData_s::satDMAEnabled, smDeviceData_s::satDMASupport, smDeviceData_s::satNCQ, SCSI_LINK_MASK, SCSI_NACA_MASK, SCSI_SNSCODE_INVALID_FIELD_IN_CDB, SCSI_SNSCODE_LOGICAL_BLOCK_ADDRESS_OUT_OF_RANGE, SCSI_SNSKEY_ILLEGAL_REQUEST, SCSI_STAT_CHECK_CONDITION, SCSI_WRITE_N_VERIFY10_FUA_MASK, SCSI_WRITE_N_VERIFY_BYTCHK_MASK, smScsiInitiatorRequest::scsiCmnd, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG1, SM_DBG5, sm_memset(), SM_RC_SUCCESS, smIOSuccess, smsataLLIOStart(), smsatChainedWriteNVerifyCB(), smsatCheckLimit(), smsatComputeLoopNum(), smsatNonChainedWriteNVerifyCB(), smsatSetSensePayload(), status, and tdsmIOCompletedCB().

Referenced by smsatIOStart().

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

◆ smsatWriteAndVerify12()

osGLOBAL bit32 smsatWriteAndVerify12 ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

Definition at line 15398 of file smsat.c.

References agFALSE, AGSA_SATA_PROTOCOL_DMA_WRITE, AGSA_SATA_PROTOCOL_FPDMA_WRITE, AGSA_SATA_PROTOCOL_PIO_WRITE, agTRUE, smSatIOContext_s::ATACmd, agsaFisRegH2DHeader_s::c_pmPort, smIniScsiCmnd_t::cdb, agsaFisRegH2DHeader_s::command, agsaFisRegH2DData_s::control, smSatIOContext_s::currentLBA, agsaFisRegHostToDevice_s::d, agsaFisRegH2DData_s::device, agsaFisRegH2DHeader_s::features, agsaFisRegH2DData_s::featuresExp, agsaFisRegH2DHeader_s::fisType, agsaFisRegHostToDevice_s::h, smSatIOContext_s::interruptContext, agsaFisRegH2DData_s::lbaHigh, agsaFisRegH2DData_s::lbaHighExp, agsaFisRegH2DData_s::lbaLow, agsaFisRegH2DData_s::lbaLowExp, agsaFisRegH2DData_s::lbaMid, agsaFisRegH2DData_s::lbaMidExp, smSatIOContext_s::LoopNum, smSatIOContext_s::LoopNum2, smSatIOContext_s::OrgTL, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, smSatIOContext_s::pSense, smSatIOContext_s::pSmSenseData, smSatIOContext_s::reqType, agsaFisRegH2DData_s::reserved4, agsaFisRegH2DData_s::reserved5, smDeviceData_s::sat48BitSupport, SAT_WRITE_DMA, SAT_WRITE_DMA_EXT, SAT_WRITE_DMA_FUA_EXT, SAT_WRITE_FPDMA_QUEUED, SAT_WRITE_SECTORS, SAT_WRITE_SECTORS_EXT, smSatIOContext_s::satCompleteCB, smDeviceData_s::satDMAEnabled, smDeviceData_s::satDMASupport, smDeviceData_s::satNCQ, SCSI_LINK_MASK, SCSI_NACA_MASK, SCSI_SNSCODE_INVALID_FIELD_IN_CDB, SCSI_SNSCODE_LOGICAL_BLOCK_ADDRESS_OUT_OF_RANGE, SCSI_SNSKEY_ILLEGAL_REQUEST, SCSI_STAT_CHECK_CONDITION, SCSI_WRITE12_FUA_MASK, SCSI_WRITE_N_VERIFY_BYTCHK_MASK, smScsiInitiatorRequest::scsiCmnd, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG1, SM_DBG5, SM_DBG6, sm_memset(), SM_RC_SUCCESS, smIOSuccess, smsataLLIOStart(), smsatChainedWriteNVerifyCB(), smsatCheckLimit(), smsatComputeCDB12LBA(), smsatComputeCDB12TL(), smsatComputeLoopNum(), smsatNonChainedWriteNVerifyCB(), smsatSetSensePayload(), status, and tdsmIOCompletedCB().

Referenced by smsatIOStart().

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

◆ smsatWriteAndVerify16()

osGLOBAL bit32 smsatWriteAndVerify16 ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

Definition at line 15823 of file smsat.c.

References agFALSE, AGSA_SATA_PROTOCOL_DMA_WRITE, AGSA_SATA_PROTOCOL_FPDMA_WRITE, AGSA_SATA_PROTOCOL_PIO_WRITE, agTRUE, smSatIOContext_s::ATACmd, agsaFisRegH2DHeader_s::c_pmPort, smIniScsiCmnd_t::cdb, agsaFisRegH2DHeader_s::command, agsaFisRegH2DData_s::control, smSatIOContext_s::currentLBA, agsaFisRegHostToDevice_s::d, agsaFisRegH2DData_s::device, agsaFisRegH2DHeader_s::features, agsaFisRegH2DData_s::featuresExp, agsaFisRegH2DHeader_s::fisType, agsaFisRegHostToDevice_s::h, smSatIOContext_s::interruptContext, agsaFisRegH2DData_s::lbaHigh, agsaFisRegH2DData_s::lbaHighExp, agsaFisRegH2DData_s::lbaLow, agsaFisRegH2DData_s::lbaLowExp, agsaFisRegH2DData_s::lbaMid, agsaFisRegH2DData_s::lbaMidExp, smSatIOContext_s::LoopNum, smSatIOContext_s::OrgTL, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, smSatIOContext_s::pSense, smSatIOContext_s::pSmSenseData, smSatIOContext_s::reqType, agsaFisRegH2DData_s::reserved4, agsaFisRegH2DData_s::reserved5, smDeviceData_s::sat48BitSupport, SAT_WRITE_DMA, SAT_WRITE_DMA_EXT, SAT_WRITE_DMA_FUA_EXT, SAT_WRITE_FPDMA_QUEUED, SAT_WRITE_SECTORS, SAT_WRITE_SECTORS_EXT, smSatIOContext_s::satCompleteCB, smDeviceData_s::satDMAEnabled, smDeviceData_s::satDMASupport, smDeviceData_s::satNCQ, SCSI_LINK_MASK, SCSI_NACA_MASK, SCSI_SNSCODE_INVALID_FIELD_IN_CDB, SCSI_SNSCODE_LOGICAL_BLOCK_ADDRESS_OUT_OF_RANGE, SCSI_SNSKEY_ILLEGAL_REQUEST, SCSI_STAT_CHECK_CONDITION, SCSI_WRITE16_FUA_MASK, SCSI_WRITE_N_VERIFY_BYTCHK_MASK, smScsiInitiatorRequest::scsiCmnd, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG1, SM_DBG5, SM_DBG6, sm_memset(), SM_RC_SUCCESS, smIOSuccess, smsataLLIOStart(), smsatChainedWriteNVerifyCB(), smsatCheckLimit(), smsatComputeCDB16LBA(), smsatComputeCDB16TL(), smsatComputeLoopNum(), smsatNonChainedWriteNVerifyCB(), smsatSetSensePayload(), status, and tdsmIOCompletedCB().

Referenced by smsatIOStart().

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

◆ smsatWriteBuffer()

osGLOBAL bit32 smsatWriteBuffer ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

Definition at line 16707 of file smsat.c.

References agNULL, AGSA_SATA_PROTOCOL_PIO_READ, AGSA_SATA_PROTOCOL_PIO_WRITE, agsaFisRegH2DHeader_s::c_pmPort, smIniScsiCmnd_t::cdb, agsaFisRegH2DHeader_s::command, agsaFisRegH2DData_s::control, agsaFisRegHostToDevice_s::d, agsaFisRegH2DData_s::device, agsaFisRegH2DHeader_s::features, agsaFisRegH2DData_s::featuresExp, agsaFisRegH2DHeader_s::fisType, agsaFisRegHostToDevice_s::h, smSatIOContext_s::interruptContext, agsaFisRegH2DData_s::lbaHigh, agsaFisRegH2DData_s::lbaHighExp, agsaFisRegH2DData_s::lbaLow, agsaFisRegH2DData_s::lbaLowExp, agsaFisRegH2DData_s::lbaMid, agsaFisRegH2DData_s::lbaMidExp, smSatIOContext_s::pFis, smSatIOContext_s::pSense, smSatIOContext_s::pSmSenseData, smSatIOContext_s::reqType, agsaFisRegH2DData_s::reserved4, agsaFisRegH2DData_s::reserved5, SAT_WRITE_BUFFER, smSatIOContext_s::satCompleteCB, SCSI_LINK_MASK, SCSI_NACA_MASK, SCSI_READ_BUFFER_MODE_MASK, SCSI_SNSCODE_INVALID_COMMAND, SCSI_SNSCODE_INVALID_FIELD_IN_CDB, SCSI_SNSKEY_ILLEGAL_REQUEST, SCSI_STAT_CHECK_CONDITION, SCSI_STAT_GOOD, smScsiInitiatorRequest::scsiCmnd, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, smScsiInitiatorRequest::sglVirtualAddr, SM_DBG1, SM_DBG5, SM_RC_SUCCESS, smhexdump(), smIOSuccess, smsataLLIOStart(), smsatSetSensePayload(), smsatWriteBufferCB(), status, tdsmIOCompletedCB(), WRITE_BUFFER_DATA_MODE, and WRITE_BUFFER_DL_MICROCODE_SAVE_MODE.

Referenced by smsatIOStart().

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

◆ smsatWriteBufferCB()

◆ smsatWriteSame10()

osGLOBAL bit32 smsatWriteSame10 ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

Definition at line 12498 of file smsat.c.

References AGSA_SATA_PROTOCOL_DMA_WRITE, AGSA_SATA_PROTOCOL_FPDMA_WRITE, AGSA_SATA_PROTOCOL_PIO_WRITE, agTRUE, agsaFisRegH2DHeader_s::c_pmPort, smIniScsiCmnd_t::cdb, agsaFisRegH2DHeader_s::command, agsaFisRegH2DData_s::control, agsaFisRegHostToDevice_s::d, agsaFisRegH2DData_s::device, agsaFisRegH2DHeader_s::features, agsaFisRegH2DData_s::featuresExp, agsaFisRegH2DHeader_s::fisType, agsaFisRegHostToDevice_s::h, smSatIOContext_s::interruptContext, agsaFisRegH2DData_s::lbaHigh, agsaFisRegH2DData_s::lbaHighExp, agsaFisRegH2DData_s::lbaLow, agsaFisRegH2DData_s::lbaLowExp, agsaFisRegH2DData_s::lbaMid, agsaFisRegH2DData_s::lbaMidExp, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, smSatIOContext_s::pSense, smSatIOContext_s::pSmSenseData, smSatIOContext_s::reqType, agsaFisRegH2DData_s::reserved4, agsaFisRegH2DData_s::reserved5, smDeviceData_s::sat48BitSupport, SAT_TR_LBA_LIMIT, SAT_WRITE_DMA_EXT, SAT_WRITE_FPDMA_QUEUED, SAT_WRITE_SECTORS_EXT, smSatIOContext_s::satCompleteCB, smDeviceData_s::satDMAEnabled, smDeviceData_s::satDMASupport, smDeviceData_s::satMaxUserAddrSectors, smDeviceData_s::satNCQ, SCSI_LINK_MASK, SCSI_NACA_MASK, SCSI_SNSCODE_INVALID_FIELD_IN_CDB, SCSI_SNSCODE_LOGICAL_BLOCK_ADDRESS_OUT_OF_RANGE, SCSI_SNSKEY_ILLEGAL_REQUEST, SCSI_STAT_CHECK_CONDITION, SCSI_WRITE_SAME_LBDATA_MASK, SCSI_WRITE_SAME_PBDATA_MASK, smScsiInitiatorRequest::scsiCmnd, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG1, SM_DBG5, SM_RC_SUCCESS, smIOSuccess, smsataLLIOStart(), smsatSetSensePayload(), smsatWriteSame10CB(), status, and tdsmIOCompletedCB().

Referenced by smsatIOStart().

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

◆ smsatWriteSame10_1()

◆ smsatWriteSame10_2()

◆ smsatWriteSame10_3()

◆ smsatWriteSame10CB()

osGLOBAL void smsatWriteSame10CB ( agsaRoot_t agRoot,
agsaIORequest_t agIORequest,
bit32  agIOStatus,
agsaFisHeader_t agFirstDword,
bit32  agIOInfoLen,
agsaFrameHandle_t  agFrameHandle,
void *  ioContext 
)

Definition at line 3947 of file smsatcb.c.

References agFALSE, agNULL, smIORequestBody_s::agSATARequestBody, agTRUE, smIniScsiCmnd_t::cdb, agsaFisRegH2DHeader_s::command, agsaFisHeader_s::D2H, DF_ATA_STATUS_MASK, ERR_ATA_STATUS_MASK, agsaSATAInitiatorRequest_s::fis, agsaSATAHostFis_u::fisRegHostToDev, agsaFisRegD2HHeader_s::fisType, agsaFisRegHostToDevice_s::h, smSatIOContext_s::interruptContext, smIORequestBody_s::ioCompleted, smIORequestBody_s::ioStarted, agsaContext_s::osData, OSSA_IO_ABORTED, OSSA_IO_SUCCESS, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, smSatIOContext_s::pScsiCmnd, smSatIOContext_s::pSense, smSatIOContext_s::psmDeviceHandle, smSatIOContext_s::pSmSenseData, REG_DEV_TO_HOST_FIS, SAT_WRITE_DMA_EXT, SAT_WRITE_FPDMA_QUEUED, SAT_WRITE_SECTORS_EXT, smIORequestBody_s::SATA, smSatIOContext_s::satIntIoContext, smSatInternalIo_s::satIntRequestBody, smSatInternalIo_s::satIntSmIORequest, smSatInternalIo_s::satIntSmScsiXchg, smIORequestBody_s::satIOContext, smSatIOContext_s::satOrgIOContext, smDeviceData_s::satSectorDone, SCSI_SNSCODE_NO_ADDITIONAL_INFO, SCSI_SNSKEY_NO_SENSE, SCSI_STAT_CHECK_CONDITION, SCSI_STAT_GOOD, smScsiInitiatorRequest::scsiCmnd, smSenseData_t::senseData, smIORequestBody_s::sensePayload, SET_DEV_BITS_FIS, SM_DBG1, SM_DBG2, SM_DBG4, SM_DBG5, SM_EXTERNAL_IO_LOCK, sm_memcpy(), SM_RC_SUCCESS, smIntRoot_s::smAllShared, smContext_t::smData, smIORequestBody_s::smIORequest, smIOSuccess, smSatIOContext_s::smRequestBody, smDeviceData_s::smRoot, smsatAllocIntIoResource(), smsatDecrementPendingIO(), smsatFreeIntIoResource(), smsatProcessAbort(), smsatSetSensePayload(), smsatWriteSame10_1(), smsatWriteSame10_2(), smsatWriteSame10_3(), smSatIOContext_s::smScsiXchg, smIORequestBody_s::smSenseData, status, agsaFisRegD2HHeader_s::status, agsaFisSetDevBitsHeader_s::statusHi_Lo, tdsmIOCompletedCB(), tdsmSingleThreadedEnter(), tdsmSingleThreadedLeave(), tiError, and smIORequestBody_s::transport.

Referenced by smsatWriteSame10(), smsatWriteSame10_1(), smsatWriteSame10_2(), and smsatWriteSame10_3().

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

◆ smsatWriteSame16()

osGLOBAL bit32 smsatWriteSame16 ( smRoot_t smRoot,
smIORequest_t smIORequest,
smDeviceHandle_t smDeviceHandle,
smScsiInitiatorRequest_t smScsiRequest,
smSatIOContext_t satIOContext 
)

◆ smSetTimerRequest()

osGLOBAL void smSetTimerRequest ( smRoot_t smRoot,
smTimerRequest_t timerRequest,
bit32  timeout,
smTimerCBFunc_t  CBFunc,
void *  timerData1,
void *  timerData2,
void *  timerData3 
)

◆ smSMPCompleted()

◆ smSMPCompletedCB()

osGLOBAL void smSMPCompletedCB ( agsaRoot_t agRoot,
agsaIORequest_t agIORequest,
bit32  agIOStatus,
bit32  agIOInfoLen,
agsaFrameHandle_t  agFrameHandle 
)

Definition at line 10871 of file smsatcb.c.

References agNULL, agsaContext_s::osData, SM_DBG1, SM_DBG2, and smSMPRequestBody_s::SMPCompletionFunc.

Referenced by smPhyControlSend().

Here is the caller graph for this function:

◆ smTimerTick()

osGLOBAL void smTimerTick ( smRoot_t smRoot)

Definition at line 45 of file smtimer.c.

References SM_DBG6, and smProcessTimers().

Referenced by tiCOMTimerTick().

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