diff options
Diffstat (limited to 'drivers/message/fusion/lsi/mpi_inb.h')
-rw-r--r-- | drivers/message/fusion/lsi/mpi_inb.h | 220 |
1 files changed, 220 insertions, 0 deletions
diff --git a/drivers/message/fusion/lsi/mpi_inb.h b/drivers/message/fusion/lsi/mpi_inb.h new file mode 100644 index 000000000000..dae29fbed56f --- /dev/null +++ b/drivers/message/fusion/lsi/mpi_inb.h | |||
@@ -0,0 +1,220 @@ | |||
1 | /* | ||
2 | * Copyright (c) 2003 LSI Logic Corporation. | ||
3 | * | ||
4 | * | ||
5 | * Name: mpi_inb.h | ||
6 | * Title: MPI Inband structures and definitions | ||
7 | * Creation Date: September 30, 2003 | ||
8 | * | ||
9 | * mpi_inb.h Version: 01.03.xx | ||
10 | * | ||
11 | * Version History | ||
12 | * --------------- | ||
13 | * | ||
14 | * Date Version Description | ||
15 | * -------- -------- ------------------------------------------------------ | ||
16 | * ??-??-?? 01.03.01 Original release. | ||
17 | * -------------------------------------------------------------------------- | ||
18 | */ | ||
19 | |||
20 | #ifndef MPI_INB_H | ||
21 | #define MPI_INB_H | ||
22 | |||
23 | /****************************************************************************** | ||
24 | * | ||
25 | * I n b a n d M e s s a g e s | ||
26 | * | ||
27 | *******************************************************************************/ | ||
28 | |||
29 | |||
30 | /****************************************************************************/ | ||
31 | /* Inband Buffer Post Request */ | ||
32 | /****************************************************************************/ | ||
33 | |||
34 | typedef struct _MSG_INBAND_BUFFER_POST_REQUEST | ||
35 | { | ||
36 | U8 Reserved1; /* 00h */ | ||
37 | U8 BufferCount; /* 01h */ | ||
38 | U8 ChainOffset; /* 02h */ | ||
39 | U8 Function; /* 03h */ | ||
40 | U16 Reserved2; /* 04h */ | ||
41 | U8 Reserved3; /* 06h */ | ||
42 | U8 MsgFlags; /* 07h */ | ||
43 | U32 MsgContext; /* 08h */ | ||
44 | U32 Reserved4; /* 0Ch */ | ||
45 | SGE_TRANS_SIMPLE_UNION SGL; /* 10h */ | ||
46 | } MSG_INBAND_BUFFER_POST_REQUEST, MPI_POINTER PTR_MSG_INBAND_BUFFER_POST_REQUEST, | ||
47 | MpiInbandBufferPostRequest_t , MPI_POINTER pMpiInbandBufferPostRequest_t; | ||
48 | |||
49 | |||
50 | typedef struct _WWN_FC_FORMAT | ||
51 | { | ||
52 | U64 NodeName; /* 00h */ | ||
53 | U64 PortName; /* 08h */ | ||
54 | } WWN_FC_FORMAT, MPI_POINTER PTR_WWN_FC_FORMAT, | ||
55 | WwnFcFormat_t, MPI_POINTER pWwnFcFormat_t; | ||
56 | |||
57 | typedef struct _WWN_SAS_FORMAT | ||
58 | { | ||
59 | U64 WorldWideID; /* 00h */ | ||
60 | U32 Reserved1; /* 08h */ | ||
61 | U32 Reserved2; /* 0Ch */ | ||
62 | } WWN_SAS_FORMAT, MPI_POINTER PTR_WWN_SAS_FORMAT, | ||
63 | WwnSasFormat_t, MPI_POINTER pWwnSasFormat_t; | ||
64 | |||
65 | typedef union _WWN_INBAND_FORMAT | ||
66 | { | ||
67 | WWN_FC_FORMAT Fc; | ||
68 | WWN_SAS_FORMAT Sas; | ||
69 | } WWN_INBAND_FORMAT, MPI_POINTER PTR_WWN_INBAND_FORMAT, | ||
70 | WwnInbandFormat, MPI_POINTER pWwnInbandFormat; | ||
71 | |||
72 | |||
73 | /* Inband Buffer Post reply message */ | ||
74 | |||
75 | typedef struct _MSG_INBAND_BUFFER_POST_REPLY | ||
76 | { | ||
77 | U16 Reserved1; /* 00h */ | ||
78 | U8 MsgLength; /* 02h */ | ||
79 | U8 Function; /* 03h */ | ||
80 | U16 Reserved2; /* 04h */ | ||
81 | U8 Reserved3; /* 06h */ | ||
82 | U8 MsgFlags; /* 07h */ | ||
83 | U32 MsgContext; /* 08h */ | ||
84 | U16 Reserved4; /* 0Ch */ | ||
85 | U16 IOCStatus; /* 0Eh */ | ||
86 | U32 IOCLogInfo; /* 10h */ | ||
87 | U32 TransferLength; /* 14h */ | ||
88 | U32 TransactionContext; /* 18h */ | ||
89 | WWN_INBAND_FORMAT Wwn; /* 1Ch */ | ||
90 | U32 IOCIdentifier[4]; /* 2Ch */ | ||
91 | } MSG_INBAND_BUFFER_POST_REPLY, MPI_POINTER PTR_MSG_INBAND_BUFFER_POST_REPLY, | ||
92 | MpiInbandBufferPostReply_t, MPI_POINTER pMpiInbandBufferPostReply_t; | ||
93 | |||
94 | |||
95 | /****************************************************************************/ | ||
96 | /* Inband Send Request */ | ||
97 | /****************************************************************************/ | ||
98 | |||
99 | typedef struct _MSG_INBAND_SEND_REQUEST | ||
100 | { | ||
101 | U16 Reserved1; /* 00h */ | ||
102 | U8 ChainOffset; /* 02h */ | ||
103 | U8 Function; /* 03h */ | ||
104 | U16 Reserved2; /* 04h */ | ||
105 | U8 Reserved3; /* 06h */ | ||
106 | U8 MsgFlags; /* 07h */ | ||
107 | U32 MsgContext; /* 08h */ | ||
108 | U32 Reserved4; /* 0Ch */ | ||
109 | WWN_INBAND_FORMAT Wwn; /* 10h */ | ||
110 | U32 Reserved5; /* 20h */ | ||
111 | SGE_IO_UNION SGL; /* 24h */ | ||
112 | } MSG_INBAND_SEND_REQUEST, MPI_POINTER PTR_MSG_INBAND_SEND_REQUEST, | ||
113 | MpiInbandSendRequest_t , MPI_POINTER pMpiInbandSendRequest_t; | ||
114 | |||
115 | |||
116 | /* Inband Send reply message */ | ||
117 | |||
118 | typedef struct _MSG_INBAND_SEND_REPLY | ||
119 | { | ||
120 | U16 Reserved1; /* 00h */ | ||
121 | U8 MsgLength; /* 02h */ | ||
122 | U8 Function; /* 03h */ | ||
123 | U16 Reserved2; /* 04h */ | ||
124 | U8 Reserved3; /* 06h */ | ||
125 | U8 MsgFlags; /* 07h */ | ||
126 | U32 MsgContext; /* 08h */ | ||
127 | U16 Reserved4; /* 0Ch */ | ||
128 | U16 IOCStatus; /* 0Eh */ | ||
129 | U32 IOCLogInfo; /* 10h */ | ||
130 | U32 ResponseLength; /* 14h */ | ||
131 | } MSG_INBAND_SEND_REPLY, MPI_POINTER PTR_MSG_INBAND_SEND_REPLY, | ||
132 | MpiInbandSendReply_t, MPI_POINTER pMpiInbandSendReply_t; | ||
133 | |||
134 | |||
135 | /****************************************************************************/ | ||
136 | /* Inband Response Request */ | ||
137 | /****************************************************************************/ | ||
138 | |||
139 | typedef struct _MSG_INBAND_RSP_REQUEST | ||
140 | { | ||
141 | U16 Reserved1; /* 00h */ | ||
142 | U8 ChainOffset; /* 02h */ | ||
143 | U8 Function; /* 03h */ | ||
144 | U16 Reserved2; /* 04h */ | ||
145 | U8 Reserved3; /* 06h */ | ||
146 | U8 MsgFlags; /* 07h */ | ||
147 | U32 MsgContext; /* 08h */ | ||
148 | U32 Reserved4; /* 0Ch */ | ||
149 | WWN_INBAND_FORMAT Wwn; /* 10h */ | ||
150 | U32 IOCIdentifier[4]; /* 20h */ | ||
151 | U32 ResponseLength; /* 30h */ | ||
152 | SGE_IO_UNION SGL; /* 34h */ | ||
153 | } MSG_INBAND_RSP_REQUEST, MPI_POINTER PTR_MSG_INBAND_RSP_REQUEST, | ||
154 | MpiInbandRspRequest_t , MPI_POINTER pMpiInbandRspRequest_t; | ||
155 | |||
156 | |||
157 | /* Inband Response reply message */ | ||
158 | |||
159 | typedef struct _MSG_INBAND_RSP_REPLY | ||
160 | { | ||
161 | U16 Reserved1; /* 00h */ | ||
162 | U8 MsgLength; /* 02h */ | ||
163 | U8 Function; /* 03h */ | ||
164 | U16 Reserved2; /* 04h */ | ||
165 | U8 Reserved3; /* 06h */ | ||
166 | U8 MsgFlags; /* 07h */ | ||
167 | U32 MsgContext; /* 08h */ | ||
168 | U16 Reserved4; /* 0Ch */ | ||
169 | U16 IOCStatus; /* 0Eh */ | ||
170 | U32 IOCLogInfo; /* 10h */ | ||
171 | } MSG_INBAND_RSP_REPLY, MPI_POINTER PTR_MSG_INBAND_RSP_REPLY, | ||
172 | MpiInbandRspReply_t, MPI_POINTER pMpiInbandRspReply_t; | ||
173 | |||
174 | |||
175 | /****************************************************************************/ | ||
176 | /* Inband Abort Request */ | ||
177 | /****************************************************************************/ | ||
178 | |||
179 | typedef struct _MSG_INBAND_ABORT_REQUEST | ||
180 | { | ||
181 | U8 Reserved1; /* 00h */ | ||
182 | U8 AbortType; /* 01h */ | ||
183 | U8 ChainOffset; /* 02h */ | ||
184 | U8 Function; /* 03h */ | ||
185 | U16 Reserved2; /* 04h */ | ||
186 | U8 Reserved3; /* 06h */ | ||
187 | U8 MsgFlags; /* 07h */ | ||
188 | U32 MsgContext; /* 08h */ | ||
189 | U32 Reserved4; /* 0Ch */ | ||
190 | U32 ContextToAbort; /* 10h */ | ||
191 | } MSG_INBAND_ABORT_REQUEST, MPI_POINTER PTR_MSG_INBAND_ABORT_REQUEST, | ||
192 | MpiInbandAbortRequest_t , MPI_POINTER pMpiInbandAbortRequest_t; | ||
193 | |||
194 | #define MPI_INBAND_ABORT_TYPE_ALL_BUFFERS (0x00) | ||
195 | #define MPI_INBAND_ABORT_TYPE_EXACT_BUFFER (0x01) | ||
196 | #define MPI_INBAND_ABORT_TYPE_SEND_REQUEST (0x02) | ||
197 | #define MPI_INBAND_ABORT_TYPE_RESPONSE_REQUEST (0x03) | ||
198 | |||
199 | |||
200 | /* Inband Abort reply message */ | ||
201 | |||
202 | typedef struct _MSG_INBAND_ABORT_REPLY | ||
203 | { | ||
204 | U8 Reserved1; /* 00h */ | ||
205 | U8 AbortType; /* 01h */ | ||
206 | U8 MsgLength; /* 02h */ | ||
207 | U8 Function; /* 03h */ | ||
208 | U16 Reserved2; /* 04h */ | ||
209 | U8 Reserved3; /* 06h */ | ||
210 | U8 MsgFlags; /* 07h */ | ||
211 | U32 MsgContext; /* 08h */ | ||
212 | U16 Reserved4; /* 0Ch */ | ||
213 | U16 IOCStatus; /* 0Eh */ | ||
214 | U32 IOCLogInfo; /* 10h */ | ||
215 | } MSG_INBAND_ABORT_REPLY, MPI_POINTER PTR_MSG_INBAND_ABORT_REPLY, | ||
216 | MpiInbandAbortReply_t, MPI_POINTER pMpiInbandAbortReply_t; | ||
217 | |||
218 | |||
219 | #endif | ||
220 | |||