76 bit32 *agChunkUpper32,
77 bit32 *agChunkLower32,
222#define SAT_NONNCQ_MAX 1
223#define SAT_NCQ_MAX 32
224#define SAT_MAX_INT_IO 16
465 bit32 DMDiscoveryState;
488#define REPORT_LUN_LEN 16
489#define REPORT_LUN_OPCODE 0xa0
695typedef struct tdIORequest_s
713typedef struct tdPassthroughCmndBody_s
715 ostiPassthroughCmndEvent_t EventCB;
716 tiPassthroughRequest_t *tiPassthroughRequest;
718 bit32 tiPassthroughCmndType;
722 tiSMPFunction_t SMPFn;
723 tiSMPFunctionResult_t SMPFnResult;
725 tiSMPFrameHeader_t SMPHeader;
733} tdPassthroughCmndBody_t;
#define SMP_DIRECT_PAYLOAD_LIMIT
The file defines the constants, data structure, and functions defined by LL API.
void * agsaFrameHandle_t
handle to access frame
The file defines the declaration of tSDK APIs.
The file defines the declaration of OS APIs.
data structure stores OS specific and LL specific context
bit32 satMaxUserAddrSectors
bit32 satLookAheadEnabled
bit32 satWriteCacheEnabled
tdList_t satActiveIntIoLinkList
tiIORequest_t * satTmTaskTag
agsaSATAIdentifyData_t satIdentifyData
bit32 satDeviceFaultState
bit32 freeSATAFDMATagBitmap
bit32 satRemovableMediaEnabled
tdList_t satFreeIntIoLinkList
agsaFisRegHostToDevice_t * pFis
tiSenseData_t * pTiSenseData
satInternalIo_t * satIntIoContext
struct satIOContext_s * satOrgIOContext
satDeviceData_t * pSatDevData
tiDeviceHandle_t * ptiDeviceHandle
tdList_t satIoContextLink
tiIniScsiCmnd_t * pScsiCmnd
struct satIOContext_s * satToBeAbortedIOContext
satCompleteCbPtr_t satCompleteCB
tiScsiInitiatorRequest_t satIntTiScsiXchg
tiIORequest_t * satOrgTiIORequest
tiIORequest_t satIntTiIORequest
unsigned long tiDeviceHandle
data structure for SAS SSP IO reuqest body This structure contains IO related fields....
tiIORequest_t * tiIOToBeAbortedRequest
tiDeviceHandle_t * tiDevHandle
tdssIOCompleted_t IOCompletionFunc
satIOContext_t satIOContext
struct tdIORequestBody_s::@15::@17 SAS
tiIORequest_t tiIORequest
struct tdIORequestBody_s::@15::@18 SATA
struct tdIORequestBody_s::@16::@21::@22::@24 MirrorIO
tiIORequest_t * CurrentTaskTag
struct tdIORequestBody_s::@16::@20 InitiatorTMIO
union tdIORequestBody_s::@15 transport
scsiRspSense_t sensePayload
union tdIORequestBody_s::@16 IOType
union tdIORequestBody_s::@16::@21::@22 TargetIOType
agsaSATAInitiatorRequest_t agSATARequestBody
tdList_t EsglMirrorPageList
agsaIORequest_t agIORequest
tiIORequest_t * tiIORequest
agsaSASRequestBody_t agSASRequestBody
struct tdIORequestBody_s::@16::@21::@22::@23 RegIO
struct tdIORequestBody_s::@16::@21 TargetIO
struct tdIORequestBody_s::@16::@19 InitiatorRegIO
tiSenseData_t tiSenseData
void * sglMirrorVirtualAddr
data structure for both SAS/SATA related flags Some fields are just place holders and not used yet
agBOOLEAN resetInProgress
data structure for SAS device list This structure maintains the device as a list and information abou...
tiDeviceHandle_t tiDeviceHandle
agsaSASIdentify_t sasIdentify
agsaDevHandle_t * agDevHandle
bit8 initiator_ssp_stp_smp
tdsaTimerRequest_t SATAIDDeviceTimer
struct tdsaExpander_s * tdExpander
struct tdsaPortContext_s * tdPortContext
agsaContext_t agDeviceResetContext
TDSASAddressID_t SASAddressID
satDeviceData_t satDevData
agsaDeviceInfo_t agDeviceInfo
tdsaJumpTable_t * pJumpTable
struct tdsaDeviceData_s * ExpDevice
tiIORequest_t TransportRecoveryIO
bit32 deviceRetistrationRetries
tdList_t discoveringExpanderList
bit32 configureRouteRetries
struct tdsaExpander_s * RootExp
tdsaTimerRequest_t SMPBusyTimer
tdsaTimerRequest_t BCTimer
tdList_t UpdiscoveringExpanderList
agsaSATAIdentifyData_t * pSataIdentifyData
tdsaTimerRequest_t deviceRegistrationTimer
smpRespDiscover_t SMPDiscoverResp
tdsaTimerRequest_t DiscoverySMPTimer
tdsaTimerRequest_t discoveryTimer
tdsaTimerRequest_t configureRouteTimer
TDSASAddressID_t sasAddressIDDiscoverError
bit32 configSASAddrTableIndex
bit16 numOfDownStreamPhys
bit16 currentUpStreamPhyIndex
tdsaDeviceData_t * tdDeviceToProcess
bit8 upStreamPhys[TD_MAX_EXPANDER_PHYS]
bit32 upStreamSASAddressHi
bit8 routingAttribute[TD_MAX_EXPANDER_PHYS]
bit32 upStreamSASAddressLo
bit16 currentDownStreamPhyIndex
bit16 currentIndex[TD_MAX_EXPANDER_PHYS]
bit32 configSASAddressLoTable[DEFAULT_MAX_DEV]
bit32 configSASAddressHiTable[DEFAULT_MAX_DEV]
struct tdsaExpander_s * tdReturnginExpander
struct tdsaExpander_s * tdCurrentDownStreamExpander
bit8 downStreamPhys[TD_MAX_EXPANDER_PHYS]
tdsaDeviceData_t * tdDevice
struct tdsaExpander_s * tdUpStreamExpander
data structure for callback function jumptableESLG page
tdssIOCompleted_t pSSPIOCompleted
tdssGetSGLChunk_t pGetSGLChunk
tdssSMPCompleted_t pSMPCompleted
tdssSMPReqReceived_t pSMPReqReceived
tdssSSPReqReceived_t pSSPReqReceived
data structure for TD port context This structure maintains information about the port such as ID add...
tdsaDiscovery_t discovery
bit32 numAvailableTargets
bit8 PhyIDList[TD_MAX_NUM_PHYS]
agsaSASIdentify_t sasIDframe
agsaPortContext_t * agPortContext
tiPortalContext_t * tiPortalContext
bit32 osInitiatedDiscovery
data structure for TD port information This structure contains information in order to start the port...
tdsaPortContext_t * portContext
tiPortalContext_t * tiPortalContext
agsaPhyConfig_t agPhyConfig
data structure OS root from the view of lower layer. TD Layer interrupt/non-interrupt context support...
bit8 initiator_ssp_stp_smp
data structure for timer request Timer requests are enqueued and dequeued using tdList_t and have a c...
tdsaTimerCBFunc_t timerCBFunc
data structure for IO request data used at target only in ttdtxchg_t structure just a place holder fo...
tdsaJumpTable_t * pJumpTable
data structure for port/phy related flags Some fields are just place holders and not used yet
agBOOLEAN pseudoPortStartDone
agBOOLEAN portReadyForDiscoverySent
agBOOLEAN portStoppedByOSLayer
agBOOLEAN portInitialized
agBOOLEAN pseudoPortInitDone
data structure for SAS SMP reuqest body This structure contains IO related fields....
agsaSASRequestBody_t agSASRequestBody
void * IndirectSMPReqosMemHandle
agsaSATAInitiatorRequest_t agSATARequestBody
tdsaPortContext_t * tdPortContext
void * IndirectSMPResposMemHandle
agsaIORequest_t agIORequest
tiDeviceHandle_t * tiDevHandle
bit8 smpPayload[SMP_DIRECT_PAYLOAD_LIMIT]
tdsaDeviceData_t * tdDevice
tdssSMPCompleted_t SMPCompletionFunc
tdIORequestBody_t IORequestBody
tiIORequest_t * CurrentTaskTag
#define TD_MAX_EXPANDER_PHYS
bit32(* tdssGetSGLChunk_t)(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agChunkOffset, bit32 *agChunkUpper32, bit32 *agChunkLower32, bit32 *agChunkLen)
void(* tdsaTimerCBFunc_t)(tiRoot_t *tiRoot, void *timerData1, void *timerData2, void *timerData3)
struct tdIORequestBody_s tdIORequestBody_t
data structure for SAS SSP IO reuqest body This structure contains IO related fields....
struct tdssPortFlags_s tdssPortFlags_t
data structure for port/phy related flags Some fields are just place holders and not used yet
void(* tdssSMPCompleted_t)(agsaRoot_t *, agsaIORequest_t *, bit32, bit32, agsaFrameHandle_t)
struct tdsaDeviceData_s tdsaDeviceData_t
data structure for SAS device list This structure maintains the device as a list and information abou...
struct tdsaSASSubID_s tdsaSASSubID_t
struct tdsaTimerRequest_s tdsaTimerRequest_t
data structure for timer request Timer requests are enqueued and dequeued using tdList_t and have a c...
struct tdsaComMemFlags_s tdsaComMemFlags_t
data structure for both SAS/SATA related flags Some fields are just place holders and not used yet
struct tdssIORequestData_s tdssIORequestData_t
data structure for IO request data used at target only in ttdtxchg_t structure just a place holder fo...
struct tdsaPortStartInfo_s tdsaPortStartInfo_t
data structure for TD port information This structure contains information in order to start the port...
struct satInternalIo_s satInternalIo_t
struct tdDeviceLUNInfo_s tdDeviceLUNInfoIOCTL_t
struct TDSASAddressID_s TDSASAddressID_t
struct tdsaRootOsData_s tdsaRootOsData_t
data structure OS root from the view of lower layer. TD Layer interrupt/non-interrupt context support...
void(* satCompleteCbPtr_t)(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *satIOContext)
void(* tdssSMPReqReceived_t)(agsaRoot_t *, agsaDevHandle_t *, agsaSMPFrameHeader_t *, agsaFrameHandle_t, bit32, bit32)
void(* tdssSSPReqReceived_t)(agsaRoot_t *, agsaDevHandle_t *, agsaFrameHandle_t, bit32, bit32, bit32)
struct tdsaExpander_s tdsaExpander_t
void(* tdssIOCompleted_t)(agsaRoot_t *, agsaIORequest_t *, bit32, bit32, agsaFrameHandle_t, bit32)
struct tdssSMPRequestBody_s tdssSMPRequestBody_t
data structure for SAS SMP reuqest body This structure contains IO related fields....
struct tdsaDiscovery_s tdsaDiscovery_t
struct tdsaPortContext_s tdsaPortContext_t
data structure for TD port context This structure maintains information about the port such as ID add...
struct tdsaJumpTable_s tdsaJumpTable_t
data structure for callback function jumptableESLG page
struct satIOContext_s satIOContext_t
union data structure specifies a request