FreeBSD kernel pms device code
|
#include <dev/pms/RefTisa/sat/src/smtypes.h>
Go to the source code of this file.
osGLOBAL FORCEINLINE void * sm_memcpy | ( | void * | dst, |
const void * | src, | ||
bit32 | count | ||
) |
Definition at line 60 of file smmisc.c.
Referenced by smPhyControlSend(), smsataLLIOStart(), smsatCheckLimit(), smsatInquiryCB(), smsatInquiryIntCB(), smsatInquiryPage89(), smsatLogSense(), smsatLogSenseCB(), smsatModeSense10(), smsatModeSense6(), smsatPrepareNewIO(), smsatReadCapacity10(), smsatReadCapacity16(), smsatReadMediaSerialNumber(), smsatReadMediaSerialNumberCB(), smsatReassignBlocks(), smsatReassignBlocks_1(), smsatReportLun(), smsatRequestSense(), smsatRequestSenseCB(), smsatRequestSenseForATAPICB(), smsatSplitSGL(), and smsatWriteSame10CB().
osGLOBAL FORCEINLINE void * sm_memset | ( | void * | s, |
int | c, | ||
bit32 | n | ||
) |
Definition at line 45 of file smmisc.c.
Referenced by smDeviceDataInit(), smDeviceDataReInit(), smGetRequirements(), smInitialize(), smIOInit(), smPhyControlSend(), smsatChainedVerify(), smsatChainedWriteNVerify_Start_Verify(), smsatChainedWriteNVerify_Verify(), smsatChainedWriteNVerify_Write(), smsatCheckLimit(), smsatLogSense(), smsatRead12(), smsatRead16(), smsatRead_1(), smsatReassignBlocks(), smsatReassignBlocks_1(), smsatVerify10(), smsatVerify12(), smsatVerify16(), smsatWrite12(), smsatWrite16(), smsatWrite_1(), smsatWriteAndVerify10(), smsatWriteAndVerify12(), and smsatWriteAndVerify16().
Definition at line 76 of file smmisc.c.
Referenced by smsatInquiryPage83(), smsatInquiryPage89(), and smsatInquiryStandard().
osGLOBAL void smAddTimer | ( | smRoot_t * | smRoot, |
smList_t * | timerListHdr, | ||
smTimerRequest_t * | timerRequest | ||
) |
Definition at line 87 of file smtimer.c.
References agTRUE, SM_TIMER_LOCK, SMLIST_ENQUEUE_AT_TAIL, tdsmSingleThreadedEnter(), tdsmSingleThreadedLeave(), smTimerRequest_s::timerLink, and smTimerRequest_s::timerRunning.
osGLOBAL smDeviceData_t * smAddToSharedcontext | ( | smRoot_t * | smRoot, |
agsaDevHandle_t * | agDevHandle, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
agsaDevHandle_t * | agExpDevHandle, | ||
bit32 | phyID | ||
) |
Definition at line 1771 of file smsat.c.
References smDeviceData_s::agDevHandle, smDeviceData_s::agExpDevHandle, agFALSE, agNULL, agTRUE, smDeviceData_s::directlyAttached, smList_s::flink, smDeviceData_s::id, smDeviceData_s::MainLink, smDeviceData_s::phyID, smDeviceData_s::satPendingIO, smDeviceData_s::satPendingNCQIO, smDeviceData_s::satPendingNONNCQIO, SM_DBG1, SM_DBG2, SM_DEVICE_LOCK, smIntRoot_s::smAllShared, smContext_t::smData, smDeviceData_s::smDevHandle, SMLIST_DEQUEUE_FROM_HEAD, SMLIST_EMPTY, SMLIST_ENQUEUE_AT_TAIL, SMLIST_OBJECT_BASE, smDeviceData_s::smRoot, tdsmSingleThreadedEnter(), tdsmSingleThreadedLeave(), and smDeviceData_s::valid.
Referenced by smRegisterDevice().
osGLOBAL void smaSATAAbortCB | ( | agsaRoot_t * | agRoot, |
agsaIORequest_t * | agIORequest, | ||
bit32 | flag, | ||
bit32 | status | ||
) |
Definition at line 11998 of file smsatcb.c.
References agFALSE, agNULL, agTRUE, gsmRoot, smIORequestBody_s::InitiatorTMIO, smIORequestBody_s::IOType, smDeviceData_s::OSAbortAll, agsaContext_s::osData, smIORequestBody_s::osMemHandle, OSSA_IO_ABORT_DELAYED, OSSA_IO_ABORT_IN_PROGRESS, OSSA_IO_NO_DEVICE, OSSA_IO_NOT_VALID, OSSA_IO_SUCCESS, ostiInitiatorEvent(), smIORequestBody_s::SATA, smIORequestBody_s::satIOContext, SM_DBG1, smContext_t::smData, smIORequestBody_s::smDevHandle, smIntrEventTypeLocalAbort, smTMOK, status, tdsmEventCB(), tdsmFreeMemory(), tiAbortOK, tiIntrEventTypeLocalAbort, and smIORequestBody_s::transport.
Referenced by smIOAbort(), smIOAbortAll(), smsatAbort(), and smsatReadLogExtCB().
osGLOBAL smIORequestBody_t * smDequeueIO | ( | smRoot_t * | smRoot | ) |
Definition at line 683 of file smsat.c.
References agNULL, agTRUE, smList_s::blink, smList_s::flink, smIORequestBody_s::id, smIORequestBody_s::InUse, smIORequestBody_s::satIoBodyLink, SM_DBG1, SM_DBG2, SM_EXTERNAL_IO_LOCK, smIntRoot_s::smAllShared, smContext_t::smData, smIOReInit(), SMLIST_DEQUEUE_FROM_HEAD, SMLIST_DEQUEUE_THIS, SMLIST_EMPTY, SMLIST_ENQUEUE_AT_TAIL, SMLIST_OBJECT_BASE, tdsmSingleThreadedEnter(), and tdsmSingleThreadedLeave().
Definition at line 370 of file sminit.c.
References smDeviceData_s::agDevHandle, smDeviceData_s::agExpDevHandle, agFALSE, agNULL, smDeviceData_s::directlyAttached, smDeviceData_s::freeSATAFDMATagBitmap, smDeviceData_s::id, smDeviceData_s::ID_Retries, smDeviceData_s::IDDeviceValid, smDeviceData_s::NumOfFCA, smDeviceData_s::NumOfIDRetries, smDeviceData_s::OSAbortAll, smDeviceData_s::phyID, SAT_DEV_STATE_NORMAL, SAT_MAX_INT_IO, SAT_NCQ_MAX, smDeviceData_s::satDriveState, smDeviceData_s::satFreeIntIoLinkList, smDeviceData_s::satIntIo, smDeviceData_s::satNCQMaxIO, smDeviceData_s::satPendingIO, smDeviceData_s::satPendingNCQIO, smDeviceData_s::satPendingNONNCQIO, smDeviceData_s::satSaDeviceData, SM_DBG2, sm_memset(), smDeviceData_s::SMAbortAll, smIntRoot_s::smAllShared, smContext_t::smData, smDeviceData_s::smDevHandle, smInitTimerRequest(), SMLIST_ENQUEUE_AT_TAIL, SMLIST_INIT_ELEMENT, SMLIST_INIT_HDR, smDeviceData_s::SMNumOfFCA, smDeviceData_s::smRoot, and smDeviceData_s::valid.
Referenced by smInitialize().
osGLOBAL void smDeviceDataReInit | ( | smRoot_t * | smRoot, |
smDeviceData_t * | oneDeviceData | ||
) |
Definition at line 314 of file sminit.c.
References smDeviceData_s::agDevHandle, smDeviceData_s::agExpDevHandle, agFALSE, agNULL, smDeviceData_s::directlyAttached, smDeviceData_s::freeSATAFDMATagBitmap, smSatInternalIo_s::id, smDeviceData_s::id, smDeviceData_s::ID_Retries, smDeviceData_s::IDDeviceValid, smDeviceData_s::NumOfFCA, smDeviceData_s::NumOfIDRetries, smDeviceData_s::OSAbortAll, smDeviceData_s::phyID, SAT_DEV_STATE_NORMAL, SAT_MAX_INT_IO, SAT_NCQ_MAX, smDeviceData_s::satDriveState, smDeviceData_s::satIdentifyData, smDeviceData_s::satIntIo, smDeviceData_s::satMaxLBA, smDeviceData_s::satNCQMaxIO, smDeviceData_s::satPendingIO, smDeviceData_s::satPendingNCQIO, smDeviceData_s::satPendingNONNCQIO, smDeviceData_s::satSaDeviceData, SM_DBG1, SM_DBG2, sm_memset(), smDeviceData_s::SMAbortAll, smDeviceData_s::smDevHandle, smDeviceData_s::SMNumOfFCA, smsatFreeIntIoResource(), and smDeviceData_s::valid.
Referenced by smRemoveFromSharedcontext().
osGLOBAL void smEnqueueIO | ( | smRoot_t * | smRoot, |
smSatIOContext_t * | satIOContext | ||
) |
Definition at line 1425 of file smsat.c.
References agFALSE, agNULL, agTRUE, smList_s::blink, smList_s::flink, smIntContext_s::freeIOList, smIORequestBody_s::id, smIORequestBody_s::InUse, smSatIOContext_s::satIntIoContext, smIORequestBody_s::satIoBodyLink, SM_DBG1, SM_DBG2, SM_DBG3, SM_EXTERNAL_IO_LOCK, smIntRoot_s::smAllShared, smContext_t::smData, smIORequestBody_s::smIORequest, SMLIST_DEQUEUE_THIS, SMLIST_ENQUEUE_AT_TAIL, smSatIOContext_s::smRequestBody, tdsmSingleThreadedEnter(), and tdsmSingleThreadedLeave().
osGLOBAL smDeviceData_t * smFindInSharedcontext | ( | smRoot_t * | smRoot, |
agsaDevHandle_t * | agDevHandle | ||
) |
Definition at line 1917 of file smsat.c.
References smDeviceData_s::agDevHandle, agNULL, agTRUE, smList_s::flink, smDeviceData_s::id, SM_DBG1, SM_DBG2, SM_DEVICE_LOCK, smIntRoot_s::smAllShared, smContext_t::smData, SMLIST_EMPTY, SMLIST_OBJECT_BASE, tdsmSingleThreadedEnter(), tdsmSingleThreadedLeave(), and smDeviceData_s::valid.
Referenced by smRemoveFromSharedcontext().
hexidecimal dump
Definition at line 91 of file smmisc.c.
References SM_DBG1.
Referenced by ossaSATAEvent(), smsataLLIOStart(), smsatDeResetDevice(), smsatIDStart(), smsatIDStartCB(), smsatInquiryCB(), smsatModeSelect10(), smsatReadMediaSerialNumber(), smsatReassignBlocks(), smsatResetDevice(), smsatSendIDDev(), and smsatWriteBuffer().
osGLOBAL void smInitTimerRequest | ( | smRoot_t * | smRoot, |
smTimerRequest_t * | timerRequest | ||
) |
Definition at line 55 of file smtimer.c.
References agNULL, SMLIST_INIT_ELEMENT, smTimerRequest_s::timeout, smTimerRequest_s::timerCBFunc, smTimerRequest_s::timerData1, smTimerRequest_s::timerData2, smTimerRequest_s::timerData3, and smTimerRequest_s::timerLink.
Referenced by smDeviceDataInit().
Definition at line 298 of file sminit.c.
References SM_DBG2, smIntRoot_s::smAllShared, smContext_t::smData, and SMLIST_INIT_HDR.
Referenced by smInitialize().
Definition at line 446 of file sminit.c.
References agFALSE, agNULL, smIORequestBody_s::agSATARequestBody, smIORequestBody_s::id, smIORequestBody_s::InUse, smIORequestBody_s::ioCompleted, smIORequestBody_s::ioStarted, smIORequestBody_s::reTries, smIORequestBody_s::SATA, smIORequestBody_s::satIOContext, smSatIOContext_s::satOrgIOContext, SM_DBG3, SM_MAX_IO, sm_memset(), smIntRoot_s::smAllShared, smContext_t::smData, smIORequestBody_s::smDevHandle, smIORequestBody_s::smIORequest, smIORequestBody_s::smIOToBeAbortedRequest, SMLIST_ENQUEUE_AT_TAIL, SMLIST_INIT_ELEMENT, SMLIST_INIT_HDR, and smIORequestBody_s::transport.
Referenced by smInitialize().
osGLOBAL FORCEINLINE void smIOReInit | ( | smRoot_t * | smRoot, |
smIORequestBody_t * | smIORequestBody | ||
) |
Definition at line 484 of file sminit.c.
References agFALSE, agNULL, agTRUE, smIORequestBody_s::InUse, smIORequestBody_s::ioCompleted, smIORequestBody_s::ioStarted, smIORequestBody_s::reTries, smIORequestBody_s::SATA, smIORequestBody_s::satIOContext, smSatIOContext_s::satOrgIOContext, SM_DBG3, smIORequestBody_s::smDevHandle, smIORequestBody_s::smIORequest, smIORequestBody_s::smIOToBeAbortedRequest, and smIORequestBody_s::transport.
Referenced by smDequeueIO(), smIDStart(), smIOAbort(), smIOAbortAll(), smIOStart(), smsatAbort(), smsatReadLogExtCB(), smSuperIOStart(), and smTaskManagement().
osGLOBAL void smKillTimer | ( | smRoot_t * | smRoot, |
smTimerRequest_t * | timerRequest | ||
) |
Definition at line 100 of file smtimer.c.
References agFALSE, SM_TIMER_LOCK, SMLIST_DEQUEUE_THIS, tdsmSingleThreadedEnter(), tdsmSingleThreadedLeave(), smTimerRequest_s::timerLink, and smTimerRequest_s::timerRunning.
osGLOBAL FORCEINLINE void smllSATACompleted | ( | agsaRoot_t * | agRoot, |
agsaIORequest_t * | agIORequest, | ||
bit32 | agIOStatus, | ||
void * | agFirstDword, | ||
bit32 | agIOInfoLen, | ||
void * | agParam | ||
) |
Definition at line 49 of file smsatcb.c.
References agNULL, AGSA_SATA_PROTOCOL_FPDMA_READ, AGSA_SATA_PROTOCOL_FPDMA_WRITE, agTRUE, smDeviceData_s::id, smIORequestBody_s::id, smIORequestBody_s::ioCompleted, agsaContext_s::osData, OSSA_IO_DS_IN_RECOVERY, OSSA_IO_DS_NON_OPERATIONAL, OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS, smSatIOContext_s::pSatDevData, smSatIOContext_s::reqType, smIORequestBody_s::SATA, smSatIOContext_s::sataTag, smSatIOContext_s::satCompleteCB, smSatIOContext_s::satIntIoContext, smIORequestBody_s::satIOContext, SM_DBG1, SM_DBG2, SM_DBG3, smContext_t::smData, smIORequestBody_s::smDevHandle, smDeviceData_s::smRoot, smsatTagRelease(), and smIORequestBody_s::transport.
Referenced by smsataLLIOStart().
osGLOBAL void smLocalPhyControlCB | ( | agsaRoot_t * | agRoot, |
agsaContext_t * | agContext, | ||
bit32 | phyId, | ||
bit32 | phyOperation, | ||
bit32 | status, | ||
void * | parm | ||
) |
Definition at line 12145 of file smsatcb.c.
References smDeviceData_s::agDevHandle, agNULL, AGSA_PHY_HARD_RESET, AGSA_PHY_LINK_RESET, gsmRoot, agsaContext_s::osData, OSSA_SUCCESS, SA_DS_OPERATIONAL, saSetDeviceState(), SAT_DEV_STATE_NORMAL, smDeviceData_s::satDriveState, smDeviceData_s::satNCQMaxIO, smDeviceData_s::satPendingIO, smDeviceData_s::satPendingNCQIO, smDeviceData_s::satPendingNONNCQIO, SM_DBG1, SM_DBG2, smContext_t::smData, smIORequestBody_s::smDevHandle, smIntrEventTypeTaskManagement, smTMFailed, smTMOK, status, tdsmEventCB(), and tdsmRotateQnumber().
Referenced by smTaskManagement().
osGLOBAL void smPhyControlRespRcvd | ( | smRoot_t * | smRoot, |
agsaRoot_t * | agRoot, | ||
agsaIORequest_t * | agIORequest, | ||
smDeviceData_t * | oneDeviceData, | ||
smSMPFrameHeader_t * | frameHeader, | ||
agsaFrameHandle_t | frameHandle, | ||
smIORequest_t * | CurrentTaskTag | ||
) |
Definition at line 11050 of file smsatcb.c.
References smDeviceData_s::agDevHandle, agNULL, SA_DS_OPERATIONAL, saSetDeviceState(), SAT_DEV_STATE_NORMAL, smDeviceData_s::satDriveState, SM_DBG1, SM_DBG2, smContext_t::smData, smSMPRequestBody_s::smDevHandle, smSMPRequestBody_s::smDeviceData, smIntrEventTypeTaskManagement, SMP_FUNCTION_ACCEPTED, smSMPFrameHeader_s::smpFunctionResult, smTMFailed, smTMOK, tdsmEventCB(), and tdsmRotateQnumber().
Referenced by smSMPCompleted().
osGLOBAL bit32 smPhyControlSend | ( | smRoot_t * | smRoot, |
smDeviceData_t * | oneDeviceData, | ||
bit8 | phyOp, | ||
smIORequest_t * | CurrentTaskTag, | ||
bit32 | queueNumber | ||
) |
Definition at line 1182 of file smsat.c.
References smDeviceData_s::agExpDevHandle, smSMPRequestBody_s::agIORequest, agNULL, AGSA_RC_BUSY, AGSA_RC_SUCCESS, AGSA_SMP_INIT_REQ, smSMPRequestBody_s::agSASRequestBody, agTRUE, smSMPRequestBody_s::CurrentTaskTag, agsaSMPFrame_s::expectedRespLen, agsaSMPFrame_s::flag, agsaSMPFrame_s::inFrameLen, agsaContext_s::osData, smSMPRequestBody_s::osMemHandle, agsaSMPFrame_s::outFrameBuf, agsaSMPFrame_s::outFrameLen, smDeviceData_s::phyID, smpReqPhyControl_s::phyIdentifier, smpReqPhyControl_s::phyOperation, smSMPRequestBody_s::retries, saSMPStart(), agsaContext_s::sdkData, SM_DBG1, SM_DBG2, SM_DBG3, SM_DBG4, SM_DBG5, sm_memcpy(), sm_memset(), SM_RC_BUSY, SM_RC_FAILURE, SM_RC_SUCCESS, smIntRoot_s::smAllShared, smContext_t::smData, smDeviceData_s::smDevHandle, smSMPRequestBody_s::smDevHandle, smSMPRequestBody_s::smDeviceData, SMIsSPC, SMP_DIRECT_PAYLOAD_LIMIT, SMP_PHY_CONTROL, SMP_REQUEST, smSMPRequestBody_s::SMPCompletionFunc, agsaSASRequestBody_u::smpFrame, smSMPFrameHeader_s::smpFrameType, smSMPFrameHeader_s::smpFunction, smSMPFrameHeader_s::smpFunctionResult, smSMPRequestBody_s::smpPayload, smSMPFrameHeader_s::smpReserved, smSMPCompleted(), smSMPCompletedCB(), status, tdsmAllocMemory(), and tdsmFreeMemory().
Referenced by ossaSATAEvent(), and smTaskManagement().
Definition at line 112 of file smtimer.c.
References agFALSE, agNULL, smList_s::flink, SM_DBG1, SM_TIMER_LOCK, smIntRoot_s::smAllShared, smContext_t::smData, SMLIST_DEQUEUE_THIS, SMLIST_OBJECT_BASE, tdsmSingleThreadedEnter(), tdsmSingleThreadedLeave(), smTimerRequest_s::timeout, smTimerRequest_s::timerCBFunc, smTimerRequest_s::timerData1, smTimerRequest_s::timerData2, smTimerRequest_s::timerData3, and smTimerRequest_s::timerRunning.
Referenced by smTimerTick().
osGLOBAL bit32 smRemoveFromSharedcontext | ( | smRoot_t * | smRoot, |
agsaDevHandle_t * | agDevHandle, | ||
smDeviceHandle_t * | smDeviceHandle | ||
) |
Definition at line 1874 of file smsat.c.
References agNULL, agTRUE, smDeviceData_s::FreeLink, smDeviceData_s::id, smDeviceData_s::MainLink, SM_DBG1, SM_DBG2, SM_DEVICE_LOCK, SM_RC_FAILURE, SM_RC_SUCCESS, smIntRoot_s::smAllShared, smContext_t::smData, smDeviceDataReInit(), smFindInSharedcontext(), SMLIST_DEQUEUE_THIS, SMLIST_ENQUEUE_AT_TAIL, tdsmSingleThreadedEnter(), tdsmSingleThreadedLeave(), and smDeviceData_s::valid.
Referenced by smDeregisterDevice().
osGLOBAL void smsatAbort | ( | smRoot_t * | smRoot, |
agsaRoot_t * | agRoot, | ||
smSatIOContext_t * | satIOContext | ||
) |
Definition at line 732 of file smsat.c.
References smIORequestBody_s::agIORequest, agNULL, agTRUE, smIORequestBody_s::InitiatorTMIO, smIORequestBody_s::IOType, agsaContext_s::osData, smIORequestBody_s::osMemHandle, saSATAAbort(), smIORequestBody_s::SATA, smIORequestBody_s::satIOContext, agsaContext_s::sdkData, SM_DBG1, SM_DBG2, smaSATAAbortCB(), smIORequestBody_s::smDevHandle, smIOReInit(), smSatIOContext_s::smRequestBody, tdsmAllocMemory(), tiSuccess, and smIORequestBody_s::transport.
Referenced by smsatCheckPowerModeCB(), smsatDeResetDeviceCB(), and smsatDeviceResetCB().
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().
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().
osGLOBAL FORCEINLINE void smsatBitClear | ( | smRoot_t * | smRoot, |
bit8 * | data, | ||
bit32 | index | ||
) |
Definition at line 20133 of file smsat.c.
References index.
Referenced by smsatTagRelease().
osGLOBAL FORCEINLINE void smsatBitSet | ( | smRoot_t * | smRoot, |
bit8 * | data, | ||
bit32 | index | ||
) |
Definition at line 20127 of file smsat.c.
References index.
Referenced by smsatTagAlloc().
Definition at line 20139 of file smsat.c.
References index.
Referenced by smsatTagAlloc().
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().
osGLOBAL bit32 smsatChainedVerify | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smScsiRequest, | ||
smSatIOContext_t * | satIOContext | ||
) |
Definition at line 18467 of file smsat.c.
References agNULL, AGSA_SATA_PROTOCOL_NON_DATA, smSatIOContext_s::ATACmd, agsaFisRegH2DHeader_s::c_pmPort, 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, smSatIOContext_s::OrgTL, smSatIOContext_s::pFis, smSatIOContext_s::reqType, agsaFisRegH2DData_s::reserved4, agsaFisRegH2DData_s::reserved5, SAT_READ_VERIFY_SECTORS, SAT_READ_VERIFY_SECTORS_EXT, smSatIOContext_s::satCompleteCB, smSatIOContext_s::satOrgIOContext, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG1, SM_DBG2, SM_DBG5, sm_memset(), smsataLLIOStart(), smsatChainedVerifyCB(), status, and tiError.
Referenced by 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().
osGLOBAL bit32 smsatChainedWriteNVerify_Start_Verify | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smScsiRequest, | ||
smSatIOContext_t * | satIOContext | ||
) |
Definition at line 17900 of file smsat.c.
References 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, 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::reqType, agsaFisRegH2DData_s::reserved4, agsaFisRegH2DData_s::reserved5, smDeviceData_s::sat48BitSupport, SAT_READ_VERIFY_SECTORS, SAT_READ_VERIFY_SECTORS_EXT, smSatIOContext_s::satCompleteCB, smScsiInitiatorRequest::scsiCmnd, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG1, SM_DBG5, sm_memset(), smsataLLIOStart(), smsatChainedWriteNVerifyCB(), smsatComputeCDB12LBA(), smsatComputeCDB12TL(), smsatComputeLoopNum(), smsatNonChainedWriteNVerifyCB(), and status.
Referenced by smsatChainedWriteNVerifyCB().
osGLOBAL bit32 smsatChainedWriteNVerify_Verify | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smScsiRequest, | ||
smSatIOContext_t * | satIOContext | ||
) |
Definition at line 18328 of file smsat.c.
References agNULL, AGSA_SATA_PROTOCOL_NON_DATA, smSatIOContext_s::ATACmd, agsaFisRegH2DHeader_s::c_pmPort, 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, smSatIOContext_s::OrgTL, smSatIOContext_s::pFis, smSatIOContext_s::reqType, agsaFisRegH2DData_s::reserved4, agsaFisRegH2DData_s::reserved5, SAT_READ_VERIFY_SECTORS, SAT_READ_VERIFY_SECTORS_EXT, smSatIOContext_s::satCompleteCB, smSatIOContext_s::satOrgIOContext, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG1, SM_DBG2, SM_DBG5, sm_memset(), SM_RC_FAILURE, smsataLLIOStart(), smsatChainedWriteNVerifyCB(), and status.
Referenced by smsatChainedWriteNVerifyCB().
osGLOBAL bit32 smsatChainedWriteNVerify_Write | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smScsiRequest, | ||
smSatIOContext_t * | satIOContext | ||
) |
Definition at line 18066 of file smsat.c.
References agNULL, AGSA_SATA_PROTOCOL_DMA_WRITE, AGSA_SATA_PROTOCOL_FPDMA_WRITE, AGSA_SATA_PROTOCOL_PIO_WRITE, 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, 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::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, smSatIOContext_s::satCompleteCB, smSatIOContext_s::satOrgIOContext, SCSI_WRITE10_FUA_MASK, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG1, SM_DBG5, sm_memset(), SM_RC_FAILURE, smsataLLIOStart(), smsatChainedWriteNVerifyCB(), and status.
Referenced by 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().
osGLOBAL FORCEINLINE bit32 smsatCheckLimit | ( | bit8 * | lba, |
bit8 * | tl, | ||
int | flag, | ||
smDeviceData_t * | pSatDevData | ||
) |
Definition at line 20359 of file smsat.c.
References agFALSE, agTRUE, smDeviceData_s::ReadCapacity, smDeviceData_s::satMaxLBA, SM_DBG1, SM_DBG5, sm_memcpy(), and sm_memset().
Referenced by smsatRead10(), smsatRead12(), smsatRead16(), smsatVerify10(), smsatVerify12(), smsatVerify16(), smsatWrite10(), smsatWrite12(), smsatWrite16(), smsatWriteAndVerify10(), smsatWriteAndVerify12(), and smsatWriteAndVerify16().
osGLOBAL bit32 smsatCheckPowerMode | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smScsiRequest, | ||
smSatIOContext_t * | satIOContext | ||
) |
Definition at line 19658 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_CHECK_POWER_MODE, smSatIOContext_s::satCompleteCB, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG1, SM_DBG5, smsataLLIOStart(), smsatCheckPowerModeCB(), and status.
Referenced by smsatStartCheckPowerMode().
osGLOBAL void smsatCheckPowerModeCB | ( | agsaRoot_t * | agRoot, |
agsaIORequest_t * | agIORequest, | ||
bit32 | agIOStatus, | ||
agsaFisHeader_t * | agFirstDword, | ||
bit32 | agIOInfoLen, | ||
agsaFrameHandle_t | agFrameHandle, | ||
void * | ioContext | ||
) |
Definition at line 11123 of file smsatcb.c.
References AG_ABORT_TASK, agFALSE, agNULL, agTRUE, agsaFisPioSetupHeader_s::error, smIORequestBody_s::ioCompleted, smIORequestBody_s::ioStarted, agsaContext_s::osData, 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, SAT_DEV_STATE_NORMAL, smDeviceData_s::satDriveState, smSatIOContext_s::satIntIoContext, smDeviceData_s::satNCQMaxIO, smSatIOContext_s::satOrgIOContext, smDeviceData_s::satPendingIO, smDeviceData_s::satPendingNCQIO, smDeviceData_s::satPendingNONNCQIO, smDeviceData_s::satTmTaskTag, smSatIOContext_s::satToBeAbortedIOContext, SM_DBG1, SM_DBG2, SM_DBG5, SM_DBG6, smIntRoot_s::smAllShared, smContext_t::smData, smDeviceData_s::smDevHandle, smIntrEventTypeTaskManagement, smDeviceData_s::smRoot, smsatAbort(), smsatDecrementPendingIO(), smsatFreeIntIoResource(), smTMFailed, smTMOK, agsaFisPioSetupHeader_s::status, tdsmEventCB(), and smSatIOContext_s::TMF.
Referenced by smsatCheckPowerMode().
osGLOBAL void smsatCheckPowerModePassCB | ( | agsaRoot_t * | agRoot, |
agsaIORequest_t * | agIORequest, | ||
bit32 | agIOStatus, | ||
agsaFisHeader_t * | agFirstDword, | ||
bit32 | agIOInfoLen, | ||
agsaFrameHandle_t | agFrameHandle, | ||
void * | ioContext | ||
) |
Definition at line 11288 of file smsatcb.c.
References agFALSE, agNULL, agTRUE, agsaFisHeader_s::D2H, agsaFisRegD2HHeader_s::error, agsaFisPioSetupHeader_s::error, smSatIOContext_s::interruptContext, smIORequestBody_s::ioCompleted, smIORequestBody_s::ioStarted, agsaContext_s::osData, OSSA_IO_ABORTED, OSSA_IO_SUCCESS, agsaFisHeader_s::PioSetup, smSatIOContext_s::pSatDevData, smSatIOContext_s::pSense, smSatIOContext_s::pSmSenseData, smSatIOContext_s::satIntIoContext, smSatIOContext_s::satOrgIOContext, SCSI_STAT_CHECK_CONDITION, SCSI_STAT_GOOD, SM_DBG1, SM_DBG6, smIntRoot_s::smAllShared, smContext_t::smData, smDetailOtherError, smIOFailed, smIORequestBody_s::smIORequest, smIOSuccess, smSatIOContext_s::smRequestBody, smDeviceData_s::smRoot, smsatDecrementPendingIO(), smsatFreeIntIoResource(), smsatProcessAbort(), smsatSetSensePayload(), smsatTranslateATAErrorsToSCSIErrors(), agsaFisRegD2HHeader_s::status, agsaFisPioSetupHeader_s::status, and tdsmIOCompletedCB().
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().
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().
osGLOBAL bit32 smsatComputeCDB12LBA | ( | smSatIOContext_t * | satIOContext | ) |
Definition at line 20246 of file smsat.c.
References smIniScsiCmnd_t::cdb, smScsiInitiatorRequest::scsiCmnd, SM_DBG5, and smSatIOContext_s::smScsiXchg.
Referenced by smsatChainedWriteNVerify_Start_Verify(), smsatRead12(), smsatVerify12(), smsatWrite12(), and smsatWriteAndVerify12().
osGLOBAL bit32 smsatComputeCDB12TL | ( | smSatIOContext_t * | satIOContext | ) |
Definition at line 20263 of file smsat.c.
References smIniScsiCmnd_t::cdb, smScsiInitiatorRequest::scsiCmnd, SM_DBG5, and smSatIOContext_s::smScsiXchg.
Referenced by smsatChainedWriteNVerify_Start_Verify(), smsatRead12(), smsatVerify12(), smsatWrite12(), and smsatWriteAndVerify12().
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().
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().
osGLOBAL FORCEINLINE bit32 smsatComputeLoopNum | ( | bit32 | a, |
bit32 | b | ||
) |
Definition at line 20325 of file smsat.c.
References SM_DBG5.
Referenced by smsatChainedWriteNVerify_Start_Verify(), smsatRead10(), smsatRead12(), smsatRead16(), smsatVerify10(), smsatVerify12(), smsatVerify16(), smsatWrite10(), smsatWrite12(), smsatWrite16(), smsatWriteAndVerify10(), smsatWriteAndVerify12(), and smsatWriteAndVerify16().
Definition at line 3951 of file smsat.c.
References SATA_ATA_DEVICE, SATA_ATAPI_DEVICE, SATA_PM_DEVICE, SATA_SEMB_DEVICE, SATA_SEMB_WO_SEP_DEVICE, and UNKNOWN_DEVICE.
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().
osGLOBAL void smsatDefaultTranslation | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smSatIOContext_t * | satIOContext, | ||
smScsiRspSense_t * | pSense, | ||
bit8 | ataStatus, | ||
bit8 | ataError, | ||
bit32 | interruptContext | ||
) |
Definition at line 2982 of file smsat.c.
References ABRT_ATA_ERROR_MASK, DF_ATA_STATUS_MASK, ERR_ATA_STATUS_MASK, ICRC_ATA_ERROR_MASK, IDNF_ATA_ERROR_MASK, MC_ATA_ERROR_MASK, MCR_ATA_ERROR_MASK, NM_ATA_ERROR_MASK, smSatIOContext_s::pSmSenseData, SCSI_SNSCODE_INFORMATION_UNIT_CRC_ERROR, SCSI_SNSCODE_INTERNAL_TARGET_FAILURE, SCSI_SNSCODE_MEDIUM_NOT_PRESENT, SCSI_SNSCODE_NO_ADDITIONAL_INFO, SCSI_SNSCODE_NOT_READY_TO_READY_CHANGE, SCSI_SNSCODE_OPERATOR_MEDIUM_REMOVAL_REQUEST, SCSI_SNSCODE_RECORD_NOT_FOUND, SCSI_SNSCODE_UNRECOVERED_READ_ERROR, SCSI_SNSKEY_ABORTED_COMMAND, SCSI_SNSKEY_HARDWARE_ERROR, SCSI_SNSKEY_MEDIUM_ERROR, SCSI_SNSKEY_NOT_READY, SCSI_SNSKEY_UNIT_ATTENTION, SCSI_STAT_CHECK_CONDITION, SM_DBG1, SM_DBG5, smIOSuccess, smsatSetSensePayload(), tdsmIOCompletedCB(), and UNC_ATA_ERROR_MASK.
Referenced by smsatIOCompleted().
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().
osGLOBAL bit32 smsatDeResetDevice | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smScsiRequest, | ||
smSatIOContext_t * | satIOContext | ||
) |
Definition at line 19791 of file smsat.c.
References AGSA_SATA_PROTOCOL_SRST_DEASSERT, smIORequestBody_s::agSATARequestBody, agsaFisRegH2DHeader_s::c_pmPort, agsaFisRegH2DHeader_s::command, agsaFisRegH2DData_s::control, agsaFisRegHostToDevice_s::d, agsaFisRegH2DData_s::device, agsaFisRegH2DHeader_s::features, agsaFisRegH2DData_s::featuresExp, agsaSATAInitiatorRequest_s::fis, agsaSATAHostFis_u::fisRegHostToDev, 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, smIORequestBody_s::SATA, smSatIOContext_s::satCompleteCB, smSatIOContext_s::satIntIoContext, smSatInternalIo_s::satIntRequestBody, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG1, SM_DBG5, SM_DBG6, smhexdump(), smsataLLIOStart(), smsatDeResetDeviceCB(), status, and smIORequestBody_s::transport.
Referenced by smsatResetDeviceCB().
osGLOBAL void smsatDeResetDeviceCB | ( | agsaRoot_t * | agRoot, |
agsaIORequest_t * | agIORequest, | ||
bit32 | agIOStatus, | ||
agsaFisHeader_t * | agFirstDword, | ||
bit32 | agIOInfoLen, | ||
agsaFrameHandle_t | agFrameHandle, | ||
void * | ioContext | ||
) |
Definition at line 11837 of file smsatcb.c.
References AG_ABORT_TASK, agFALSE, agNULL, agTRUE, agsaFisPioSetupHeader_s::error, smIORequestBody_s::ioCompleted, smIORequestBody_s::ioStarted, agsaContext_s::osData, 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, SAT_DEV_STATE_NORMAL, smDeviceData_s::satDriveState, smSatIOContext_s::satIntIoContext, smDeviceData_s::satNCQMaxIO, smSatIOContext_s::satOrgIOContext, smDeviceData_s::satPendingIO, smDeviceData_s::satPendingNCQIO, smDeviceData_s::satPendingNONNCQIO, smDeviceData_s::satTmTaskTag, smSatIOContext_s::satToBeAbortedIOContext, SM_DBG1, SM_DBG5, SM_DBG6, smIntRoot_s::smAllShared, smContext_t::smData, smDeviceData_s::smDevHandle, smIntrEventTypeTaskManagement, smDeviceData_s::smRoot, smsatAbort(), smsatDecrementPendingIO(), smsatFreeIntIoResource(), smTMFailed, smTMOK, agsaFisPioSetupHeader_s::status, tdsmEventCB(), and smSatIOContext_s::TMF.
Referenced by smsatDeResetDevice().
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
smRoot | Pointer to TISA initiator driver/port instance. |
smIORequest | Pointer to TISA I/O request context for this I/O. |
smDeviceHandle | Pointer to TISA device handle for this I/O. |
smScsiRequest | Pointer to TISA SCSI I/O request and SGL list. |
smSatIOContext_t | Pointer to the SAT IO Context |
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().
osGLOBAL void smsatDeviceResetCB | ( | agsaRoot_t * | agRoot, |
agsaIORequest_t * | agIORequest, | ||
bit32 | agIOStatus, | ||
agsaFisHeader_t * | agFirstDword, | ||
bit32 | agIOInfoLen, | ||
void * | agParam, | ||
void * | ioContext | ||
) |
Definition at line 697 of file smsatcb.c.
References AG_ABORT_TASK, agFALSE, agNULL, agTRUE, agsaFisPioSetupHeader_s::error, smIORequestBody_s::ioCompleted, smIORequestBody_s::ioStarted, agsaContext_s::osData, 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, SAT_DEV_STATE_NORMAL, smDeviceData_s::satDriveState, smSatIOContext_s::satIntIoContext, smDeviceData_s::satNCQMaxIO, smSatIOContext_s::satOrgIOContext, smDeviceData_s::satPendingIO, smDeviceData_s::satPendingNCQIO, smDeviceData_s::satPendingNONNCQIO, smDeviceData_s::satTmTaskTag, smSatIOContext_s::satToBeAbortedIOContext, SM_DBG1, SM_DBG3, SM_DBG6, smIntRoot_s::smAllShared, smContext_t::smData, smDeviceData_s::smDevHandle, smIntrEventTypeTaskManagement, smDeviceData_s::smRoot, smsatAbort(), smsatDecrementPendingIO(), smsatFreeIntIoResource(), smTMFailed, smTMOK, agsaFisPioSetupHeader_s::status, tdsmEventCB(), and smSatIOContext_s::TMF.
Referenced by smsatDeviceReset().
osGLOBAL void smsatDifHandler | ( | smRoot_t * | smRoot, |
agsaIORequest_t * | agIORequest, | ||
bit32 | agIOStatus, | ||
bit32 | agIOInfoLen, | ||
void * | agParam, | ||
bit32 | agOtherInfo, | ||
bit32 | interruptContext | ||
) |
Definition at line 9383 of file smsatcb.c.
References agNULL, agsaDifDetails_s::LowerLBA, agsaContext_s::osData, OSSA_IO_XFR_ERROR_DIF_APPLICATION_TAG_MISMATCH, OSSA_IO_XFR_ERROR_DIF_CRC_MISMATCH, OSSA_IO_XFR_ERROR_DIF_REFERENCE_TAG_MISMATCH, SM_DBG1, smDetailDifAppTagMismatch, smDetailDifCrcMismatch, smDetailDifRefTagMismatch, smDetailOtherError, smIODifError, smIORequestBody_s::smIORequest, tdsmIOCompletedCB(), and agsaDifDetails_s::UpperLBA.
Referenced by smsatDelayedProcessAbnormalCompletion(), and smsatProcessAbnormalCompletion().
osGLOBAL void smsatEncryptionHandler | ( | smRoot_t * | smRoot, |
agsaIORequest_t * | agIORequest, | ||
bit32 | agIOStatus, | ||
bit32 | agIOInfoLen, | ||
void * | agParam, | ||
bit32 | agOtherInfo, | ||
bit32 | interruptContext | ||
) |
Definition at line 9322 of file smsatcb.c.
References agNULL, agsaContext_s::osData, 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_RAM_INTERFACE_ERROR, SM_DBG1, smDetailCipherModeInvalid, smDetailDekIndexOutofBounds, smDetailDekIVMismatch, smDetailDekKeyCacheMiss, smDetailDekRamInterfaceError, smDetailOtherError, smIOEncryptError, smIORequestBody_s::smIORequest, and tdsmIOCompletedCB().
Referenced by smsatDelayedProcessAbnormalCompletion(), and smsatProcessAbnormalCompletion().
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
smRoot | Pointer to TISA initiator driver/port instance. |
smIORequest | Pointer to TISA I/O request context for this I/O. |
smDeviceHandle | Pointer to TISA device handle for this I/O. |
smScsiRequest | Pointer to TISA SCSI I/O request and SGL list. |
smSatIOContext_t | Pointer to the SAT IO Context |
This function creates Execute Device Diagnostic fis and sends the request to LL layer
smRoot | Pointer to TISA initiator driver/port instance. |
smIORequest | Pointer to TISA I/O request context for this I/O. |
smDeviceHandle | Pointer to TISA device handle for this I/O. |
smScsiRequest | Pointer to TISA SCSI I/O request and SGL list. |
smSatIOContext_t | Pointer to the SAT IO Context |
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.
osGLOBAL void smsatExecuteDeviceDiagnosticCB | ( | agsaRoot_t * | agRoot, |
agsaIORequest_t * | agIORequest, | ||
bit32 | agIOStatus, | ||
agsaFisHeader_t * | agFirstDword, | ||
bit32 | agIOInfoLen, | ||
void * | agParam, | ||
void * | ioContext | ||
) |
Definition at line 868 of file smsatcb.c.
References agFALSE, agNULL, agTRUE, smIORequestBody_s::ioCompleted, smIORequestBody_s::ioStarted, agsaContext_s::osData, smSatIOContext_s::pSatDevData, smSatIOContext_s::satIntIoContext, smSatIOContext_s::satOrgIOContext, SM_DBG5, SM_DBG6, smIntRoot_s::smAllShared, smContext_t::smData, smDeviceData_s::smRoot, smsatDecrementPendingIO(), and smsatFreeIntIoResource().
Referenced by smsatExecuteDeviceDiagnostic().
osGLOBAL bit32 smsatFormatUnit | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smScsiRequest, | ||
smSatIOContext_t * | satIOContext | ||
) |
Definition at line 11355 of file smsat.c.
References agNULL, smIniScsiCmnd_t::cdb, index, smSatIOContext_s::interruptContext, smSatIOContext_s::pSense, smSatIOContext_s::pSmSenseData, SCSI_FORMAT_UNIT_CMPLIST_MASK, SCSI_FORMAT_UNIT_DCRT_MASK, SCSI_FORMAT_UNIT_DEFECT_LIST_FORMAT_MASK, SCSI_FORMAT_UNIT_FMTDATA_MASK, SCSI_FORMAT_UNIT_FOV_MASK, SCSI_FORMAT_UNIT_IMMED_MASK, SCSI_FORMAT_UNIT_IP_MASK, SCSI_FORMAT_UNIT_LONGLIST_MASK, SCSI_LINK_MASK, SCSI_NACA_MASK, SCSI_SNSCODE_INVALID_FIELD_IN_CDB, SCSI_SNSCODE_INVALID_FIELD_PARAMETER_LIST, SCSI_SNSKEY_ILLEGAL_REQUEST, SCSI_STAT_CHECK_CONDITION, SCSI_STAT_GOOD, smScsiInitiatorRequest::scsiCmnd, SM_DBG1, SM_DBG5, SM_RC_SUCCESS, smIOSuccess, smsatSetSensePayload(), and tdsmIOCompletedCB().
Referenced by smsatIOStart().
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().
osGLOBAL void smsatIDDataPassCB | ( | agsaRoot_t * | agRoot, |
agsaIORequest_t * | agIORequest, | ||
bit32 | agIOStatus, | ||
agsaFisHeader_t * | agFirstDword, | ||
bit32 | agIOInfoLen, | ||
agsaFrameHandle_t | agFrameHandle, | ||
void * | ioContext | ||
) |
Definition at line 11447 of file smsatcb.c.
References agFALSE, agNULL, agTRUE, smSatIOContext_s::ck_cond, agsaFisHeader_s::D2H, agsaFisRegD2HHeader_s::error, agsaFisPioSetupHeader_s::error, smSatIOContext_s::extend, smSatIOContext_s::interruptContext, smIORequestBody_s::ioCompleted, smIORequestBody_s::ioStarted, smSatIOContext_s::LBAHigh07, smSatIOContext_s::LBALow07, smSatIOContext_s::LBAMid07, agsaContext_s::osData, OSSA_IO_ABORTED, OSSA_IO_SUCCESS, agsaFisHeader_s::PioSetup, smSatIOContext_s::pSatDevData, smSatIOContext_s::pSense, smSatIOContext_s::pSmSenseData, smSatIOContext_s::satIntIoContext, smSatIOContext_s::satOrgIOContext, SCSI_SNSCODE_ATA_PASS_THROUGH_INFORMATION_AVAILABLE, SCSI_SNSKEY_RECOVERED_ERROR, SCSI_STAT_CHECK_CONDITION, SCSI_STAT_GOOD, smSatIOContext_s::sectorCnt07, SM_DBG1, SM_DBG3, SM_DBG6, smIntRoot_s::smAllShared, smContext_t::smData, smDetailOtherError, smIOFailed, smIORequestBody_s::smIORequest, smIOSuccess, smSatIOContext_s::smRequestBody, smDeviceData_s::smRoot, smsatDecrementPendingIO(), smsatFreeIntIoResource(), smsatProcessAbort(), smsatSetSensePayload(), smsatTranslateATAErrorsToSCSIErrors(), agsaFisRegD2HHeader_s::status, agsaFisPioSetupHeader_s::status, and tdsmIOCompletedCB().
osGLOBAL bit32 smsatIDStart | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smSCSIRequest, | ||
smSatIOContext_t * | satIOContext | ||
) |
Definition at line 3305 of file smsat.c.
References AGSA_SATA_PROTOCOL_PIO_READ, smIORequestBody_s::agSATARequestBody, agsaFisRegH2DHeader_s::c_pmPort, agsaFisRegH2DHeader_s::command, agsaFisRegH2DData_s::control, agsaFisRegHostToDevice_s::d, agsaFisRegH2DData_s::device, agsaFisRegH2DHeader_s::features, agsaFisRegH2DData_s::featuresExp, agsaSATAInitiatorRequest_s::fis, agsaSATAHostFis_u::fisRegHostToDev, 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_IDENTIFY_DEVICE, SAT_IDENTIFY_PACKET_DEVICE, smIORequestBody_s::SATA, SATA_ATAPI_DEVICE, smSatIOContext_s::satCompleteCB, smDeviceData_s::satDeviceType, smSatIOContext_s::satIntIoContext, smSatInternalIo_s::satIntRequestBody, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG2, smhexdump(), smsataLLIOStart(), smsatIDStartCB(), status, and smIORequestBody_s::transport.
Referenced by smsatIDSubStart().
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().
osGLOBAL bit32 smsatIDSubStart | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smSCSIRequest, | ||
smSatIOContext_t * | satIOContext | ||
) |
Definition at line 3216 of file smsat.c.
References agNULL, smIORequestBody_s::agSATARequestBody, agsaSATAInitiatorRequest_s::fis, agsaSATAHostFis_u::fisRegHostToDev, 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::satIntSmIORequest, smSatInternalIo_s::satIntSmScsiXchg, smIORequestBody_s::satIOContext, smSatIOContext_s::satOrgIOContext, smSatInternalIo_s::satOrgSmIORequest, smScsiInitiatorRequest::scsiCmnd, smIORequestBody_s::sensePayload, SM_DBG1, SM_DBG2, SM_DBG3, SM_DBG6, SM_RC_FAILURE, SM_RC_SUCCESS, smSatIOContext_s::smRequestBody, smsatAllocIntIoResource(), smsatFreeIntIoResource(), smsatIDStart(), smSatIOContext_s::smScsiXchg, smIORequestBody_s::smSenseData, status, and smIORequestBody_s::transport.
Referenced by smIDStart().
osGLOBAL bit32 smsatInquiry | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smScsiRequest, | ||
smSatIOContext_t * | satIOContext | ||
) |
Definition at line 8814 of file smsat.c.
References agFALSE, smIniScsiCmnd_t::cdb, smDeviceData_s::id, smDeviceData_s::IDDeviceValid, smSatIOContext_s::interruptContext, smSatIOContext_s::pSatDevData, smSatIOContext_s::pSense, smSatIOContext_s::pSmSenseData, SCSI_EVPD_MASK, SCSI_LINK_MASK, SCSI_NACA_MASK, SCSI_SNSCODE_INVALID_FIELD_IN_CDB, SCSI_SNSKEY_ILLEGAL_REQUEST, SCSI_STAT_CHECK_CONDITION, smScsiInitiatorRequest::scsiCmnd, SM_DBG1, SM_DBG5, SM_DBG6, SM_RC_SUCCESS, smIOSuccess, smsatInquiryIntCB(), smsatSetSensePayload(), smsatStartIDDev(), status, and tdsmIOCompletedCB().
Referenced by smsatIOStart().
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().
osGLOBAL void smsatInquiryIntCB | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smScsiRequest, | ||
smSatIOContext_t * | satIOContext | ||
) |
Definition at line 9955 of file smsatcb.c.
References agFALSE, agNULL, agTRUE, smIniScsiCmnd_t::cdb, smIniScsiCmnd_t::expDataLength, INQUIRY_ATA_INFORMATION_VPD_PAGE, INQUIRY_BLOCK_DEVICE_CHARACTERISTICS_VPD_PAGE, INQUIRY_DEVICE_IDENTIFICATION_VPD_PAGE, INQUIRY_SUPPORTED_VPD_PAGE, INQUIRY_UNIT_SERIAL_NUMBER_VPD_PAGE, smSatIOContext_s::interruptContext, MIN, smSatIOContext_s::pSatDevData, smSatIOContext_s::pSense, smSatIOContext_s::pSmSenseData, SATA_PAGE0_INQUIRY_SIZE, SATA_PAGE80_INQUIRY_SIZE, SATA_PAGE83_INQUIRY_NO_WWN_SIZE, SATA_PAGE83_INQUIRY_WWN_SIZE, SATA_PAGE89_INQUIRY_SIZE, SATA_PAGEB1_INQUIRY_SIZE, smDeviceData_s::satIdentifyData, smDeviceData_s::satNCQ, smDeviceData_s::satNCQMaxIO, 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::scsiCmnd, smScsiInitiatorRequest::sglVirtualAddr, SM_DBG1, SM_DBG5, SM_DBG6, sm_memcpy(), smIOSuccess, smIOUnderRun, smsatInquiryPage0(), smsatInquiryPage80(), smsatInquiryPage83(), smsatInquiryPage89(), smsatInquiryPageB1(), smsatInquiryStandard(), smsatSetSensePayload(), STANDARD_INQUIRY_SIZE, tdsmIOCompletedCB(), and tdsmSetDeviceQueueDepth().
Referenced by smsatInquiry().
osGLOBAL void smsatInquiryPage0 | ( | bit8 * | pInquiry, |
agsaSATAIdentifyData_t * | pSATAIdData | ||
) |
Definition at line 2452 of file smsat.c.
References SM_DBG5.
Referenced by smsatInquiryCB(), and smsatInquiryIntCB().
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().
osGLOBAL void smsatInquiryPage83 | ( | bit8 * | pInquiry, |
agsaSATAIdentifyData_t * | pSATAIdData, | ||
smDeviceData_t * | oneDeviceData | ||
) |
Definition at line 2479 of file smsat.c.
References AG_SAT_VENDOR_ID_STRING, agsaSATAIdentifyData_s::namingAuthority, agsaSATAIdentifyData_s::namingAuthority1, smDeviceData_s::sasAddressHi, smDeviceData_s::sasAddressLo, smDeviceData_s::satWWNSupport, SM_DBG5, sm_strncpy(), agsaSATAIdentifyData_s::uniqueID_bit0_15, agsaSATAIdentifyData_s::uniqueID_bit16_31, and satSimpleSATAIdentifyData_s::word.
Referenced by smsatInquiryCB(), and smsatInquiryIntCB().
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().
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().
osGLOBAL void smsatInquiryStandard | ( | bit8 * | pInquiry, |
agsaSATAIdentifyData_t * | pSATAIdData, | ||
smIniScsiCmnd_t * | scsiCmnd | ||
) |
Definition at line 2273 of file smsat.c.
References AG_SAT_VENDOR_ID_STRING, agNULL, ATA_REMOVABLE_MEDIA_DEVICE_MASK, agsaSATAIdentifyData_s::firmwareVersion, smLUN_t::lun, smIniScsiCmnd_t::lun, agsaSATAIdentifyData_s::modelNumber, agsaSATAIdentifyData_s::rm_ataDevice, agsaSATAIdentifyData_s::sataCapabilities, SM_DBG1, SM_DBG5, and sm_strncpy().
Referenced by smsatInquiryCB(), and smsatInquiryIntCB().
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().
osGLOBAL FORCEINLINE bit32 smsatIOPrepareSGL | ( | smRoot_t * | smRoot, |
smIORequestBody_t * | smIORequestBody, | ||
smSgl_t * | smSgl1, | ||
void * | sglVirtualAddr | ||
) |
Definition at line 483 of file smsathw.c.
References agNULL, smIORequestBody_s::agSATARequestBody, agsaSATAInitiatorRequest_s::agSgl, smIORequestBody_s::expDataLength, agsaSgl_s::extReserved, smIORequestBody_s::InitiatorRegIO, smIORequestBody_s::IOType, agsaSgl_s::len, smSgl_t::len, smSgl_t::lower, smIORequestBody_s::SATA, agsaSgl_s::sgLower, agsaSgl_s::sgUpper, SM_CLEAR_ESGL_EXTEND, SM_DBG1, SM_DBG3, SM_DBG5, SM_RC_SUCCESS, tiError, smIORequestBody_s::transport, smSgl_t::type, and smSgl_t::upper.
Referenced by smsataLLIOStart().
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().
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().
osGLOBAL bit32 smsatLogSense_1 | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smScsiRequest, | ||
smSatIOContext_t * | satIOContext | ||
) |
Definition at line 19162 of file smsat.c.
References AGSA_SATA_PROTOCOL_PIO_READ, agTRUE, 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::pSatDevData, smSatIOContext_s::reqType, agsaFisRegH2DData_s::reserved4, agsaFisRegH2DData_s::reserved5, smDeviceData_s::sat48BitSupport, SAT_READ_LOG_EXT, SAT_SMART, SAT_SMART_READ_LOG, smSatIOContext_s::satCompleteCB, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG5, smsataLLIOStart(), smsatLogSenseCB(), and status.
Referenced by smsatSMARTEnableCB().
osGLOBAL bit32 smsatLogSense_2 | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smScsiRequest, | ||
smSatIOContext_t * | satIOContext | ||
) |
Definition at line 13571 of file smsat.c.
References AGSA_SATA_PROTOCOL_PIO_READ, 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_READ_LOG_EXT, smSatIOContext_s::satCompleteCB, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG5, smsataLLIOStart(), smsatLogSenseCB(), and status.
Referenced by smsatLogSenseAllocate().
osGLOBAL bit32 smsatLogSense_3 | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smScsiRequest, | ||
smSatIOContext_t * | satIOContext | ||
) |
Definition at line 13626 of file smsat.c.
References AGSA_SATA_PROTOCOL_PIO_READ, 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_SMART, SAT_SMART_READ_LOG, smSatIOContext_s::satCompleteCB, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG5, smsataLLIOStart(), smsatLogSenseCB(), and status.
Referenced by smsatLogSenseAllocate().
osGLOBAL bit32 smsatLogSenseAllocate | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smSCSIRequest, | ||
smSatIOContext_t * | satIOContext, | ||
bit32 | payloadSize, | ||
bit32 | flag | ||
) |
Definition at line 13405 of file smsat.c.
References agNULL, smIORequestBody_s::agSATARequestBody, agsaSATAInitiatorRequest_s::fis, agsaSATAHostFis_u::fisRegHostToDev, smSatIOContext_s::interruptContext, LOG_SENSE_0, LOG_SENSE_1, 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::satIntSmIORequest, smSatInternalIo_s::satIntSmScsiXchg, smIORequestBody_s::satIOContext, smSatIOContext_s::satOrgIOContext, smSatInternalIo_s::satOrgSmIORequest, smScsiInitiatorRequest::scsiCmnd, smSenseData_t::senseData, smIORequestBody_s::sensePayload, SM_DBG1, SM_DBG5, SM_RC_SUCCESS, smDetailOtherError, smIOFailed, smSatIOContext_s::smRequestBody, smsatAllocIntIoResource(), smsatFreeIntIoResource(), smsatLogSense_2(), smsatLogSense_3(), smsatSMARTEnable(), smIORequestBody_s::smSenseData, status, tdsmIOCompletedCB(), and smIORequestBody_s::transport.
Referenced by smsatLogSense().
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().
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().
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().
osGLOBAL bit32 smsatModeSelect6n10_1 | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smScsiRequest, | ||
smSatIOContext_t * | satIOContext | ||
) |
Definition at line 19045 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, SCSI_MODE_SELECT6_DRA_MASK, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, smScsiInitiatorRequest::sglVirtualAddr, SM_DBG5, smsataLLIOStart(), smsatModeSelect6n10CB(), and status.
Referenced by 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().
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().
osGLOBAL bit32 smsatModeSense6 | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smScsiRequest, | ||
smSatIOContext_t * | satIOContext | ||
) |
Definition at line 9390 of file smsat.c.
References agFALSE, agNULL, agTRUE, smIniScsiCmnd_t::cdb, smIniScsiCmnd_t::expDataLength, smDeviceData_s::id, smSatIOContext_s::interruptContext, MIN, MODE_SENSE6_CACHING_LEN, MODE_SENSE6_CONTROL_PAGE_LEN, MODE_SENSE6_INFORMATION_EXCEPTION_CONTROL_PAGE_LEN, MODE_SENSE6_READ_WRITE_ERROR_RECOVERY_PAGE_LEN, MODE_SENSE6_RETURN_ALL_PAGES_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_SENSE6_PAGE_CODE_MASK, SCSI_MODE_SENSE6_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_DBG6, sm_memcpy(), SM_RC_SUCCESS, smIOSuccess, smIOUnderRun, smsatSetSensePayload(), and tdsmIOCompletedCB().
Referenced by smsatIOStart().
osGLOBAL FORCEINLINE void smsatNonChainedDataIOCB | ( | agsaRoot_t * | agRoot, |
agsaIORequest_t * | agIORequest, | ||
bit32 | agIOStatus, | ||
agsaFisHeader_t * | agFirstDword, | ||
bit32 | agIOInfoLen, | ||
void * | agParam, | ||
void * | ioContext | ||
) |
Definition at line 1060 of file smsatcb.c.
References agFALSE, agNULL, agTRUE, smIORequestBody_s::ioCompleted, smIORequestBody_s::ioStarted, agsaContext_s::osData, OSSA_IO_SUCCESS, SCSI_STAT_GOOD, SM_DBG1, SM_DBG2, SM_DBG5, smIntRoot_s::smAllShared, smContext_t::smData, smIORequestBody_s::smIORequest, smIOSuccess, smDeviceData_s::smRoot, smsatDecrementPendingIO(), smsatFreeIntIoResource(), smsatProcessAbnormalCompletion(), and tdsmIOCompletedCB().
Referenced by smsatRead10(), smsatRead12(), smsatRead16(), smsatRead6(), smsatWrite10(), smsatWrite12(), smsatWrite16(), and smsatWrite6().
osGLOBAL void smsatNonChainedVerifyCB | ( | agsaRoot_t * | agRoot, |
agsaIORequest_t * | agIORequest, | ||
bit32 | agIOStatus, | ||
agsaFisHeader_t * | agFirstDword, | ||
bit32 | agIOInfoLen, | ||
agsaFrameHandle_t | agFrameHandle, | ||
void * | ioContext | ||
) |
Definition at line 1409 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::pSense, smSatIOContext_s::pSmSenseData, REG_DEV_TO_HOST_FIS, SAT_READ_VERIFY_SECTORS, SAT_READ_VERIFY_SECTORS_EXT, smSatIOContext_s::satIntIoContext, 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, smIntRoot_s::smAllShared, smContext_t::smData, smIORequestBody_s::smIORequest, smIOSuccess, smSatIOContext_s::smRequestBody, smDeviceData_s::smRoot, smsatDecrementPendingIO(), smsatFreeIntIoResource(), smsatProcessAbort(), smsatSetSensePayload(), agsaFisRegD2HHeader_s::status, and tdsmIOCompletedCB().
Referenced by smsatVerify10(), smsatVerify12(), and smsatVerify16().
osGLOBAL bit32 smsatNonChainedWriteNVerify_Verify | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smScsiRequest, | ||
smSatIOContext_t * | satIOContext | ||
) |
Definition at line 17830 of file smsat.c.
References AGSA_SATA_PROTOCOL_DMA_WRITE, 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, 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, smDeviceData_s::sat48BitSupport, SAT_READ_VERIFY_SECTORS_EXT, smSatIOContext_s::satCompleteCB, smScsiInitiatorRequest::scsiCmnd, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG1, SM_DBG5, SM_RC_FAILURE, smsataLLIOStart(), smsatNonChainedWriteNVerifyCB(), and status.
Referenced by 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().
osGLOBAL void smsatNonDataIOCB | ( | agsaRoot_t * | agRoot, |
agsaIORequest_t * | agIORequest, | ||
bit32 | agIOStatus, | ||
agsaFisHeader_t * | agFirstDword, | ||
bit32 | agIOInfoLen, | ||
void * | agParam, | ||
void * | ioContext | ||
) |
Definition at line 9507 of file smsatcb.c.
References agFALSE, agNULL, agTRUE, smSatIOContext_s::interruptContext, smIORequestBody_s::ioCompleted, smIORequestBody_s::ioStarted, agsaContext_s::osData, OSSA_IO_SUCCESS, smSatIOContext_s::pSatDevData, SM_DBG1, SM_DBG2, SM_DBG5, smIntRoot_s::smAllShared, smContext_t::smData, smDetailOtherError, smIOFailed, smIORequestBody_s::smIORequest, smDeviceData_s::smRoot, smsatDecrementPendingIO(), smsatProcessAbnormalCompletion(), and tdsmIOCompletedCB().
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.
smRoot | Pointer to TISA initiator driver/port instance. |
smIORequest | Pointer to TISA I/O request context for this I/O. |
smDeviceHandle | Pointer to TISA device handle for this I/O. |
smScsiRequest | Pointer to TISA SCSI I/O request and SGL list. |
smSatIOContext_t | Pointer to the SAT IO Context |
SAT implementation for ATAPI Packet and send FIS request to LL layer.
tiRoot | Pointer to TISA initiator driver/port instance. |
tiIORequest | Pointer to TISA I/O request context for this I/O. |
tiDeviceHandle | Pointer to TISA device handle for this I/O. |
tiScsiRequest | Pointer to TISA SCSI I/O request and SGL list. |
smSatIOContext_t | Pointer to the SAT IO Context |
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().
osGLOBAL void smsatPacketCB | ( | agsaRoot_t * | agRoot, |
agsaIORequest_t * | agIORequest, | ||
bit32 | agIOStatus, | ||
agsaFisHeader_t * | agFirstDword, | ||
bit32 | agIOInfoLen, | ||
void * | agParam, | ||
void * | ioContext | ||
) |
Definition at line 222 of file smsatcb.c.
References agFALSE, agNULL, agTRUE, smIniScsiCmnd_t::cdb, agsaFisHeader_s::D2H, agsaFisRegD2HHeader_s::error, smSatIOContext_s::interruptContext, smIORequestBody_s::ioCompleted, smIORequestBody_s::ioStarted, agsaContext_s::osData, OSSA_IO_SUCCESS, smSatIOContext_s::pSatDevData, smSatIOContext_s::pScsiCmnd, smSatIOContext_s::pSense, smSatIOContext_s::psmDeviceHandle, smSatIOContext_s::pSmSenseData, smSatIOContext_s::satIntIoContext, smSatInternalIo_s::satIntSmIORequest, smSatInternalIo_s::satIntSmScsiXchg, smSatIOContext_s::satOrgIOContext, SCSI_STAT_CHECK_CONDITION, SCSI_STAT_GOOD, SENSE_DATA_LENGTH, SM_DBG1, SM_DBG2, SM_DBG3, 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(), smsatProcessAbnormalCompletion(), smsatRequestSenseForATAPI(), smsatSetSensePayload(), smsatTranslateATAPIErrorsToSCSIErrors(), status, agsaFisRegD2HHeader_s::status, and tdsmIOCompletedCB().
Referenced by smsatPacket().
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().
osGLOBAL void smsatPassthroughCB | ( | agsaRoot_t * | agRoot, |
agsaIORequest_t * | agIORequest, | ||
bit32 | agIOStatus, | ||
agsaFisHeader_t * | agFirstDword, | ||
bit32 | agIOInfoLen, | ||
void * | agParam, | ||
void * | ioContext | ||
) |
Definition at line 13530 of file smsatcb.c.
References agFALSE, agNULL, agTRUE, agsaFisHeader_s::D2H, DF_ATA_STATUS_MASK, ERR_ATA_STATUS_MASK, agsaFisRegD2HHeader_s::error, agsaFisRegD2HHeader_s::fisType, smSatIOContext_s::interruptContext, smIORequestBody_s::ioCompleted, smIORequestBody_s::ioStarted, NULL, agsaContext_s::osData, OSSA_IO_ABORTED, OSSA_IO_SUCCESS, OSSA_IO_UNDERFLOW, 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, smSatIOContext_s::satIntIoContext, smSatInternalIo_s::satIntSmScsiXchg, smSatIOContext_s::satOrgIOContext, SCSI_STAT_CHECK_CONDITION, SCSI_STAT_GOOD, SM_DBG1, SM_DBG2, SM_DBG4, SM_DBG5, smIntRoot_s::smAllShared, smContext_t::smData, smDetailOtherError, smIOFailed, smIORequestBody_s::smIORequest, smIOSuccess, smIOUnderRun, smSatIOContext_s::smRequestBody, smDeviceData_s::smRoot, smsatDecrementPendingIO(), smsatFreeIntIoResource(), smsatProcessAbort(), smsatSetSensePayload(), smsatTranslateATAErrorsToSCSIErrors(), smSatIOContext_s::smScsiXchg, agsaFisRegD2HHeader_s::status, and tdsmIOCompletedCB().
Referenced by smsatPassthrough().
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().
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().
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().
osGLOBAL void smsatProcessAbort | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smSatIOContext_t * | satIOContext | ||
) |
Definition at line 9439 of file smsatcb.c.
References agNULL, agsaFisRegH2DHeader_s::command, agsaFisRegHostToDevice_s::d, agsaFisRegH2DHeader_s::features, agsaFisRegHostToDevice_s::h, smSatIOContext_s::interruptContext, agsaFisRegH2DData_s::lbaLow, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, smSatIOContext_s::psmDeviceHandle, SAT_DEV_STATE_IN_RECOVERY, SAT_DEV_STATE_NORMAL, SAT_SMART, SAT_SMART_EXEUTE_OFF_LINE_IMMEDIATE, smDeviceData_s::satDriveState, smDeviceData_s::satNCQMaxIO, smDeviceData_s::satPendingIO, smDeviceData_s::satPendingNCQIO, smDeviceData_s::satPendingNONNCQIO, smDeviceData_s::satTmTaskTag, SM_DBG1, SM_DBG5, smDetailAborted, smIntrEventTypeTaskManagement, smIOFailed, smTMOK, tdsmEventCB(), and tdsmIOCompletedCB().
Referenced by smsatChainedVerifyCB(), smsatCheckPowerModePassCB(), smsatIDDataPassCB(), smsatInquiryCB(), smsatLogSenseCB(), smsatModeSelect6n10CB(), smsatNonChainedVerifyCB(), smsatNonChainedWriteNVerifyCB(), smsatPassthroughCB(), smsatReadBufferCB(), smsatReadMediaSerialNumberCB(), smsatReassignBlocksCB(), smsatRequestSenseCB(), smsatSendDiagnosticCB(), smsatSMARTEnablePassCB(), smsatSMARTReadLogCB(), smsatSMARTRStatusPassCB(), smsatStartStopUnitCB(), smsatSynchronizeCache10n16CB(), smsatTestUnitReadyCB(), smsatVerify10CB(), smsatWriteBufferCB(), and smsatWriteSame10CB().
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().
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().
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().
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().
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().
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().
osGLOBAL void smsatReadBufferCB | ( | agsaRoot_t * | agRoot, |
agsaIORequest_t * | agIORequest, | ||
bit32 | agIOStatus, | ||
agsaFisHeader_t * | agFirstDword, | ||
bit32 | agIOInfoLen, | ||
agsaFrameHandle_t | agFrameHandle, | ||
void * | ioContext | ||
) |
Definition at line 6923 of file smsatcb.c.
References agFALSE, agNULL, agTRUE, agsaFisRegH2DHeader_s::command, 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::pSense, smSatIOContext_s::pSmSenseData, SAT_READ_BUFFER, smSatIOContext_s::satIntIoContext, smSatIOContext_s::satOrgIOContext, SCSI_SNSCODE_MEDIUM_NOT_PRESENT, SCSI_SNSCODE_NO_ADDITIONAL_INFO, SCSI_SNSKEY_NO_SENSE, SCSI_SNSKEY_NOT_READY, SCSI_STAT_CHECK_CONDITION, SCSI_STAT_GOOD, SM_DBG1, SM_DBG2, SM_DBG4, smIntRoot_s::smAllShared, smContext_t::smData, smDetailOtherError, smIOFailed, smIORequestBody_s::smIORequest, smIOSuccess, smSatIOContext_s::smRequestBody, smDeviceData_s::smRoot, smsatDecrementPendingIO(), smsatFreeIntIoResource(), smsatProcessAbort(), smsatSetSensePayload(), and tdsmIOCompletedCB().
Referenced by smsatReadBuffer().
osGLOBAL bit32 smsatReadCapacity10 | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smScsiRequest, | ||
smSatIOContext_t * | satIOContext | ||
) |
Definition at line 10767 of file smsat.c.
References agNULL, agTRUE, smIniScsiCmnd_t::cdb, smIniScsiCmnd_t::expDataLength, smDeviceData_s::id, smSatIOContext_s::interruptContext, agsaSATAIdentifyData_s::maxLBA0_15, agsaSATAIdentifyData_s::maxLBA16_31, agsaSATAIdentifyData_s::maxLBA32_47, agsaSATAIdentifyData_s::maxLBA48_63, MIN, agsaSATAIdentifyData_s::numOfUserAddressableSectorsHi, agsaSATAIdentifyData_s::numOfUserAddressableSectorsLo, smSatIOContext_s::pSatDevData, smSatIOContext_s::pSense, smSatIOContext_s::pSmSenseData, smDeviceData_s::sat48BitSupport, smDeviceData_s::satIdentifyData, smDeviceData_s::satMaxLBA, SCSI_LINK_MASK, SCSI_NACA_MASK, SCSI_READ_CAPACITY10_PMI_MASK, SCSI_SNSCODE_INVALID_FIELD_IN_CDB, SCSI_SNSKEY_ILLEGAL_REQUEST, SCSI_STAT_CHECK_CONDITION, SCSI_STAT_GOOD, smScsiInitiatorRequest::scsiCmnd, smScsiInitiatorRequest::sglVirtualAddr, SM_DBG1, SM_DBG3, SM_DBG4, SM_DBG5, sm_memcpy(), SM_RC_SUCCESS, smIOSuccess, smsatSetSensePayload(), tdsmIOCompletedCB(), agsaSATAIdentifyData_s::word104_107, and agsaSATAIdentifyData_s::word112_126.
Referenced by smsatIOStart().
osGLOBAL bit32 smsatReadCapacity16 | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smScsiRequest, | ||
smSatIOContext_t * | satIOContext | ||
) |
Definition at line 11004 of file smsat.c.
References agNULL, agTRUE, smIniScsiCmnd_t::cdb, smIniScsiCmnd_t::expDataLength, smDeviceData_s::id, smSatIOContext_s::interruptContext, agsaSATAIdentifyData_s::maxLBA0_15, agsaSATAIdentifyData_s::maxLBA16_31, agsaSATAIdentifyData_s::maxLBA32_47, agsaSATAIdentifyData_s::maxLBA48_63, MIN, agsaSATAIdentifyData_s::numOfUserAddressableSectorsHi, agsaSATAIdentifyData_s::numOfUserAddressableSectorsLo, smSatIOContext_s::pSatDevData, smSatIOContext_s::pSense, smSatIOContext_s::pSmSenseData, smDeviceData_s::sat48BitSupport, smDeviceData_s::satIdentifyData, smDeviceData_s::satMaxLBA, SCSI_LINK_MASK, SCSI_NACA_MASK, SCSI_READ_CAPACITY16_PMI_MASK, 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().
osGLOBAL void smsatReadLogExtCB | ( | agsaRoot_t * | agRoot, |
agsaIORequest_t * | agIORequest, | ||
bit32 | agIOStatus, | ||
agsaFisHeader_t * | agFirstDword, | ||
bit32 | agIOInfoLen, | ||
void * | agParam, | ||
void * | ioContext | ||
) |
Definition at line 10348 of file smsatcb.c.
References smDeviceData_s::agDevHandle, agFALSE, smIORequestBody_s::agIORequest, agNULL, agTRUE, smDeviceData_s::id, smIORequestBody_s::id, smIORequestBody_s::InitiatorTMIO, smIORequestBody_s::ioCompleted, smIORequestBody_s::ioStarted, smIORequestBody_s::IOType, agsaContext_s::osData, smIORequestBody_s::osMemHandle, OSSA_IO_SUCCESS, smSatIOContext_s::pSatDevData, smSatIOContext_s::psmDeviceHandle, saSATAAbort(), SAT_DEV_STATE_NORMAL, smIORequestBody_s::SATA, smDeviceData_s::satAbortAfterReset, smDeviceData_s::satDriveState, smSatIOContext_s::satIntIoContext, smIORequestBody_s::satIOContext, satSubTM(), agsaContext_s::sdkData, SM_DBG1, SM_DBG5, smDeviceData_s::SMAbortAll, smIntRoot_s::smAllShared, smaSATAAbortCB(), smContext_t::smData, smIORequestBody_s::smDevHandle, smIOReInit(), smSatIOContext_s::smRequestBody, smDeviceData_s::smRoot, smsatDecrementPendingIO(), smsatFreeIntIoResource(), TD_INTERNAL_TM_RESET, tdsmAllocMemory(), tdsmRotateQnumber(), tiSuccess, and smIORequestBody_s::transport.
Referenced by smsatSendReadLogExt().
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().
osGLOBAL void smsatReadMediaSerialNumberCB | ( | agsaRoot_t * | agRoot, |
agsaIORequest_t * | agIORequest, | ||
bit32 | agIOStatus, | ||
agsaFisHeader_t * | agFirstDword, | ||
bit32 | agIOInfoLen, | ||
agsaFrameHandle_t | agFrameHandle, | ||
void * | ioContext | ||
) |
Definition at line 6703 of file smsatcb.c.
References agFALSE, agNULL, agTRUE, smIniScsiCmnd_t::cdb, agsaFisRegH2DHeader_s::command, smIniScsiCmnd_t::expDataLength, agsaFisRegHostToDevice_s::h, smSatIOContext_s::interruptContext, smIORequestBody_s::ioCompleted, smIORequestBody_s::ioStarted, MIN, agsaContext_s::osData, OSSA_IO_ABORTED, OSSA_IO_SUCCESS, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, smSatIOContext_s::pScsiCmnd, smSatIOContext_s::pSense, smSatIOContext_s::pSmSenseData, SAT_READ_SECTORS, SAT_READ_SECTORS_EXT, smSatIOContext_s::satIntIoContext, smSatIOContext_s::satOrgIOContext, SCSI_SNSCODE_MEDIUM_NOT_PRESENT, SCSI_SNSCODE_NO_ADDITIONAL_INFO, SCSI_SNSKEY_NO_SENSE, SCSI_SNSKEY_NOT_READY, SCSI_STAT_CHECK_CONDITION, SCSI_STAT_GOOD, smScsiInitiatorRequest::sglVirtualAddr, SM_DBG1, SM_DBG2, SM_DBG4, SM_DBG5, 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, tdsmIOCompletedCB(), and ZERO_MEDIA_SERIAL_NUMBER_LENGTH.
Referenced by smsatReadMediaSerialNumber().
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().
osGLOBAL bit32 smsatReassignBlocks_1 | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smScsiRequest, | ||
smSatIOContext_t * | satIOContext, | ||
smSatIOContext_t * | satOrgIOContext | ||
) |
Definition at line 19484 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::LBA, agsaFisRegH2DData_s::lbaHigh, agsaFisRegH2DData_s::lbaHighExp, agsaFisRegH2DData_s::lbaLow, agsaFisRegH2DData_s::lbaLowExp, agsaFisRegH2DData_s::lbaMid, agsaFisRegH2DData_s::lbaMidExp, smSatIOContext_s::ParmIndex, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, 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_REASSIGN_BLOCKS_LONGLBA_MASK, smScsiInitiatorRequest::scsiCmnd, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, smScsiInitiatorRequest::sglVirtualAddr, SM_DBG5, sm_memcpy(), sm_memset(), SM_RC_SUCCESS, smsataLLIOStart(), and smsatReassignBlocksCB().
Referenced by smsatReassignBlocksCB().
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().
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().
osGLOBAL bit32 smsatReportLun | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smScsiRequest, | ||
smSatIOContext_t * | satIOContext | ||
) |
Definition at line 11253 of file smsat.c.
References agNULL, smIniScsiCmnd_t::cdb, smIniScsiCmnd_t::expDataLength, smDeviceData_s::id, smSatIOContext_s::interruptContext, smScsiReportLun_s::len, tiLUN::lun, smScsiReportLun_s::lunList, MIN, smSatIOContext_s::pSatDevData, smSatIOContext_s::pSense, smSatIOContext_s::pSmSenseData, smScsiReportLun_s::reserved, 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().
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().
osGLOBAL bit32 smsatRequestSense_1 | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smScsiRequest, | ||
smSatIOContext_t * | satIOContext | ||
) |
Definition at line 9318 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, smSgl_t::len, smSgl_t::lower, smSatIOContext_s::pFis, smSatIOContext_s::reqType, agsaFisRegH2DData_s::reserved4, agsaFisRegH2DData_s::reserved5, SAT_CHECK_POWER_MODE, smSatIOContext_s::satCompleteCB, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG4, SM_DBG5, smsataLLIOStart(), smsatRequestSenseCB(), smScsiInitiatorRequest::smSgl1, status, smSgl_t::type, and smSgl_t::upper.
Referenced by smsatRequestSense(), and 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().
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.
smRoot | Pointer to TISA initiator driver/port instance. |
smIORequest | Pointer to TISA I/O request context for this I/O. |
smDeviceHandle | Pointer to TISA device handle for this I/O. |
smScsiRequest | Pointer to TISA SCSI I/O request and SGL list. |
smSatIOContext_t | Pointer to the SAT IO Context |
SAT implementation for SCSI REQUEST SENSE.
tiRoot | Pointer to TISA initiator driver/port instance. |
tiIORequest | Pointer to TISA I/O request context for this I/O. |
tiDeviceHandle | Pointer to TISA device handle for this I/O. |
tiScsiRequest | Pointer to TISA SCSI I/O request and SGL list. |
smSatIOContext_t | Pointer to the SAT IO Context |
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().
osGLOBAL void smsatRequestSenseForATAPICB | ( | agsaRoot_t * | agRoot, |
agsaIORequest_t * | agIORequest, | ||
bit32 | agIOStatus, | ||
agsaFisHeader_t * | agFirstDword, | ||
bit32 | agIOInfoLen, | ||
void * | agParam, | ||
void * | ioContext | ||
) |
Definition at line 415 of file smsatcb.c.
References agFALSE, agNULL, agTRUE, smIniScsiCmnd_t::expDataLength, smSatIOContext_s::interruptContext, smIORequestBody_s::ioCompleted, smIORequestBody_s::ioStarted, agsaContext_s::osData, OSSA_IO_SUCCESS, OSSA_IO_UNDERFLOW, smSatIOContext_s::pSatDevData, smSatIOContext_s::pScsiCmnd, smSatIOContext_s::pSmSenseData, smSatInternalIo_s::satIntDmaMem, smSatIOContext_s::satIntIoContext, smSatIOContext_s::satOrgIOContext, SCSI_STAT_CHECK_CONDITION, SENSE_DATA_LENGTH, smSenseData_t::senseData, smSenseData_t::senseLen, SM_DBG1, SM_DBG3, SM_DBG5, sm_memcpy(), smIntRoot_s::smAllShared, smContext_t::smData, smDetailOtherError, smIOFailed, smIORequestBody_s::smIORequest, smIOSuccess, smSatIOContext_s::smRequestBody, smDeviceData_s::smRoot, smsatDecrementPendingIO(), smsatFreeIntIoResource(), tdsmIOCompletedCB(), and smMem_t::virtPtr.
Referenced by smsatRequestSenseForATAPI().
osGLOBAL bit32 smsatResetDevice | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smScsiRequest, | ||
smSatIOContext_t * | satIOContext | ||
) |
Definition at line 19720 of file smsat.c.
References AGSA_SATA_PROTOCOL_SRST_ASSERT, smIORequestBody_s::agSATARequestBody, agsaFisRegH2DHeader_s::c_pmPort, agsaFisRegH2DHeader_s::command, agsaFisRegH2DData_s::control, agsaFisRegHostToDevice_s::d, agsaFisRegH2DData_s::device, agsaFisRegH2DHeader_s::features, agsaFisRegH2DData_s::featuresExp, agsaSATAInitiatorRequest_s::fis, agsaSATAHostFis_u::fisRegHostToDev, 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, smIORequestBody_s::SATA, smSatIOContext_s::satCompleteCB, smSatIOContext_s::satIntIoContext, smSatInternalIo_s::satIntRequestBody, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG1, SM_DBG5, SM_DBG6, smhexdump(), smsataLLIOStart(), smsatResetDeviceCB(), status, and smIORequestBody_s::transport.
Referenced by smsatStartResetDevice().
osGLOBAL void smsatResetDeviceCB | ( | agsaRoot_t * | agRoot, |
agsaIORequest_t * | agIORequest, | ||
bit32 | agIOStatus, | ||
agsaFisHeader_t * | agFirstDword, | ||
bit32 | agIOInfoLen, | ||
agsaFrameHandle_t | agFrameHandle, | ||
void * | ioContext | ||
) |
Definition at line 11626 of file smsatcb.c.
References agFALSE, agNULL, agTRUE, agsaFisPioSetupHeader_s::error, smIORequestBody_s::ioCompleted, smIORequestBody_s::ioStarted, agsaContext_s::osData, 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::psmDeviceHandle, smSatIOContext_s::satIntIoContext, smSatIOContext_s::satOrgIOContext, smDeviceData_s::satPendingIO, smDeviceData_s::satTmTaskTag, SM_DBG1, SM_DBG5, SM_DBG6, SM_RC_SUCCESS, smIntRoot_s::smAllShared, smContext_t::smData, smDeviceData_s::smDevHandle, smIntrEventTypeTaskManagement, smIORequestBody_s::smIORequest, smSatIOContext_s::smRequestBody, smDeviceData_s::smRoot, smsatAllocIntIoResource(), smsatDecrementPendingIO(), smsatDeResetDevice(), smsatFreeIntIoResource(), smsatPrepareNewIO(), smTMFailed, status, agsaFisPioSetupHeader_s::status, and tdsmEventCB().
Referenced by smsatResetDevice().
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().
osGLOBAL bit32 smsatSendDiagnostic_1 | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smScsiRequest, | ||
smSatIOContext_t * | satIOContext | ||
) |
Definition at line 18863 of file smsat.c.
References AGSA_SATA_PROTOCOL_NON_DATA, agTRUE, 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::pSatDevData, 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::satMaxLBA, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG5, smsataLLIOStart(), smsatSendDiagnosticCB(), and status.
Referenced by smsatSendDiagnosticCB().
osGLOBAL bit32 smsatSendDiagnostic_2 | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smScsiRequest, | ||
smSatIOContext_t * | satIOContext | ||
) |
Definition at line 18954 of file smsat.c.
References AGSA_SATA_PROTOCOL_NON_DATA, agTRUE, 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::pSatDevData, smSatIOContext_s::reqType, agsaFisRegH2DData_s::reserved4, agsaFisRegH2DData_s::reserved5, smDeviceData_s::sat48BitSupport, SAT_READ_VERIFY_SECTORS, SAT_READ_VERIFY_SECTORS_EXT, smSatIOContext_s::satCompleteCB, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG5, smsataLLIOStart(), smsatSendDiagnosticCB(), and status.
Referenced by 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().
osGLOBAL bit32 smsatSendIDDev | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smScsiRequest, | ||
smSatIOContext_t * | satIOContext | ||
) |
Definition at line 9001 of file smsat.c.
References AGSA_SATA_PROTOCOL_PIO_READ, smIORequestBody_s::agSATARequestBody, agsaFisRegH2DHeader_s::c_pmPort, agsaFisRegH2DHeader_s::command, agsaFisRegH2DData_s::control, agsaFisRegHostToDevice_s::d, agsaFisRegH2DData_s::device, agsaFisRegH2DHeader_s::features, agsaFisRegH2DData_s::featuresExp, agsaSATAInitiatorRequest_s::fis, agsaSATAHostFis_u::fisRegHostToDev, agsaFisRegH2DHeader_s::fisType, agsaFisRegHostToDevice_s::h, smDeviceData_s::id, 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_IDENTIFY_DEVICE, SAT_IDENTIFY_PACKET_DEVICE, smIORequestBody_s::SATA, SATA_ATAPI_DEVICE, smSatIOContext_s::satCompleteCB, smDeviceData_s::satDeviceType, smSatIOContext_s::satIntIoContext, smSatInternalIo_s::satIntRequestBody, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG6, smhexdump(), smsataLLIOStart(), smsatInquiryCB(), status, and smIORequestBody_s::transport.
Referenced by smsatStartIDDev().
osGLOBAL bit32 smsatSendReadLogExt | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smScsiRequest, | ||
smSatIOContext_t * | satIOContext | ||
) |
Definition at line 19603 of file smsat.c.
References AGSA_SATA_PROTOCOL_PIO_READ, 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_READ_LOG_EXT, smSatIOContext_s::satCompleteCB, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG1, smsataLLIOStart(), smsatReadLogExtCB(), and status.
Referenced by ossaSATAEvent(), and smsatIOCompleted().
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().
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().
osGLOBAL bit32 smsatSetFeaturesAA | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smScsiRequest, | ||
smSatIOContext_t * | satIOContext | ||
) |
Definition at line 19863 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(), smsatSetFeaturesAACB(), status, and smContext_t::tdData.
Referenced by smsatSetFeaturesDMACB(), smsatSetFeaturesReadLookAheadCB(), and smsatSetFeaturesVolatileWriteCacheCB().
osGLOBAL void smsatSetFeaturesAACB | ( | agsaRoot_t * | agRoot, |
agsaIORequest_t * | agIORequest, | ||
bit32 | agIOStatus, | ||
agsaFisHeader_t * | agFirstDword, | ||
bit32 | agIOInfoLen, | ||
void * | agParam, | ||
void * | ioContext | ||
) |
Definition at line 12243 of file smsatcb.c.
References agFALSE, agNULL, agTRUE, agsaFisHeader_s::D2H, DF_ATA_STATUS_MASK, ERR_ATA_STATUS_MASK, agsaFisRegD2HHeader_s::error, smIORequestBody_s::ioCompleted, smIORequestBody_s::ioStarted, agsaContext_s::osData, OSSA_IO_SUCCESS, smSatIOContext_s::pSatDevData, smSatIOContext_s::psmDeviceHandle, smDeviceData_s::satIdentifyData, smSatIOContext_s::satIntIoContext, smSatIOContext_s::satOrgIOContext, SM_DBG1, SM_DBG2, SM_DBG5, smIntRoot_s::smAllShared, smContext_t::smData, smIORequestBody_s::smIORequest, smIOSuccess, smSatIOContext_s::smRequestBody, smDeviceData_s::smRoot, smsatDecrementPendingIO(), smsatFreeIntIoResource(), agsaFisRegD2HHeader_s::status, smContext_t::tdData, and tdsmIDCompletedCB().
Referenced by smsatSetFeaturesAA().
osGLOBAL bit32 smsatSetFeaturesDMA | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smScsiRequest, | ||
smSatIOContext_t * | satIOContext | ||
) |
Definition at line 19928 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::pSatDevData, smSatIOContext_s::reqType, agsaFisRegH2DData_s::reserved4, agsaFisRegH2DData_s::reserved5, SAT_SET_FEATURES, smSatIOContext_s::satCompleteCB, smDeviceData_s::satUltraDMAMode, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG1, SM_DBG2, SM_RC_FAILURE, smContext_t::smData, smsataLLIOStart(), smsatSetFeaturesDMACB(), status, and smContext_t::tdData.
Referenced by smsatSetFeaturesPIOCB().
osGLOBAL void smsatSetFeaturesDMACB | ( | agsaRoot_t * | agRoot, |
agsaIORequest_t * | agIORequest, | ||
bit32 | agIOStatus, | ||
agsaFisHeader_t * | agFirstDword, | ||
bit32 | agIOInfoLen, | ||
void * | agParam, | ||
void * | ioContext | ||
) |
Definition at line 12353 of file smsatcb.c.
References agFALSE, agNULL, agTRUE, smDeviceData_s::id, 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_PORT_IN_RESET, smSatIOContext_s::pSatDevData, smSatIOContext_s::pScsiCmnd, smSatIOContext_s::psmDeviceHandle, SATA_ATAPI_DEVICE, smDeviceData_s::satDeviceType, smDeviceData_s::satDMAEnabled, smDeviceData_s::satDMASetupAA, smDeviceData_s::satIdentifyData, smSatIOContext_s::satIntIoContext, smSatInternalIo_s::satIntSmIORequest, smSatInternalIo_s::satIntSmScsiXchg, smDeviceData_s::satNCQ, smSatIOContext_s::satOrgIOContext, smDeviceData_s::satReadLookAheadSupport, smDeviceData_s::satVolatileWriteCacheSupport, SM_DBG1, SM_DBG2, SM_RC_FAILURE, SM_RC_SUCCESS, smIntRoot_s::smAllShared, smContext_t::smData, smIOFailed, smIORequestBody_s::smIORequest, smIOSuccess, smSatIOContext_s::smRequestBody, smDeviceData_s::smRoot, smsatAllocIntIoResource(), smsatDecrementPendingIO(), smsatFreeIntIoResource(), smsatPrepareNewIO(), smsatSetFeaturesAA(), smsatSetFeaturesReadLookAhead(), smsatSetFeaturesVolatileWriteCache(), status, smContext_t::tdData, and tdsmIDCompletedCB().
Referenced by smsatSetFeaturesDMA().
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
smRoot | Pointer to TISA initiator driver/port instance. |
smIORequest | Pointer to TISA I/O request context for this I/O. |
smDeviceHandle | Pointer to TISA device handle for this I/O. |
smScsiRequest | Pointer to TISA SCSI I/O request and SGL list. |
smSatIOContext_t | Pointer to the SAT IO Context |
SAT implementation for satSetFeatures.
This function creates Set Features fis and sends the request to LL layer
tiRoot | Pointer to TISA initiator driver/port instance. |
tiIORequest | Pointer to TISA I/O request context for this I/O. |
tiDeviceHandle | Pointer to TISA device handle for this I/O. |
tiScsiRequest | Pointer to TISA SCSI I/O request and SGL list. |
smSatIOContext_t | Pointer to the SAT IO Context |
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().
osGLOBAL void smsatSetFeaturesPIOCB | ( | agsaRoot_t * | agRoot, |
agsaIORequest_t * | agIORequest, | ||
bit32 | agIOStatus, | ||
agsaFisHeader_t * | agFirstDword, | ||
bit32 | agIOInfoLen, | ||
void * | agParam, | ||
void * | ioContext | ||
) |
Definition at line 550 of file smsatcb.c.
References agFALSE, agNULL, agTRUE, smDeviceData_s::id, 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_PORT_IN_RESET, smSatIOContext_s::pSatDevData, smSatIOContext_s::pScsiCmnd, smSatIOContext_s::psmDeviceHandle, smDeviceData_s::satDMASupport, smDeviceData_s::satIdentifyData, smSatIOContext_s::satIntIoContext, smSatInternalIo_s::satIntSmIORequest, smSatInternalIo_s::satIntSmScsiXchg, smSatIOContext_s::satOrgIOContext, SM_DBG1, SM_DBG2, SM_RC_FAILURE, SM_RC_SUCCESS, smIntRoot_s::smAllShared, smContext_t::smData, smIORequestBody_s::smIORequest, smIOSuccess, smSatIOContext_s::smRequestBody, smDeviceData_s::smRoot, smsatAllocIntIoResource(), smsatDecrementPendingIO(), smsatFreeIntIoResource(), smsatPrepareNewIO(), smsatSetFeaturesDMA(), status, smContext_t::tdData, and tdsmIDCompletedCB().
Referenced by smsatSetFeaturesPIO().
osGLOBAL bit32 smsatSetFeaturesReadLookAhead | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smScsiRequest, | ||
smSatIOContext_t * | satIOContext | ||
) |
Definition at line 19996 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(), smsatSetFeaturesReadLookAheadCB(), status, and smContext_t::tdData.
Referenced by smsatSetFeaturesDMACB().
osGLOBAL void smsatSetFeaturesReadLookAheadCB | ( | agsaRoot_t * | agRoot, |
agsaIORequest_t * | agIORequest, | ||
bit32 | agIOStatus, | ||
agsaFisHeader_t * | agFirstDword, | ||
bit32 | agIOInfoLen, | ||
void * | agParam, | ||
void * | ioContext | ||
) |
Definition at line 12587 of file smsatcb.c.
References agFALSE, agNULL, agTRUE, smDeviceData_s::id, 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_PORT_IN_RESET, smSatIOContext_s::pSatDevData, smSatIOContext_s::pScsiCmnd, smSatIOContext_s::psmDeviceHandle, smDeviceData_s::satDMASetupAA, smDeviceData_s::satIdentifyData, smSatIOContext_s::satIntIoContext, smSatInternalIo_s::satIntSmIORequest, smSatInternalIo_s::satIntSmScsiXchg, smDeviceData_s::satLookAheadEnabled, smDeviceData_s::satNCQ, smSatIOContext_s::satOrgIOContext, smDeviceData_s::satVolatileWriteCacheSupport, SM_DBG1, SM_DBG2, SM_RC_FAILURE, SM_RC_SUCCESS, smIntRoot_s::smAllShared, smContext_t::smData, smIOFailed, smIORequestBody_s::smIORequest, smIOSuccess, smSatIOContext_s::smRequestBody, smDeviceData_s::smRoot, smsatAllocIntIoResource(), smsatDecrementPendingIO(), smsatFreeIntIoResource(), smsatPrepareNewIO(), smsatSetFeaturesAA(), smsatSetFeaturesVolatileWriteCache(), status, and tdsmIDCompletedCB().
Referenced by smsatSetFeaturesReadLookAhead().
osGLOBAL bit32 smsatSetFeaturesVolatileWriteCache | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smScsiRequest, | ||
smSatIOContext_t * | satIOContext | ||
) |
Definition at line 20062 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(), smsatSetFeaturesVolatileWriteCacheCB(), status, and smContext_t::tdData.
Referenced by smsatSetFeaturesDMACB(), and smsatSetFeaturesReadLookAheadCB().
osGLOBAL void smsatSetFeaturesVolatileWriteCacheCB | ( | agsaRoot_t * | agRoot, |
agsaIORequest_t * | agIORequest, | ||
bit32 | agIOStatus, | ||
agsaFisHeader_t * | agFirstDword, | ||
bit32 | agIOInfoLen, | ||
void * | agParam, | ||
void * | ioContext | ||
) |
Definition at line 12781 of file smsatcb.c.
References agFALSE, agNULL, agTRUE, agsaFisHeader_s::D2H, DF_ATA_STATUS_MASK, ERR_ATA_STATUS_MASK, agsaFisRegD2HHeader_s::error, smDeviceData_s::id, 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_PORT_IN_RESET, OSSA_IO_SUCCESS, smSatIOContext_s::pSatDevData, smSatIOContext_s::psmDeviceHandle, smDeviceData_s::satDMASetupAA, smDeviceData_s::satIdentifyData, smSatIOContext_s::satIntIoContext, smSatInternalIo_s::satIntSmIORequest, smSatInternalIo_s::satIntSmScsiXchg, smDeviceData_s::satNCQ, smSatIOContext_s::satOrgIOContext, smDeviceData_s::satWriteCacheEnabled, SM_DBG1, SM_DBG2, SM_DBG5, SM_RC_FAILURE, SM_RC_SUCCESS, smIntRoot_s::smAllShared, smContext_t::smData, smIOFailed, smIORequestBody_s::smIORequest, smIOSuccess, smSatIOContext_s::smRequestBody, smDeviceData_s::smRoot, smsatAllocIntIoResource(), smsatDecrementPendingIO(), smsatFreeIntIoResource(), smsatPrepareNewIO(), smsatSetFeaturesAA(), status, agsaFisRegD2HHeader_s::status, and tdsmIDCompletedCB().
Referenced by smsatSetFeaturesVolatileWriteCache().
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().
osGLOBAL bit32 smsatSMARTEnable | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smScsiRequest, | ||
smSatIOContext_t * | satIOContext | ||
) |
Definition at line 13514 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_SMART, SAT_SMART_ENABLE_OPERATIONS, smSatIOContext_s::satCompleteCB, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG5, smsataLLIOStart(), smsatSMARTEnableCB(), and status.
Referenced by smsatLogSenseAllocate().
osGLOBAL void smsatSMARTEnableCB | ( | agsaRoot_t * | agRoot, |
agsaIORequest_t * | agIORequest, | ||
bit32 | agIOStatus, | ||
agsaFisHeader_t * | agFirstDword, | ||
bit32 | agIOInfoLen, | ||
agsaFrameHandle_t | agFrameHandle, | ||
void * | ioContext | ||
) |
Definition at line 5069 of file smsatcb.c.
References agFALSE, agNULL, agTRUE, smSatIOContext_s::interruptContext, smIORequestBody_s::ioCompleted, smIORequestBody_s::ioStarted, agsaContext_s::osData, OSSA_IO_SUCCESS, smSatIOContext_s::pSatDevData, smSatIOContext_s::pScsiCmnd, smSatIOContext_s::psmDeviceHandle, smSatIOContext_s::satIntIoContext, smSatInternalIo_s::satIntSmIORequest, smSatInternalIo_s::satIntSmScsiXchg, smSatIOContext_s::satOrgIOContext, SM_DBG1, SM_DBG2, SM_DBG4, SM_RC_SUCCESS, smIntRoot_s::smAllShared, smContext_t::smData, smDetailOtherError, smIOFailed, smIORequestBody_s::smIORequest, smSatIOContext_s::smRequestBody, smDeviceData_s::smRoot, smsatAllocIntIoResource(), smsatDecrementPendingIO(), smsatFreeIntIoResource(), smsatLogSense_1(), smsatPrepareNewIO(), status, and tdsmIOCompletedCB().
Referenced by smsatSMARTEnable().
osGLOBAL void smsatSMARTEnablePassCB | ( | agsaRoot_t * | agRoot, |
agsaIORequest_t * | agIORequest, | ||
bit32 | agIOStatus, | ||
agsaFisHeader_t * | agFirstDword, | ||
bit32 | agIOInfoLen, | ||
agsaFrameHandle_t | agFrameHandle, | ||
void * | ioContext | ||
) |
Definition at line 12931 of file smsatcb.c.
References agFALSE, agNULL, agTRUE, agsaFisHeader_s::D2H, agsaFisRegD2HHeader_s::error, smSatIOContext_s::interruptContext, smIORequestBody_s::ioCompleted, smIORequestBody_s::ioStarted, agsaContext_s::osData, OSSA_IO_ABORTED, OSSA_IO_SUCCESS, smSatIOContext_s::pSatDevData, smSatIOContext_s::pScsiCmnd, smSatIOContext_s::pSense, smSatIOContext_s::pSmSenseData, smSatIOContext_s::satIntIoContext, smSatIOContext_s::satOrgIOContext, SCSI_STAT_CHECK_CONDITION, SCSI_STAT_GOOD, SM_DBG1, SM_DBG2, SM_DBG4, smIntRoot_s::smAllShared, smContext_t::smData, smDetailOtherError, smIOFailed, smIORequestBody_s::smIORequest, smIOSuccess, smSatIOContext_s::smRequestBody, smDeviceData_s::smRoot, smsatDecrementPendingIO(), smsatFreeIntIoResource(), smsatProcessAbort(), smsatSetSensePayload(), smsatTranslateATAErrorsToSCSIErrors(), agsaFisRegD2HHeader_s::status, and tdsmIOCompletedCB().
osGLOBAL void smsatSMARTReadLogCB | ( | agsaRoot_t * | agRoot, |
agsaIORequest_t * | agIORequest, | ||
bit32 | agIOStatus, | ||
agsaFisHeader_t * | agFirstDword, | ||
bit32 | agIOInfoLen, | ||
void * | agParam, | ||
void * | ioContext | ||
) |
Definition at line 13290 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, agsaFisRegH2DHeader_s::features, agsaFisRegD2HHeader_s::fisType, agsaFisRegHostToDevice_s::h, smSatIOContext_s::interruptContext, smIORequestBody_s::ioCompleted, smIORequestBody_s::ioStarted, NULL, 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, SAT_SMART, SAT_SMART_READ_LOG, smSatIOContext_s::satIntIoContext, smSatInternalIo_s::satIntSmScsiXchg, smSatIOContext_s::satOrgIOContext, SCSI_STAT_CHECK_CONDITION, SCSI_STAT_GOOD, SM_DBG1, SM_DBG2, SM_DBG4, SM_DBG5, smIntRoot_s::smAllShared, smContext_t::smData, smDetailOtherError, smIOFailed, smIORequestBody_s::smIORequest, smIOSuccess, smSatIOContext_s::smRequestBody, smDeviceData_s::smRoot, smsatDecrementPendingIO(), smsatFreeIntIoResource(), smsatProcessAbort(), smsatSetSensePayload(), smsatTranslateATAErrorsToSCSIErrors(), smSatIOContext_s::smScsiXchg, agsaFisRegD2HHeader_s::status, and tdsmIOCompletedCB().
osGLOBAL void smsatSMARTRStatusPassCB | ( | agsaRoot_t * | agRoot, |
agsaIORequest_t * | agIORequest, | ||
bit32 | agIOStatus, | ||
agsaFisHeader_t * | agFirstDword, | ||
bit32 | agIOInfoLen, | ||
void * | agParam, | ||
void * | ioContext | ||
) |
Definition at line 13085 of file smsatcb.c.
References agFALSE, agNULL, agTRUE, smIniScsiCmnd_t::cdb, agsaFisHeader_s::D2H, DF_ATA_STATUS_MASK, ERR_ATA_STATUS_MASK, agsaFisRegD2HHeader_s::error, agsaFisRegD2HHeader_s::fisType, 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::pSmSenseData, REG_DEV_TO_HOST_FIS, smSatIOContext_s::satIntIoContext, smSatInternalIo_s::satIntSmScsiXchg, smSatIOContext_s::satOrgIOContext, SCSI_STAT_CHECK_CONDITION, SCSI_STAT_GOOD, SM_DBG1, SM_DBG2, SM_DBG4, SM_DBG5, smIntRoot_s::smAllShared, smContext_t::smData, smDetailOtherError, smIOFailed, smIORequestBody_s::smIORequest, smIOSuccess, smSatIOContext_s::smRequestBody, smDeviceData_s::smRoot, smsatDecrementPendingIO(), smsatFreeIntIoResource(), smsatProcessAbort(), smsatSetSensePayload(), smsatTranslateATAErrorsToSCSIErrors(), smSatIOContext_s::smScsiXchg, agsaFisRegD2HHeader_s::status, and tdsmIOCompletedCB().
osGLOBAL void smsatSplitSGL | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smScsiRequest, | ||
smSatIOContext_t * | satIOContext, | ||
bit32 | split, | ||
bit32 | tl, | ||
bit32 | flag | ||
) |
Definition at line 20673 of file smsat.c.
References smSatIOContext_s::AdjustBytes, agFALSE, agNULL, agsaEsgl_s::descriptor, smSatIOContext_s::EsglLen, smIniScsiCmnd_t::expDataLength, agsaSgl_s::len, smSgl_t::len, smSatIOContext_s::LowerAddr, smSatIOContext_s::OrgTL, smScsiInitiatorRequest::scsiCmnd, agsaSgl_s::sgLower, smScsiInitiatorRequest::sglVirtualAddr, agsaSgl_s::sgUpper, SM_DBG1, SM_DBG3, sm_memcpy(), smsatPrintSgl(), smScsiInitiatorRequest::smSgl1, smSatIOContext_s::SplitIdx, smSgl_t::type, and smSatIOContext_s::UpperAddr.
Referenced by smsatRead10(), smsatRead_1(), smsatWrite10(), and smsatWrite_1().
osGLOBAL bit32 smsatStartCheckPowerMode | ( | smRoot_t * | smRoot, |
smIORequest_t * | currentTaskTag, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smScsiRequest, | ||
smSatIOContext_t * | satIOContext | ||
) |
Definition at line 816 of file smsat.c.
References agNULL, smSatIOContext_s::pSatDevData, smSatInternalIo_s::satIntSmIORequest, SM_DBG1, SM_DBG2, SM_DBG6, SM_RC_FAILURE, SM_RC_SUCCESS, smsatAllocIntIoResource(), smsatCheckPowerMode(), smsatFreeIntIoResource(), smsatPrepareNewIO(), smSatIOContext_s::smScsiXchg, and status.
Referenced by smsatTmAbortTask().
osGLOBAL bit32 smsatStartIDDev | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smScsiRequest, | ||
smSatIOContext_t * | satIOContext | ||
) |
Definition at line 8909 of file smsat.c.
References agNULL, smIORequestBody_s::agSATARequestBody, 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::satIntSmIORequest, smSatInternalIo_s::satIntSmScsiXchg, smIORequestBody_s::satIOContext, smSatIOContext_s::satOrgIOContext, smSatInternalIo_s::satOrgSmIORequest, smScsiInitiatorRequest::scsiCmnd, smIORequestBody_s::sensePayload, SM_DBG1, SM_DBG5, SM_DBG6, SM_RC_FAILURE, SM_RC_SUCCESS, smSatIOContext_s::smRequestBody, smsatAllocIntIoResource(), smsatFreeIntIoResource(), smsatSendIDDev(), smSatIOContext_s::smScsiXchg, smIORequestBody_s::smSenseData, status, tiInterruptContext, and smIORequestBody_s::transport.
Referenced by smsatInquiry().
osGLOBAL bit32 smsatStartResetDevice | ( | smRoot_t * | smRoot, |
smIORequest_t * | currentTaskTag, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smScsiRequest, | ||
smSatIOContext_t * | satIOContext | ||
) |
Definition at line 892 of file smsat.c.
References agNULL, smSatIOContext_s::pSatDevData, SATA_ATAPI_DEVICE, smDeviceData_s::satDeviceType, smSatInternalIo_s::satIntSmIORequest, SM_DBG1, SM_DBG6, SM_RC_FAILURE, SM_RC_SUCCESS, smsatAllocIntIoResource(), smsatDeviceReset(), smsatFreeIntIoResource(), smsatPrepareNewIO(), smsatResetDevice(), smSatIOContext_s::smScsiXchg, and status.
Referenced by smsatTmAbortTask().
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().
osGLOBAL bit32 smsatStartStopUnit_1 | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smScsiRequest, | ||
smSatIOContext_t * | satIOContext | ||
) |
Definition at line 18804 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_STANDBY, smSatIOContext_s::satCompleteCB, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG5, smsataLLIOStart(), smsatStartStopUnitCB(), and status.
Referenced by 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().
osGLOBAL bit32 smsatSynchronizeCache10 | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smScsiRequest, | ||
smSatIOContext_t * | satIOContext | ||
) |
Definition at line 14706 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, smSatIOContext_s::satCompleteCB, SCSI_LINK_MASK, SCSI_NACA_MASK, SCSI_SNSCODE_INVALID_FIELD_IN_CDB, SCSI_SNSKEY_ILLEGAL_REQUEST, SCSI_STAT_CHECK_CONDITION, SCSI_STAT_GOOD, SCSI_SYNC_CACHE_IMMED_MASK, smScsiInitiatorRequest::scsiCmnd, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG1, SM_DBG5, SM_RC_SUCCESS, smIOSuccess, smsataLLIOStart(), smsatSetSensePayload(), smsatSynchronizeCache10n16CB(), status, and tdsmIOCompletedCB().
Referenced by smsatIOStart().
osGLOBAL void smsatSynchronizeCache10n16CB | ( | agsaRoot_t * | agRoot, |
agsaIORequest_t * | agIORequest, | ||
bit32 | agIOStatus, | ||
agsaFisHeader_t * | agFirstDword, | ||
bit32 | agIOInfoLen, | ||
agsaFrameHandle_t | agFrameHandle, | ||
void * | ioContext | ||
) |
Definition at line 5633 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::pSmSenseData, REG_DEV_TO_HOST_FIS, SAT_FLUSH_CACHE, SAT_FLUSH_CACHE_EXT, smSatIOContext_s::satIntIoContext, smSatIOContext_s::satOrgIOContext, SCSI_FLUSH_CACHE_IMMED_MASK, SCSI_SNSCODE_NO_ADDITIONAL_INFO, SCSI_SNSKEY_NO_SENSE, SCSI_STAT_CHECK_CONDITION, SCSI_STAT_GOOD, SM_DBG1, SM_DBG2, SM_DBG4, SM_DBG5, smIntRoot_s::smAllShared, smContext_t::smData, smDetailOtherError, smIOFailed, smIORequestBody_s::smIORequest, smIOSuccess, smSatIOContext_s::smRequestBody, smDeviceData_s::smRoot, smsatDecrementPendingIO(), smsatFreeIntIoResource(), smsatProcessAbort(), smsatSetDeferredSensePayload(), smsatSetSensePayload(), agsaFisRegD2HHeader_s::status, and tdsmIOCompletedCB().
Referenced by smsatSynchronizeCache10(), and smsatSynchronizeCache16().
osGLOBAL bit32 smsatSynchronizeCache16 | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smScsiRequest, | ||
smSatIOContext_t * | satIOContext | ||
) |
Definition at line 14837 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, smSatIOContext_s::satCompleteCB, SCSI_LINK_MASK, SCSI_NACA_MASK, SCSI_SNSCODE_INVALID_FIELD_IN_CDB, SCSI_SNSKEY_ILLEGAL_REQUEST, SCSI_STAT_CHECK_CONDITION, SCSI_STAT_GOOD, SCSI_SYNC_CACHE_IMMED_MASK, smScsiInitiatorRequest::scsiCmnd, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG1, SM_DBG5, SM_RC_SUCCESS, smIOSuccess, smsataLLIOStart(), smsatSetSensePayload(), smsatSynchronizeCache10n16CB(), status, and tdsmIOCompletedCB().
Referenced by smsatIOStart().
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().
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().
osGLOBAL bit32 smsatTaskManagement | ( | smRoot_t * | smRoot, |
smDeviceHandle_t * | smDeviceHandle, | ||
bit32 | task, | ||
smLUN_t * | lun, | ||
smIORequest_t * | taskTag, | ||
smIORequest_t * | currentTaskTag, | ||
smIORequestBody_t * | smIORequestBody | ||
) |
Definition at line 1119 of file smsat.c.
References AG_ABORT_TASK, agNULL, smIORequestBody_s::agSATARequestBody, smSatIOContext_s::currentLBA, agsaSATAInitiatorRequest_s::fis, agsaSATAHostFis_u::fisRegHostToDev, smSatIOContext_s::OrgTL, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, smSatIOContext_s::psmDeviceHandle, smIORequestBody_s::SATA, smSatIOContext_s::satIntIoContext, smIORequestBody_s::satIOContext, smSatIOContext_s::satOrgIOContext, smSatIOContext_s::satToBeAbortedIOContext, SM_DBG1, SM_RC_FAILURE, SM_RC_SUCCESS, smContext_t::smData, smSatIOContext_s::smRequestBody, smsatTmAbortTask(), status, smSatIOContext_s::TMF, and smIORequestBody_s::transport.
Referenced by smTaskManagement().
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().
osGLOBAL bit32 smsatTestUnitReady_1 | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smScsiRequest, | ||
smSatIOContext_t * | satIOContext | ||
) |
Definition at line 8751 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_CHECK_POWER_MODE, smSatIOContext_s::satCompleteCB, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG5, smsataLLIOStart(), smsatTestUnitReadyCB(), and status.
Referenced by smsatTestUnitReady(), and 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().
osGLOBAL bit32 smsatTmAbortTask | ( | smRoot_t * | smRoot, |
smIORequest_t * | currentTaskTag, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | tiScsiRequest, | ||
smSatIOContext_t * | satIOContext, | ||
smIORequest_t * | taskTag | ||
) |
Definition at line 980 of file smsat.c.
References agFALSE, agNULL, AGSA_SATA_PROTOCOL_FPDMA_READ, AGSA_SATA_PROTOCOL_FPDMA_WRITE, agTRUE, smList_s::flink, smIORequestBody_s::InitiatorTMIO, smIORequestBody_s::IOType, smIORequestBody_s::osMemHandle, smSatIOContext_s::reqType, SAT_DEV_STATE_IN_RECOVERY, smDeviceData_s::satAbortAfterReset, smDeviceData_s::satDriveState, smDeviceData_s::satIoLinkList, smDeviceData_s::satTmTaskTag, smSatIOContext_s::satToBeAbortedIOContext, SM_DBG1, SM_EXTERNAL_IO_LOCK, SM_RC_FAILURE, smContext_t::smData, smIORequestBody_s::smIORequest, SMLIST_OBJECT_BASE, smSatIOContext_s::smRequestBody, smsatStartCheckPowerMode(), smsatStartResetDevice(), status, tdsmFreeMemory(), tdsmSingleThreadedEnter(), and tdsmSingleThreadedLeave().
Referenced by smsatTaskManagement().
GLOBAL void smsatTranslateATAErrorsToSCSIErrors | ( | bit8 | bATAStatus, |
bit8 | bATAError, | ||
bit8 * | pSenseKey, | ||
bit16 * | pSenseCodeInfo | ||
) |
Definition at line 989 of file smsatcb.c.
References ABRT_ATA_ERROR_MASK, agNULL, DF_ATA_STATUS_MASK, ERR_ATA_STATUS_MASK, ICRC_ATA_ERROR_MASK, IDNF_ATA_ERROR_MASK, MC_ATA_ERROR_MASK, MCR_ATA_ERROR_MASK, NM_ATA_ERROR_MASK, SCSI_SNSCODE_INFORMATION_UNIT_CRC_ERROR, SCSI_SNSCODE_INTERNAL_TARGET_FAILURE, SCSI_SNSCODE_LOGICAL_BLOCK_ADDRESS_OUT_OF_RANGE, SCSI_SNSCODE_MEDIUM_NOT_PRESENT, SCSI_SNSCODE_NO_ADDITIONAL_INFO, SCSI_SNSCODE_NOT_READY_TO_READY_CHANGE, SCSI_SNSCODE_OPERATOR_MEDIUM_REMOVAL_REQUEST, SCSI_SNSCODE_UNRECOVERED_READ_ERROR, SCSI_SNSKEY_ABORTED_COMMAND, SCSI_SNSKEY_HARDWARE_ERROR, SCSI_SNSKEY_ILLEGAL_REQUEST, SCSI_SNSKEY_MEDIUM_ERROR, SCSI_SNSKEY_NO_SENSE, SCSI_SNSKEY_NOT_READY, SCSI_SNSKEY_UNIT_ATTENTION, SM_DBG1, and UNC_ATA_ERROR_MASK.
Referenced by smsatCheckPowerModePassCB(), smsatIDDataPassCB(), smsatPassthroughCB(), smsatSMARTEnablePassCB(), smsatSMARTReadLogCB(), and smsatSMARTRStatusPassCB().
osGLOBAL void smsatTranslateATAPIErrorsToSCSIErrors | ( | bit8 | bCommand, |
bit8 | bATAStatus, | ||
bit8 | bATAError, | ||
bit8 * | pSenseKey, | ||
bit16 * | pSenseCodeInfo | ||
) |
Definition at line 923 of file smsatcb.c.
References ABRT_ATA_ERROR_MASK, agNULL, DF_ATA_STATUS_MASK, ERR_ATA_STATUS_MASK, ICRC_ATA_ERROR_MASK, IDNF_ATA_ERROR_MASK, MC_ATA_ERROR_MASK, MCR_ATA_ERROR_MASK, NM_ATA_ERROR_MASK, SCSI_SNSKEY_ABORTED_COMMAND, SCSI_SNSKEY_HARDWARE_ERROR, SCSI_SNSKEY_MEDIUM_ERROR, SCSI_SNSKEY_NOT_READY, SCSI_SNSKEY_UNIT_ATTENTION, SM_DBG1, and UNC_ATA_ERROR_MASK.
Referenced by smsatPacketCB().
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().
osGLOBAL void smsatVerify10CB | ( | agsaRoot_t * | agRoot, |
agsaIORequest_t * | agIORequest, | ||
bit32 | agIOStatus, | ||
agsaFisHeader_t * | agFirstDword, | ||
bit32 | agIOInfoLen, | ||
void * | agParam, | ||
void * | ioContext | ||
) |
Definition at line 10130 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::pSense, smSatIOContext_s::pSmSenseData, REG_DEV_TO_HOST_FIS, SAT_READ_VERIFY_SECTORS_EXT, smSatIOContext_s::satIntIoContext, smSatIOContext_s::satOrgIOContext, SCSI_SNSCODE_NO_ADDITIONAL_INFO, SCSI_SNSKEY_NO_SENSE, SCSI_STAT_CHECK_CONDITION, SCSI_STAT_GOOD, SM_DBG1, SM_DBG4, SM_DBG5, smIntRoot_s::smAllShared, smContext_t::smData, smIORequestBody_s::smIORequest, smIOSuccess, smSatIOContext_s::smRequestBody, smDeviceData_s::smRoot, smsatDecrementPendingIO(), smsatFreeIntIoResource(), smsatProcessAbort(), smsatSetSensePayload(), agsaFisRegD2HHeader_s::status, and tdsmIOCompletedCB().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
osGLOBAL void smsatWriteBufferCB | ( | agsaRoot_t * | agRoot, |
agsaIORequest_t * | agIORequest, | ||
bit32 | agIOStatus, | ||
agsaFisHeader_t * | agFirstDword, | ||
bit32 | agIOInfoLen, | ||
agsaFrameHandle_t | agFrameHandle, | ||
void * | ioContext | ||
) |
Definition at line 7087 of file smsatcb.c.
References agFALSE, agNULL, agTRUE, agsaFisRegH2DHeader_s::command, 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::pSense, smSatIOContext_s::pSmSenseData, SAT_WRITE_BUFFER, smSatIOContext_s::satIntIoContext, smSatIOContext_s::satOrgIOContext, SCSI_SNSCODE_MEDIUM_NOT_PRESENT, SCSI_SNSCODE_NO_ADDITIONAL_INFO, SCSI_SNSKEY_NO_SENSE, SCSI_SNSKEY_NOT_READY, SCSI_STAT_CHECK_CONDITION, SCSI_STAT_GOOD, SM_DBG1, SM_DBG2, SM_DBG4, smIntRoot_s::smAllShared, smContext_t::smData, smDetailOtherError, smIOFailed, smIORequestBody_s::smIORequest, smIOSuccess, smSatIOContext_s::smRequestBody, smDeviceData_s::smRoot, smsatDecrementPendingIO(), smsatFreeIntIoResource(), smsatProcessAbort(), smsatSetSensePayload(), and tdsmIOCompletedCB().
Referenced by smsatWriteBuffer().
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().
osGLOBAL bit32 smsatWriteSame10_1 | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smScsiRequest, | ||
smSatIOContext_t * | satIOContext, | ||
bit32 | lba | ||
) |
Definition at line 18606 of file smsat.c.
References AGSA_SATA_PROTOCOL_DMA_WRITE, 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_WRITE_DMA_EXT, smSatIOContext_s::satCompleteCB, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG5, smsataLLIOStart(), smsatWriteSame10CB(), and status.
Referenced by smsatWriteSame10CB().
osGLOBAL bit32 smsatWriteSame10_2 | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smScsiRequest, | ||
smSatIOContext_t * | satIOContext, | ||
bit32 | lba | ||
) |
Definition at line 18670 of file smsat.c.
References AGSA_SATA_PROTOCOL_PIO_WRITE, 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_WRITE_SECTORS_EXT, smSatIOContext_s::satCompleteCB, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG5, smsataLLIOStart(), smsatWriteSame10CB(), and status.
Referenced by smsatWriteSame10CB().
osGLOBAL bit32 smsatWriteSame10_3 | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smScsiRequest, | ||
smSatIOContext_t * | satIOContext, | ||
bit32 | lba | ||
) |
Definition at line 18734 of file smsat.c.
References AGSA_SATA_PROTOCOL_FPDMA_WRITE, 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_WRITE_FPDMA_QUEUED, smSatIOContext_s::satCompleteCB, agsaFisRegH2DData_s::sectorCount, agsaFisRegH2DData_s::sectorCountExp, SM_DBG5, smsataLLIOStart(), smsatWriteSame10CB(), and status.
Referenced by 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().
osGLOBAL bit32 smsatWriteSame16 | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smScsiRequest, | ||
smSatIOContext_t * | satIOContext | ||
) |
Definition at line 12948 of file smsat.c.
References smSatIOContext_s::interruptContext, smSatIOContext_s::pSense, smSatIOContext_s::pSmSenseData, SCSI_SNSCODE_NO_ADDITIONAL_INFO, SCSI_SNSKEY_NO_SENSE, SCSI_STAT_CHECK_CONDITION, SM_DBG1, SM_DBG5, SM_RC_SUCCESS, smIOSuccess, smsatSetSensePayload(), and tdsmIOCompletedCB().
Referenced by smsatIOStart().
osGLOBAL void smSetTimerRequest | ( | smRoot_t * | smRoot, |
smTimerRequest_t * | timerRequest, | ||
bit32 | timeout, | ||
smTimerCBFunc_t | CBFunc, | ||
void * | timerData1, | ||
void * | timerData2, | ||
void * | timerData3 | ||
) |
Definition at line 69 of file smtimer.c.
References smTimerRequest_s::timeout, smTimerRequest_s::timerCBFunc, smTimerRequest_s::timerData1, smTimerRequest_s::timerData2, and smTimerRequest_s::timerData3.
osGLOBAL void smSMPCompleted | ( | agsaRoot_t * | agRoot, |
agsaIORequest_t * | agIORequest, | ||
bit32 | agIOStatus, | ||
bit32 | agIOInfoLen, | ||
agsaFrameHandle_t | agFrameHandle | ||
) |
Definition at line 10907 of file smsatcb.c.
References agNULL, smSMPRequestBody_s::CurrentTaskTag, gsmRoot, agsaContext_s::osData, smSMPRequestBody_s::osMemHandle, OSSA_IO_DS_NON_OPERATIONAL, 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_SUCCESS, SA_DS_OPERATIONAL, saFrameReadBlock(), saSetDeviceState(), SM_DBG1, SM_DBG2, SM_DBG3, smSMPRequestBody_s::smDevHandle, smSMPRequestBody_s::smDeviceData, smIntrEventTypeTaskManagement, SMP_FUNCTION_ACCEPTED, SMP_PHY_CONTROL, smPhyControlRespRcvd(), smTMFailed, tdsmEventCB(), tdsmFreeMemory(), and tdsmRotateQnumber().
Referenced by smPhyControlSend().
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().
Definition at line 45 of file smtimer.c.
References SM_DBG6, and smProcessTimers().
Referenced by tiCOMTimerTick().