FreeBSD kernel pms device code
|
#include <sys/cdefs.h>
#include <dev/pms/config.h>
#include <dev/pms/freebsd/driver/common/osenv.h>
#include <dev/pms/freebsd/driver/common/ostypes.h>
#include <dev/pms/freebsd/driver/common/osdebug.h>
#include <dev/pms/RefTisa/tisa/api/titypes.h>
#include <dev/pms/RefTisa/sallsdk/api/sa.h>
#include <dev/pms/RefTisa/sallsdk/api/saapi.h>
#include <dev/pms/RefTisa/sallsdk/api/saosapi.h>
#include <dev/pms/RefTisa/sat/api/sm.h>
#include <dev/pms/RefTisa/sat/api/smapi.h>
#include <dev/pms/RefTisa/sat/api/tdsmapi.h>
#include <dev/pms/RefTisa/sat/src/smdefs.h>
#include <dev/pms/RefTisa/sat/src/smproto.h>
#include <dev/pms/RefTisa/sat/src/smtypes.h>
Go to the source code of this file.
__FBSDID | ( | "$FreeBSD$" | ) |
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 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().
osGLOBAL bit32 smDeregisterDevice | ( | smRoot_t * | smRoot, |
agsaDevHandle_t * | agDevHandle, | ||
smDeviceHandle_t * | smDeviceHandle | ||
) |
Definition at line 85 of file smsat.c.
References agNULL, SM_DBG1, SM_DBG2, SM_RC_FAILURE, smRemoveFromSharedcontext(), and status.
Referenced by ossaDeregisterDeviceHandleCB().
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().
osGLOBAL bit32 smIDStart | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle | ||
) |
Definition at line 3143 of file smsat.c.
References agFALSE, agNULL, smIORequestBody_s::agSATARequestBody, agsaSATAInitiatorRequest_s::fis, agsaSATAHostFis_u::fisRegHostToDev, smDeviceData_s::id, smIORequestBody_s::id, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, smSatIOContext_s::psmDeviceHandle, smIORequestBody_s::SATA, smIORequestBody_s::satIOContext, SM_DBG1, SM_DBG2, SM_DBG3, SM_RC_FAILURE, SM_RC_SUCCESS, smContext_t::smData, smIORequestBody_s::smDevHandle, smIOReInit(), smIORequestBody_s::smIORequest, smSatIOContext_s::smRequestBody, smsatIDSubStart(), smSatIOContext_s::smScsiXchg, status, smIORequestBody_s::transport, and smDeviceData_s::valid.
osGLOBAL bit32 smIOAbort | ( | smRoot_t * | smRoot, |
smIORequest_t * | tasktag | ||
) |
Definition at line 113 of file smsat.c.
References smIORequestBody_s::agIORequest, agNULL, AGSA_RC_SUCCESS, agTRUE, smIORequestBody_s::InitiatorTMIO, smIORequestBody_s::IOType, agsaContext_s::osData, smIORequestBody_s::osMemHandle, saSATAAbort(), smIORequestBody_s::SATA, smSatIOContext_s::satIntIoContext, smSatInternalIo_s::satIntRequestBody, smIORequestBody_s::satIOContext, agsaContext_s::sdkData, SM_DBG1, SM_DBG2, SM_RC_FAILURE, SM_RC_SUCCESS, smIntRoot_s::smAllShared, smaSATAAbortCB(), smContext_t::smData, smIORequestBody_s::smDevHandle, smIOReInit(), smIORequestBody_s::smIOToBeAbortedRequest, smSatIOContext_s::smRequestBody, status, tdsmAllocMemory(), tdsmFreeMemory(), and smIORequestBody_s::transport.
osGLOBAL bit32 smIOAbortAll | ( | smRoot_t * | smRoot, |
smDeviceHandle_t * | smDeviceHandle | ||
) |
Definition at line 239 of file smsat.c.
References smDeviceData_s::agDevHandle, agFALSE, smIORequestBody_s::agIORequest, agNULL, AGSA_RC_SUCCESS, agTRUE, smDeviceData_s::id, smIORequestBody_s::InitiatorTMIO, smIORequestBody_s::IOType, smDeviceData_s::OSAbortAll, agsaContext_s::osData, smIORequestBody_s::osMemHandle, saSATAAbort(), smIORequestBody_s::SATA, smIORequestBody_s::satIOContext, agsaContext_s::sdkData, SM_DBG1, SM_DBG2, SM_RC_FAILURE, SM_RC_SUCCESS, smIntRoot_s::smAllShared, smaSATAAbortCB(), smContext_t::smData, smIORequestBody_s::smDevHandle, smIOReInit(), smSatIOContext_s::smRequestBody, status, tdsmAllocMemory(), tdsmFreeMemory(), tdsmRotateQnumber(), smIORequestBody_s::transport, and smDeviceData_s::valid.
FORCEINLINE bit32 smIOStart | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smSCSIRequest, | ||
bit32 | interruptContext | ||
) |
Definition at line 466 of file smsat.c.
References agFALSE, agNULL, smIORequestBody_s::agSATARequestBody, smSatIOContext_s::currentLBA, agsaSATAInitiatorRequest_s::fis, agsaSATAHostFis_u::fisRegHostToDev, smDeviceData_s::id, smIORequestBody_s::id, smSatIOContext_s::interruptContext, smSatIOContext_s::OrgTL, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, smSatIOContext_s::pScsiCmnd, smSatIOContext_s::pSense, smSatIOContext_s::psmDeviceHandle, smSatIOContext_s::pSmSenseData, smIORequestBody_s::SATA, smSatIOContext_s::satIntIoContext, smIORequestBody_s::satIOContext, smSatIOContext_s::satOrgIOContext, smScsiInitiatorRequest::scsiCmnd, smSenseData_t::senseData, smSenseData_t::senseLen, smIORequestBody_s::sensePayload, SM_DBG1, SM_DBG2, SM_DBG3, SM_RC_FAILURE, smContext_t::smData, smIORequestBody_s::smDevHandle, smIOReInit(), smIORequestBody_s::smIORequest, smSatIOContext_s::smRequestBody, smsatIOStart(), smSatIOContext_s::smScsiXchg, smIORequestBody_s::smSenseData, status, smSatIOContext_s::superIOFlag, smIORequestBody_s::transport, and smDeviceData_s::valid.
Referenced by tiINIIOStart().
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().
osGLOBAL bit32 smRegisterDevice | ( | smRoot_t * | smRoot, |
agsaDevHandle_t * | agDevHandle, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
agsaDevHandle_t * | agExpDevHandle, | ||
bit32 | phyID, | ||
bit32 | DeviceType | ||
) |
Definition at line 46 of file smsat.c.
References agNULL, smDeviceData_s::satDeviceType, SM_DBG1, SM_DBG2, SM_RC_FAILURE, SM_RC_SUCCESS, and smAddToSharedcontext().
Referenced by ossaDeviceRegistrationCB().
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 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 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 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 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 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 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 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 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 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 |
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 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().
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 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 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 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 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 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 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 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 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.
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 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 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 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().
GLOBAL 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 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 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 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 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 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.
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 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 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 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 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 bit32 smsatSetFeaturesPIO | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smScsiRequest, | ||
smSatIOContext_t * | satIOContext | ||
) |
SAT implementation for smsatSetFeaturePIO.
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 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 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 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 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 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 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().
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().
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 bit32 smsatTmAbortTask | ( | smRoot_t * | smRoot, |
smIORequest_t * | currentTaskTag, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smScsiInitiatorRequest_t * | smScsiRequest, | ||
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().
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 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 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 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 bit32 smSuperIOStart | ( | smRoot_t * | smRoot, |
smIORequest_t * | smIORequest, | ||
smDeviceHandle_t * | smDeviceHandle, | ||
smSuperScsiInitiatorRequest_t * | smSCSIRequest, | ||
bit32 | AddrHi, | ||
bit32 | AddrLo, | ||
bit32 | interruptContext | ||
) |
Definition at line 351 of file smsat.c.
References agFALSE, agNULL, smIORequestBody_s::agSATARequestBody, agTRUE, smSatIOContext_s::currentLBA, agsaSATAInitiatorRequest_s::fis, agsaSATAHostFis_u::fisRegHostToDev, smDeviceData_s::id, smIORequestBody_s::id, smSatIOContext_s::interruptContext, smSatIOContext_s::OrgTL, smSatIOContext_s::pFis, smSatIOContext_s::pSatDevData, smSatIOContext_s::pScsiCmnd, smSatIOContext_s::pSense, smSatIOContext_s::psmDeviceHandle, smSatIOContext_s::pSmSenseData, smDeviceData_s::sasAddressHi, smDeviceData_s::sasAddressLo, smIORequestBody_s::SATA, smSatIOContext_s::satIntIoContext, smIORequestBody_s::satIOContext, smSatIOContext_s::satOrgIOContext, smSuperScsiInitiatorRequest::scsiCmnd, smSenseData_t::senseData, smSenseData_t::senseLen, smIORequestBody_s::sensePayload, SM_DBG1, SM_DBG2, SM_DBG3, SM_RC_FAILURE, smContext_t::smData, smIORequestBody_s::smDevHandle, smIOReInit(), smIORequestBody_s::smIORequest, smSatIOContext_s::smRequestBody, smsatIOStart(), smSatIOContext_s::smScsiXchg, smIORequestBody_s::smSenseData, status, smSatIOContext_s::superIOFlag, smIORequestBody_s::transport, and smDeviceData_s::valid.
Referenced by tiINISuperIOStart().
osGLOBAL bit32 smTaskManagement | ( | smRoot_t * | smRoot, |
smDeviceHandle_t * | smDeviceHandle, | ||
bit32 | task, | ||
smLUN_t * | lun, | ||
smIORequest_t * | taskTag, | ||
smIORequest_t * | currentTaskTag | ||
) |
Definition at line 543 of file smsat.c.
References AG_LOGICAL_UNIT_RESET, smDeviceData_s::agDevHandle, smDeviceData_s::agDeviceResetContext, agFALSE, agNULL, AGSA_PHY_HARD_RESET, AGSA_RC_BUSY, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, smDeviceData_s::directlyAttached, smDeviceData_s::id, lun, agsaContext_s::osData, smDeviceData_s::phyID, SA_DS_IN_RECOVERY, saLocalPhyControl(), saSetDeviceState(), SAT_DEV_STATE_IN_RECOVERY, smIORequestBody_s::SATA, smDeviceData_s::satAbortAfterReset, smDeviceData_s::satDriveState, smIORequestBody_s::satIOContext, SM_ABORT_TASK, SM_DBG1, SM_LOGICAL_UNIT_RESET, SM_RC_BUSY, SM_RC_FAILURE, SM_RC_SUCCESS, SM_TARGET_WARM_RESET, smIntRoot_s::smAllShared, smContext_t::smData, smIORequestBody_s::smDevHandle, smIOReInit(), smLocalPhyControlCB(), SMP_PHY_CONTROL_HARD_RESET, smPhyControlSend(), smSatIOContext_s::smRequestBody, smsatTaskManagement(), status, tdsmRotateQnumber(), and smIORequestBody_s::transport.