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

Go to the source code of this file.

Data Structures

struct  tdsaJumpTable_s
 data structure for callback function jumptableESLG page More...
 
struct  tdsaTimerRequest_s
 data structure for timer request Timer requests are enqueued and dequeued using tdList_t and have a callback function More...
 
struct  tdssIORequestData_s
 data structure for IO request data used at target only in ttdtxchg_t structure just a place holder for now More...
 
struct  tdsaRootOsData_s
 data structure OS root from the view of lower layer. TD Layer interrupt/non-interrupt context support structure for agsaRoot_t. The osData part of agsaRoot points to this tdsaRootOsData_t structure. In other words, agsaRoot_t->osData points to this structure and used for both SAS and SATA More...
 
struct  tdssPortFlags_s
 data structure for port/phy related flags Some fields are just place holders and not used yet More...
 
struct  tdsaComMemFlags_s
 data structure for both SAS/SATA related flags Some fields are just place holders and not used yet More...
 
struct  satInternalIo_s
 
struct  TDSASAddressID_s
 
struct  tdsaDiscovery_s
 
struct  satDeviceData_t
 
struct  tdsaDeviceData_s
 data structure for SAS device list This structure maintains the device as a list and information about the device such as the device type and ID address frame. agsaDeviceHandle_t->osData points to this structure. More...
 
struct  tdsaSASSubID_s
 
struct  tdsaPortContext_s
 data structure for TD port context This structure maintains information about the port such as ID address frame and the discovery status and the list of devices discovered by this port. itdsaIni_t->PortContext[] points to this structure. agsaPortContext->osData points to this structure, too. More...
 
struct  tdsaPortStartInfo_s
 data structure for TD port information This structure contains information in order to start the port The most of fields are filled in by OS layer and there can be up to 8 of these structures tiPortalContext_t->tdData points to this structure. More...
 
struct  tdDeviceLUNInfo_s
 
struct  tdsaExpander_s
 
struct  satIOContext_s
 
struct  tdIORequestBody_s
 data structure for SAS SSP IO reuqest body This structure contains IO related fields. agsaIORequest->osData points to this More...
 
struct  tdssSMPRequestBody_s
 data structure for SAS SMP reuqest body This structure contains IO related fields. agsaIORequest->osData points to this More...
 

Macros

#define SAT_NONNCQ_MAX   1
 
#define SAT_NCQ_MAX   32
 
#define SAT_MAX_INT_IO   16
 
#define REPORT_LUN_LEN   16
 
#define REPORT_LUN_OPCODE   0xa0
 

Typedefs

typedef void(* tdssSSPReqReceived_t) (agsaRoot_t *, agsaDevHandle_t *, agsaFrameHandle_t, bit32, bit32, bit32)
 
typedef void(* tdssSMPReqReceived_t) (agsaRoot_t *, agsaDevHandle_t *, agsaSMPFrameHeader_t *, agsaFrameHandle_t, bit32, bit32)
 
typedef bit32(* tdssGetSGLChunk_t) (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agChunkOffset, bit32 *agChunkUpper32, bit32 *agChunkLower32, bit32 *agChunkLen)
 
typedef void(* tdssIOCompleted_t) (agsaRoot_t *, agsaIORequest_t *, bit32, bit32, agsaFrameHandle_t, bit32)
 
typedef void(* tdssSMPCompleted_t) (agsaRoot_t *, agsaIORequest_t *, bit32, bit32, agsaFrameHandle_t)
 
typedef struct tdsaJumpTable_s tdsaJumpTable_t
 data structure for callback function jumptableESLG page More...
 
typedef void(* tdsaTimerCBFunc_t) (tiRoot_t *tiRoot, void *timerData1, void *timerData2, void *timerData3)
 
typedef struct tdsaTimerRequest_s tdsaTimerRequest_t
 data structure for timer request Timer requests are enqueued and dequeued using tdList_t and have a callback function More...
 
typedef struct tdssIORequestData_s tdssIORequestData_t
 data structure for IO request data used at target only in ttdtxchg_t structure just a place holder for now More...
 
typedef struct tdsaRootOsData_s tdsaRootOsData_t
 data structure OS root from the view of lower layer. TD Layer interrupt/non-interrupt context support structure for agsaRoot_t. The osData part of agsaRoot points to this tdsaRootOsData_t structure. In other words, agsaRoot_t->osData points to this structure and used for both SAS and SATA More...
 
typedef struct tdssPortFlags_s tdssPortFlags_t
 data structure for port/phy related flags Some fields are just place holders and not used yet More...
 
typedef struct tdsaComMemFlags_s tdsaComMemFlags_t
 data structure for both SAS/SATA related flags Some fields are just place holders and not used yet More...
 
typedef struct satInternalIo_s satInternalIo_t
 
typedef struct TDSASAddressID_s TDSASAddressID_t
 
typedef struct tdsaDiscovery_s tdsaDiscovery_t
 
typedef struct tdsaDeviceData_s tdsaDeviceData_t
 data structure for SAS device list This structure maintains the device as a list and information about the device such as the device type and ID address frame. agsaDeviceHandle_t->osData points to this structure. More...
 
typedef struct tdsaSASSubID_s tdsaSASSubID_t
 
typedef struct tdsaPortContext_s tdsaPortContext_t
 data structure for TD port context This structure maintains information about the port such as ID address frame and the discovery status and the list of devices discovered by this port. itdsaIni_t->PortContext[] points to this structure. agsaPortContext->osData points to this structure, too. More...
 
typedef struct tdsaPortStartInfo_s tdsaPortStartInfo_t
 data structure for TD port information This structure contains information in order to start the port The most of fields are filled in by OS layer and there can be up to 8 of these structures tiPortalContext_t->tdData points to this structure. More...
 
typedef struct tdDeviceLUNInfo_s tdDeviceLUNInfoIOCTL_t
 
typedef struct tdsaExpander_s tdsaExpander_t
 
typedef void(* satCompleteCbPtr_t) (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *satIOContext)
 
typedef struct satIOContext_s satIOContext_t
 
typedef struct tdIORequestBody_s tdIORequestBody_t
 data structure for SAS SSP IO reuqest body This structure contains IO related fields. agsaIORequest->osData points to this More...
 
typedef struct tdssSMPRequestBody_s tdssSMPRequestBody_t
 data structure for SAS SMP reuqest body This structure contains IO related fields. agsaIORequest->osData points to this More...
 

Detailed Description

The file defines data structures for SAS/SATA TD layer

Definition in file tdtypes.h.

Macro Definition Documentation

◆ REPORT_LUN_LEN

#define REPORT_LUN_LEN   16

Definition at line 488 of file tdtypes.h.

◆ REPORT_LUN_OPCODE

#define REPORT_LUN_OPCODE   0xa0

Definition at line 489 of file tdtypes.h.

◆ SAT_MAX_INT_IO

#define SAT_MAX_INT_IO   16

Definition at line 224 of file tdtypes.h.

◆ SAT_NCQ_MAX

#define SAT_NCQ_MAX   32

Definition at line 223 of file tdtypes.h.

◆ SAT_NONNCQ_MAX

#define SAT_NONNCQ_MAX   1

Definition at line 222 of file tdtypes.h.

Typedef Documentation

◆ satCompleteCbPtr_t

typedef void(* satCompleteCbPtr_t) (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, agsaFisHeader_t *agFirstDword, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle, void *satIOContext)

Definition at line 535 of file tdtypes.h.

◆ satInternalIo_t

◆ satIOContext_t

◆ tdDeviceLUNInfoIOCTL_t

◆ tdIORequestBody_t

data structure for SAS SSP IO reuqest body This structure contains IO related fields. agsaIORequest->osData points to this

◆ tdsaComMemFlags_t

data structure for both SAS/SATA related flags Some fields are just place holders and not used yet

◆ tdsaDeviceData_t

data structure for SAS device list This structure maintains the device as a list and information about the device such as the device type and ID address frame. agsaDeviceHandle_t->osData points to this structure.

◆ tdsaDiscovery_t

◆ tdsaExpander_t

◆ tdsaJumpTable_t

data structure for callback function jumptableESLG page

This data structure defines callback fucntions for SSP, SMP and SATA This is used for jump table used for instance specific function callback jump

◆ tdsaPortContext_t

data structure for TD port context This structure maintains information about the port such as ID address frame and the discovery status and the list of devices discovered by this port. itdsaIni_t->PortContext[] points to this structure. agsaPortContext->osData points to this structure, too.

◆ tdsaPortStartInfo_t

data structure for TD port information This structure contains information in order to start the port The most of fields are filled in by OS layer and there can be up to 8 of these structures tiPortalContext_t->tdData points to this structure.

◆ tdsaRootOsData_t

data structure OS root from the view of lower layer. TD Layer interrupt/non-interrupt context support structure for agsaRoot_t. The osData part of agsaRoot points to this tdsaRootOsData_t structure. In other words, agsaRoot_t->osData points to this structure and used for both SAS and SATA

◆ TDSASAddressID_t

◆ tdsaSASSubID_t

◆ tdsaTimerCBFunc_t

typedef void(* tdsaTimerCBFunc_t) (tiRoot_t *tiRoot, void *timerData1, void *timerData2, void *timerData3)

Definition at line 116 of file tdtypes.h.

◆ tdsaTimerRequest_t

data structure for timer request Timer requests are enqueued and dequeued using tdList_t and have a callback function

◆ tdssGetSGLChunk_t

typedef bit32(* tdssGetSGLChunk_t) (agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agChunkOffset, bit32 *agChunkUpper32, bit32 *agChunkLower32, bit32 *agChunkLen)

Definition at line 73 of file tdtypes.h.

◆ tdssIOCompleted_t

typedef void(* tdssIOCompleted_t) (agsaRoot_t *, agsaIORequest_t *, bit32, bit32, agsaFrameHandle_t, bit32)

Definition at line 80 of file tdtypes.h.

◆ tdssIORequestData_t

data structure for IO request data used at target only in ttdtxchg_t structure just a place holder for now

◆ tdssPortFlags_t

data structure for port/phy related flags Some fields are just place holders and not used yet

◆ tdssSMPCompleted_t

typedef void(* tdssSMPCompleted_t) (agsaRoot_t *, agsaIORequest_t *, bit32, bit32, agsaFrameHandle_t)

Definition at line 87 of file tdtypes.h.

◆ tdssSMPReqReceived_t

typedef void(* tdssSMPReqReceived_t) (agsaRoot_t *, agsaDevHandle_t *, agsaSMPFrameHeader_t *, agsaFrameHandle_t, bit32, bit32)

Definition at line 64 of file tdtypes.h.

◆ tdssSMPRequestBody_t

data structure for SAS SMP reuqest body This structure contains IO related fields. agsaIORequest->osData points to this

◆ tdssSSPReqReceived_t

typedef void(* tdssSSPReqReceived_t) (agsaRoot_t *, agsaDevHandle_t *, agsaFrameHandle_t, bit32, bit32, bit32)

Definition at line 56 of file tdtypes.h.