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