FreeBSD kernel pms device code
smsatcb.c File Reference
Include dependency graph for smsatcb.c:

Go to the source code of this file.

Functions

 __FBSDID ("$FreeBSD$")
 
FORCEINLINE void smllSATACompleted (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, void *agFirstDword, bit32 agIOInfoLen, void *agParam)
 
osGLOBAL void smsatPacketCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
 
osGLOBAL void smsatRequestSenseForATAPICB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
 
osGLOBAL void smsatSetFeaturesPIOCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
 
osGLOBAL void smsatDeviceResetCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
 
osGLOBAL void smsatExecuteDeviceDiagnosticCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
 
GLOBAL void smsatTranslateATAPIErrorsToSCSIErrors (bit8 bCommand, bit8 bATAStatus, bit8 bATAError, bit8 *pSenseKey, bit16 *pSenseCodeInfo)
 
GLOBAL void smsatTranslateATAErrorsToSCSIErrors (bit8 bATAStatus, bit8 bATAError, bit8 *pSenseKey, bit16 *pSenseCodeInfo)
 
FORCEINLINE void smsatNonChainedDataIOCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
 
FORCEINLINE void smsatChainedDataIOCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
 
osGLOBAL void smsatNonChainedVerifyCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
 
osGLOBAL void smsatChainedVerifyCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
 
osGLOBAL void smsatTestUnitReadyCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
 
osGLOBAL void smsatRequestSenseCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
 
osGLOBAL void smsatSendDiagnosticCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
 
osGLOBAL void smsatStartStopUnitCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
 
osGLOBAL void smsatWriteSame10CB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
 
osGLOBAL void smsatLogSenseCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
 
osGLOBAL void smsatSMARTEnableCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
 
osGLOBAL void smsatModeSelect6n10CB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
 
osGLOBAL void smsatSynchronizeCache10n16CB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
 
osGLOBAL void smsatNonChainedWriteNVerifyCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
 
osGLOBAL void smsatChainedWriteNVerifyCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
 
osGLOBAL void smsatReadMediaSerialNumberCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
 
osGLOBAL void smsatReadBufferCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
 
osGLOBAL void smsatWriteBufferCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
 
osGLOBAL void smsatReassignBlocksCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
 
osGLOBAL FORCEINLINE void smsatDecrementPendingIO (smRoot_t *smRoot, smIntContext_t *smAllShared, smSatIOContext_t *satIOContext)
 
osGLOBAL void smsatProcessAbnormalCompletion (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, smSatIOContext_t *satIOContext)
 
osGLOBAL void smsatDelayedProcessAbnormalCompletion (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, smSatIOContext_t *satIOContext)
 
osGLOBAL void smsatIDStartCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
 
osGLOBAL void smsatIOCompleted (smRoot_t *smRoot, smIORequest_t *smIORequest, agsaFisHeader_t *agFirstDword, bit32 respFisLen, agsaFrameHandle_t agFrameHandle, smSatIOContext_t *satIOContext, bit32 interruptContext)
 
osGLOBAL void smsatEncryptionHandler (smRoot_t *smRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo, bit32 interruptContext)
 
osGLOBAL void smsatDifHandler (smRoot_t *smRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit32 agOtherInfo, bit32 interruptContext)
 
osGLOBAL void smsatProcessAbort (smRoot_t *smRoot, smIORequest_t *smIORequest, smSatIOContext_t *satIOContext)
 
osGLOBAL void smsatNonDataIOCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
 
osGLOBAL void smsatInquiryCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
 
osGLOBAL void smsatInquiryIntCB (smRoot_t *smRoot, smIORequest_t *smIORequest, smDeviceHandle_t *smDeviceHandle, smScsiInitiatorRequest_t *smScsiRequest, smSatIOContext_t *satIOContext)
 
osGLOBAL void smsatVerify10CB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
 
osGLOBAL void smsatReadLogExtCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
 
osGLOBAL void ossaSATAEvent (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, agsaPortContext_t *agPortContext, agsaDevHandle_t *agDevHandle, bit32 event, bit32 agIOInfoLen, void *agParam)
 
osGLOBAL void smSMPCompletedCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle)
 
osGLOBAL void smSMPCompleted (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle)
 
osGLOBAL void smPhyControlRespRcvd (smRoot_t *smRoot, agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, smDeviceData_t *oneDeviceData, smSMPFrameHeader_t *frameHeader, agsaFrameHandle_t frameHandle, smIORequest_t *CurrentTaskTag)
 
osGLOBAL void smsatCheckPowerModeCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
 
osGLOBAL void smsatCheckPowerModePassCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
 
osGLOBAL void smsatIDDataPassCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
 
osGLOBAL void smsatResetDeviceCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
 
osGLOBAL void smsatDeResetDeviceCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
 
osGLOBAL void smaSATAAbortCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 flag, bit32 status)
 
osGLOBAL void smLocalPhyControlCB (agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 phyId, bit32 phyOperation, bit32 status, void *parm)
 
osGLOBAL void smsatSetFeaturesAACB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
 
osGLOBAL void smsatSetFeaturesDMACB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
 
osGLOBAL void smsatSetFeaturesReadLookAheadCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
 
osGLOBAL void smsatSetFeaturesVolatileWriteCacheCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
 
osGLOBAL void smsatSMARTEnablePassCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *ioContext)
 
osGLOBAL void smsatSMARTRStatusPassCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
 
osGLOBAL void smsatSMARTReadLogCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
 
osGLOBAL void smsatPassthroughCB (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, void *agParam, void *ioContext)
 

Variables

smRoot_tgsmRoot
 

Function Documentation

◆ __FBSDID()

__FBSDID ( "$FreeBSD$"  )

◆ ossaSATAEvent()

osGLOBAL void ossaSATAEvent ( agsaRoot_t agRoot,
agsaIORequest_t agIORequest,
agsaPortContext_t agPortContext,
agsaDevHandle_t agDevHandle,
bit32  event,
bit32  agIOInfoLen,
void *  agParam 
)

Definition at line 10524 of file smsatcb.c.

◆ smaSATAAbortCB()

◆ smllSATACompleted()

◆ smLocalPhyControlCB()

◆ smPhyControlRespRcvd()

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

◆ smsatChainedDataIOCB()

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

Definition at line 1124 of file smsatcb.c.

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

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

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

◆ smsatChainedVerifyCB()

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

Definition at line 1630 of file smsatcb.c.

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

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

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

◆ smsatChainedWriteNVerifyCB()

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

Definition at line 6333 of file smsatcb.c.

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

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

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

◆ smsatCheckPowerModeCB()

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

◆ smsatCheckPowerModePassCB()

◆ smsatDecrementPendingIO()

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

Definition at line 7626 of file smsatcb.c.

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

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

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

◆ smsatDelayedProcessAbnormalCompletion()

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

Definition at line 8222 of file smsatcb.c.

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

Referenced by smsatChainedDataIOCB(), and smsatChainedWriteNVerifyCB().

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

◆ smsatDeResetDeviceCB()

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

◆ smsatDeviceResetCB()

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

◆ smsatDifHandler()

◆ smsatEncryptionHandler()

◆ smsatExecuteDeviceDiagnosticCB()

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

◆ smsatIDDataPassCB()

◆ smsatIDStartCB()

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

Definition at line 8698 of file smsatcb.c.

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

Referenced by smsatIDStart().

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

◆ smsatInquiryCB()

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

Definition at line 9572 of file smsatcb.c.

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

Referenced by smsatSendIDDev().

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

◆ smsatInquiryIntCB()

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

◆ smsatIOCompleted()

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

Definition at line 9014 of file smsatcb.c.

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

Referenced by smsatProcessAbnormalCompletion().

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

◆ smsatLogSenseCB()

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

Definition at line 4390 of file smsatcb.c.

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

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

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

◆ smsatModeSelect6n10CB()

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

Definition at line 5229 of file smsatcb.c.

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

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

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

◆ smsatNonChainedDataIOCB()

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

◆ smsatNonChainedVerifyCB()

◆ smsatNonChainedWriteNVerifyCB()

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

Definition at line 5948 of file smsatcb.c.

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

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

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

◆ smsatNonDataIOCB()

◆ smsatPacketCB()

◆ smsatPassthroughCB()

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

◆ smsatProcessAbnormalCompletion()

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

Definition at line 7748 of file smsatcb.c.

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

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

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

◆ smsatProcessAbort()

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

◆ smsatReadBufferCB()

◆ smsatReadLogExtCB()

◆ smsatReadMediaSerialNumberCB()

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

◆ smsatReassignBlocksCB()

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

Definition at line 7242 of file smsatcb.c.

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

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

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

◆ smsatRequestSenseCB()

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

Definition at line 2301 of file smsatcb.c.

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

Referenced by smsatRequestSense(), and smsatRequestSense_1().

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

◆ smsatRequestSenseForATAPICB()

◆ smsatResetDeviceCB()

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

◆ smsatSendDiagnosticCB()

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

Definition at line 2882 of file smsatcb.c.

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

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

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

◆ smsatSetFeaturesAACB()

◆ smsatSetFeaturesDMACB()

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

◆ smsatSetFeaturesPIOCB()

◆ smsatSetFeaturesReadLookAheadCB()

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

◆ smsatSetFeaturesVolatileWriteCacheCB()

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

◆ smsatSMARTEnableCB()

◆ smsatSMARTEnablePassCB()

◆ smsatSMARTReadLogCB()

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

◆ smsatSMARTRStatusPassCB()

◆ smsatStartStopUnitCB()

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

Definition at line 3316 of file smsatcb.c.

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

Referenced by smsatStartStopUnit(), and smsatStartStopUnit_1().

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

◆ smsatSynchronizeCache10n16CB()

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

◆ smsatTestUnitReadyCB()

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

Definition at line 1932 of file smsatcb.c.

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

Referenced by smsatTestUnitReady(), and smsatTestUnitReady_1().

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

◆ smsatTranslateATAErrorsToSCSIErrors()

◆ smsatTranslateATAPIErrorsToSCSIErrors()

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

◆ smsatVerify10CB()

◆ smsatWriteBufferCB()

◆ smsatWriteSame10CB()

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

Definition at line 3947 of file smsatcb.c.

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

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

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

◆ smSMPCompleted()

◆ smSMPCompletedCB()

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

Definition at line 10871 of file smsatcb.c.

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

Referenced by smPhyControlSend().

Here is the caller graph for this function:

Variable Documentation

◆ gsmRoot

smRoot_t* gsmRoot
extern