FreeBSD kernel pms device code
ttdtxchg.h
Go to the documentation of this file.
1/*******************************************************************************
2*Copyright (c) 2014 PMC-Sierra, Inc. All rights reserved.
3*
4*Redistribution and use in source and binary forms, with or without modification, are permitted provided
5*that the following conditions are met:
6*1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
7*following disclaimer.
8*2. Redistributions in binary form must reproduce the above copyright notice,
9*this list of conditions and the following disclaimer in the documentation and/or other materials provided
10*with the distribution.
11*
12*THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED
13*WARRANTIES,INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
14*FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
15*FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
16*NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
17*BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
18*LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
19*SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
20
21********************************************************************************/
22/*******************************************************************************/
34typedef struct sas_resp_s
35{
40
41typedef struct smp_resp_s
42{
43 bit8 RespData[1024]; /* SAS Spec */
45
46
47typedef struct
48{
54
55struct tdsaDeviceData_s;
56
57/* I/O structurre */
58typedef struct ttdsaXchg_s
59{
60
61 tdIORequestBody_t IORequestBody; /* has to be at the top */
62 tdssSMPRequestBody_t SMPRequestBody; /* has to be at the second top */
63
65 /* pointer to device(initiator) for which the I/O was initiated */
72 bit32 index; /* index of structure */
75 /* SSPTargetRead/SSPTargetWrite */
77 bit32 FrameType; /* cmnd or TM */
80 /* indicates that at the completion of this data phase, this
81 exchange structure will be freed */
88
89 /* initiator tag a target received */
94 ttdsaDmaMemoryArea_t resp; /* sas response */
95 ttdsaDmaMemoryArea_t smpresp; /* sas smp response */
97 /* for abort task io which is not founded in TD */
99 /* for debugging only */
101 /* PhyId for SMP*/
104 bit32 TLR; /* Transport Layer Retransmit bits */
105 bit32 retries; /* retries */
106 tiIORequest_t *tiIOToBeAbortedRequest; /* IO to be aborted */
107 struct ttdsaXchg_s *XchgToBeAborted; /* Xchg to be aborted */
109
110/*************************************************************************
111** now ttdssIOData_t and old tgtXchgData_t -
112**************************************************************************/
113
114typedef struct ttdsaXchgData_s
115{
126
127
unsigned short bit16
Definition: ostypes.h:98
unsigned long long bit64
Definition: ostypes.h:104
unsigned int bit32
Definition: ostypes.h:99
unsigned char bit8
Definition: ostypes.h:97
data structure stores OS specific and LL specific context
Definition: sa.h:1658
data structure describes an SSP Command INFORMATION UNIT
Definition: sa_spec.h:793
structure describes an SSP Response INFORMATION UNIT
Definition: sa_spec.h:818
structure describes a SAS SSP Task Management command request
Definition: sa_spec.h:898
bit8 SenseData[64]
Definition: ttdtxchg.h:38
agsaSSPResponseInfoUnit_t agResp
Definition: ttdtxchg.h:36
bit8 RespData[4]
Definition: ttdtxchg.h:37
bit8 RespData[1024]
Definition: ttdtxchg.h:43
data structure for SAS SSP IO reuqest body This structure contains IO related fields....
Definition: tdtypes.h:587
data structure for SAS device list This structure maintains the device as a list and information abou...
Definition: tdtypes.h:322
data structure for SAS SMP reuqest body This structure contains IO related fields....
Definition: tdtypes.h:668
Definition: titypes.h:61
bit32 noSendRsp
Definition: ttdtxchg.h:123
bit32 maxNumXchgs
Definition: ttdtxchg.h:116
tdList_t xchgBusyList
Definition: ttdtxchg.h:118
bit32 noCompleted
Definition: ttdtxchg.h:124
bit32 noStartIo
Definition: ttdtxchg.h:122
bit32 noCmdRcvd
Definition: ttdtxchg.h:121
tdList_t xchgFreeList
Definition: ttdtxchg.h:117
bit32 state
Definition: ttdtxchg.h:103
bit32 oslayerAborting
Definition: ttdtxchg.h:70
tdIORequestBody_t IORequestBody
Definition: ttdtxchg.h:61
tiTargetScsiCmnd_t tiTgtScsiCmnd
Definition: ttdtxchg.h:87
tiIORequest_t * tiIOToBeAbortedRequest
Definition: ttdtxchg.h:106
bit32 SMPphyId
Definition: ttdtxchg.h:102
bit32 smprespLen
Definition: ttdtxchg.h:93
tdList_t XchgLinks
Definition: ttdtxchg.h:64
bit64 dataLen
Definition: ttdtxchg.h:91
bit32 index
Definition: ttdtxchg.h:72
bit32 FrameType
Definition: ttdtxchg.h:77
bit16 tag
Definition: ttdtxchg.h:90
bit32 isTMRequest
Definition: ttdtxchg.h:71
bit32 retries
Definition: ttdtxchg.h:105
bit32 responseSent
Definition: ttdtxchg.h:83
bit32 usedEsgl
Definition: ttdtxchg.h:96
bit32 io_found
Definition: ttdtxchg.h:98
bit32 readWrtCollapsedRes
Definition: ttdtxchg.h:86
tiRoot_t * tiRoot
Definition: ttdtxchg.h:79
bit32 wrtRspCollapsed
Definition: ttdtxchg.h:85
struct ttdsaXchg_s * pTMResp
Definition: ttdtxchg.h:67
ttdsaDmaMemoryArea_t smpresp
Definition: ttdtxchg.h:95
bit32 isAborting
Definition: ttdtxchg.h:69
agsaSSPCmdInfoUnit_t agSSPCmndIU
Definition: ttdtxchg.h:73
agsaSSPScsiTaskMgntReq_t agTMIU
Definition: ttdtxchg.h:74
bit32 TLR
Definition: ttdtxchg.h:104
struct tdsaDeviceData_s * DeviceData
Definition: ttdtxchg.h:66
bit32 oustandingIos
Definition: ttdtxchg.h:68
bit32 statusSent
Definition: ttdtxchg.h:82
tdssSMPRequestBody_t SMPRequestBody
Definition: ttdtxchg.h:62
bit32 respLen
Definition: ttdtxchg.h:92
bit32 id
Definition: ttdtxchg.h:100
bit32 readRspCollapsed
Definition: ttdtxchg.h:84
agsaRoot_t * agRoot
Definition: ttdtxchg.h:78
bit32 XchType
Definition: ttdtxchg.h:76
ttdsaDmaMemoryArea_t resp
Definition: ttdtxchg.h:94
struct ttdsaXchg_s * XchgToBeAborted
Definition: ttdtxchg.h:107
struct ttdsaXchg_s ttdsaXchg_t
struct smp_resp_s smp_resp_t
struct sas_resp_s sas_resp_t
struct ttdsaXchgData_s ttdsaXchgData_t