diff options
Diffstat (limited to 'drivers/scsi/mpt2sas/mpi/mpi2_tool.h')
-rw-r--r-- | drivers/scsi/mpt2sas/mpi/mpi2_tool.h | 148 |
1 files changed, 143 insertions, 5 deletions
diff --git a/drivers/scsi/mpt2sas/mpi/mpi2_tool.h b/drivers/scsi/mpt2sas/mpi/mpi2_tool.h index 2ff4e936bd39..73fcdbf92632 100644 --- a/drivers/scsi/mpt2sas/mpi/mpi2_tool.h +++ b/drivers/scsi/mpt2sas/mpi/mpi2_tool.h | |||
@@ -1,12 +1,12 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (c) 2000-2008 LSI Corporation. | 2 | * Copyright (c) 2000-2009 LSI Corporation. |
3 | * | 3 | * |
4 | * | 4 | * |
5 | * Name: mpi2_tool.h | 5 | * Name: mpi2_tool.h |
6 | * Title: MPI diagnostic tool structures and definitions | 6 | * Title: MPI diagnostic tool structures and definitions |
7 | * Creation Date: March 26, 2007 | 7 | * Creation Date: March 26, 2007 |
8 | * | 8 | * |
9 | * mpi2_tool.h Version: 02.00.02 | 9 | * mpi2_tool.h Version: 02.00.04 |
10 | * | 10 | * |
11 | * Version History | 11 | * Version History |
12 | * --------------- | 12 | * --------------- |
@@ -17,6 +17,11 @@ | |||
17 | * 12-18-07 02.00.01 Added Diagnostic Buffer Post and Diagnostic Release | 17 | * 12-18-07 02.00.01 Added Diagnostic Buffer Post and Diagnostic Release |
18 | * structures and defines. | 18 | * structures and defines. |
19 | * 02-29-08 02.00.02 Modified various names to make them 32-character unique. | 19 | * 02-29-08 02.00.02 Modified various names to make them 32-character unique. |
20 | * 05-06-09 02.00.03 Added ISTWI Read Write Tool and Diagnostic CLI Tool. | ||
21 | * 07-30-09 02.00.04 Added ExtendedType field to DiagnosticBufferPost request | ||
22 | * and reply messages. | ||
23 | * Added MPI2_DIAG_BUF_TYPE_EXTENDED. | ||
24 | * Incremented MPI2_DIAG_BUF_TYPE_COUNT. | ||
20 | * -------------------------------------------------------------------------- | 25 | * -------------------------------------------------------------------------- |
21 | */ | 26 | */ |
22 | 27 | ||
@@ -32,7 +37,10 @@ | |||
32 | /* defines for the Tools */ | 37 | /* defines for the Tools */ |
33 | #define MPI2_TOOLBOX_CLEAN_TOOL (0x00) | 38 | #define MPI2_TOOLBOX_CLEAN_TOOL (0x00) |
34 | #define MPI2_TOOLBOX_MEMORY_MOVE_TOOL (0x01) | 39 | #define MPI2_TOOLBOX_MEMORY_MOVE_TOOL (0x01) |
40 | #define MPI2_TOOLBOX_ISTWI_READ_WRITE_TOOL (0x03) | ||
35 | #define MPI2_TOOLBOX_BEACON_TOOL (0x05) | 41 | #define MPI2_TOOLBOX_BEACON_TOOL (0x05) |
42 | #define MPI2_TOOLBOX_DIAGNOSTIC_CLI_TOOL (0x06) | ||
43 | |||
36 | 44 | ||
37 | /**************************************************************************** | 45 | /**************************************************************************** |
38 | * Toolbox reply | 46 | * Toolbox reply |
@@ -112,6 +120,77 @@ typedef struct _MPI2_TOOLBOX_MEM_MOVE_REQUEST | |||
112 | 120 | ||
113 | 121 | ||
114 | /**************************************************************************** | 122 | /**************************************************************************** |
123 | * Toolbox ISTWI Read Write Tool | ||
124 | ****************************************************************************/ | ||
125 | |||
126 | /* Toolbox ISTWI Read Write Tool request message */ | ||
127 | typedef struct _MPI2_TOOLBOX_ISTWI_READ_WRITE_REQUEST { | ||
128 | U8 Tool; /* 0x00 */ | ||
129 | U8 Reserved1; /* 0x01 */ | ||
130 | U8 ChainOffset; /* 0x02 */ | ||
131 | U8 Function; /* 0x03 */ | ||
132 | U16 Reserved2; /* 0x04 */ | ||
133 | U8 Reserved3; /* 0x06 */ | ||
134 | U8 MsgFlags; /* 0x07 */ | ||
135 | U8 VP_ID; /* 0x08 */ | ||
136 | U8 VF_ID; /* 0x09 */ | ||
137 | U16 Reserved4; /* 0x0A */ | ||
138 | U32 Reserved5; /* 0x0C */ | ||
139 | U32 Reserved6; /* 0x10 */ | ||
140 | U8 DevIndex; /* 0x14 */ | ||
141 | U8 Action; /* 0x15 */ | ||
142 | U8 SGLFlags; /* 0x16 */ | ||
143 | U8 Reserved7; /* 0x17 */ | ||
144 | U16 TxDataLength; /* 0x18 */ | ||
145 | U16 RxDataLength; /* 0x1A */ | ||
146 | U32 Reserved8; /* 0x1C */ | ||
147 | U32 Reserved9; /* 0x20 */ | ||
148 | U32 Reserved10; /* 0x24 */ | ||
149 | U32 Reserved11; /* 0x28 */ | ||
150 | U32 Reserved12; /* 0x2C */ | ||
151 | MPI2_SGE_SIMPLE_UNION SGL; /* 0x30 */ | ||
152 | } MPI2_TOOLBOX_ISTWI_READ_WRITE_REQUEST, | ||
153 | MPI2_POINTER PTR_MPI2_TOOLBOX_ISTWI_READ_WRITE_REQUEST, | ||
154 | Mpi2ToolboxIstwiReadWriteRequest_t, | ||
155 | MPI2_POINTER pMpi2ToolboxIstwiReadWriteRequest_t; | ||
156 | |||
157 | /* values for the Action field */ | ||
158 | #define MPI2_TOOL_ISTWI_ACTION_READ_DATA (0x01) | ||
159 | #define MPI2_TOOL_ISTWI_ACTION_WRITE_DATA (0x02) | ||
160 | #define MPI2_TOOL_ISTWI_ACTION_SEQUENCE (0x03) | ||
161 | #define MPI2_TOOL_ISTWI_ACTION_RESERVE_BUS (0x10) | ||
162 | #define MPI2_TOOL_ISTWI_ACTION_RELEASE_BUS (0x11) | ||
163 | #define MPI2_TOOL_ISTWI_ACTION_RESET (0x12) | ||
164 | |||
165 | /* values for SGLFlags field are in the SGL section of mpi2.h */ | ||
166 | |||
167 | |||
168 | /* Toolbox ISTWI Read Write Tool reply message */ | ||
169 | typedef struct _MPI2_TOOLBOX_ISTWI_REPLY { | ||
170 | U8 Tool; /* 0x00 */ | ||
171 | U8 Reserved1; /* 0x01 */ | ||
172 | U8 MsgLength; /* 0x02 */ | ||
173 | U8 Function; /* 0x03 */ | ||
174 | U16 Reserved2; /* 0x04 */ | ||
175 | U8 Reserved3; /* 0x06 */ | ||
176 | U8 MsgFlags; /* 0x07 */ | ||
177 | U8 VP_ID; /* 0x08 */ | ||
178 | U8 VF_ID; /* 0x09 */ | ||
179 | U16 Reserved4; /* 0x0A */ | ||
180 | U16 Reserved5; /* 0x0C */ | ||
181 | U16 IOCStatus; /* 0x0E */ | ||
182 | U32 IOCLogInfo; /* 0x10 */ | ||
183 | U8 DevIndex; /* 0x14 */ | ||
184 | U8 Action; /* 0x15 */ | ||
185 | U8 IstwiStatus; /* 0x16 */ | ||
186 | U8 Reserved6; /* 0x17 */ | ||
187 | U16 TxDataCount; /* 0x18 */ | ||
188 | U16 RxDataCount; /* 0x1A */ | ||
189 | } MPI2_TOOLBOX_ISTWI_REPLY, MPI2_POINTER PTR_MPI2_TOOLBOX_ISTWI_REPLY, | ||
190 | Mpi2ToolboxIstwiReply_t, MPI2_POINTER pMpi2ToolboxIstwiReply_t; | ||
191 | |||
192 | |||
193 | /**************************************************************************** | ||
115 | * Toolbox Beacon Tool request | 194 | * Toolbox Beacon Tool request |
116 | ****************************************************************************/ | 195 | ****************************************************************************/ |
117 | 196 | ||
@@ -139,6 +218,61 @@ typedef struct _MPI2_TOOLBOX_BEACON_REQUEST | |||
139 | #define MPI2_TOOLBOX_FLAGS_BEACONMODE_ON (0x01) | 218 | #define MPI2_TOOLBOX_FLAGS_BEACONMODE_ON (0x01) |
140 | 219 | ||
141 | 220 | ||
221 | /**************************************************************************** | ||
222 | * Toolbox Diagnostic CLI Tool | ||
223 | ****************************************************************************/ | ||
224 | |||
225 | #define MPI2_TOOLBOX_DIAG_CLI_CMD_LENGTH (0x5C) | ||
226 | |||
227 | /* Toolbox Diagnostic CLI Tool request message */ | ||
228 | typedef struct _MPI2_TOOLBOX_DIAGNOSTIC_CLI_REQUEST { | ||
229 | U8 Tool; /* 0x00 */ | ||
230 | U8 Reserved1; /* 0x01 */ | ||
231 | U8 ChainOffset; /* 0x02 */ | ||
232 | U8 Function; /* 0x03 */ | ||
233 | U16 Reserved2; /* 0x04 */ | ||
234 | U8 Reserved3; /* 0x06 */ | ||
235 | U8 MsgFlags; /* 0x07 */ | ||
236 | U8 VP_ID; /* 0x08 */ | ||
237 | U8 VF_ID; /* 0x09 */ | ||
238 | U16 Reserved4; /* 0x0A */ | ||
239 | U8 SGLFlags; /* 0x0C */ | ||
240 | U8 Reserved5; /* 0x0D */ | ||
241 | U16 Reserved6; /* 0x0E */ | ||
242 | U32 DataLength; /* 0x10 */ | ||
243 | U8 DiagnosticCliCommand | ||
244 | [MPI2_TOOLBOX_DIAG_CLI_CMD_LENGTH]; /* 0x14 */ | ||
245 | MPI2_SGE_SIMPLE_UNION SGL; /* 0x70 */ | ||
246 | } MPI2_TOOLBOX_DIAGNOSTIC_CLI_REQUEST, | ||
247 | MPI2_POINTER PTR_MPI2_TOOLBOX_DIAGNOSTIC_CLI_REQUEST, | ||
248 | Mpi2ToolboxDiagnosticCliRequest_t, | ||
249 | MPI2_POINTER pMpi2ToolboxDiagnosticCliRequest_t; | ||
250 | |||
251 | /* values for SGLFlags field are in the SGL section of mpi2.h */ | ||
252 | |||
253 | |||
254 | /* Toolbox Diagnostic CLI Tool reply message */ | ||
255 | typedef struct _MPI2_TOOLBOX_DIAGNOSTIC_CLI_REPLY { | ||
256 | U8 Tool; /* 0x00 */ | ||
257 | U8 Reserved1; /* 0x01 */ | ||
258 | U8 MsgLength; /* 0x02 */ | ||
259 | U8 Function; /* 0x03 */ | ||
260 | U16 Reserved2; /* 0x04 */ | ||
261 | U8 Reserved3; /* 0x06 */ | ||
262 | U8 MsgFlags; /* 0x07 */ | ||
263 | U8 VP_ID; /* 0x08 */ | ||
264 | U8 VF_ID; /* 0x09 */ | ||
265 | U16 Reserved4; /* 0x0A */ | ||
266 | U16 Reserved5; /* 0x0C */ | ||
267 | U16 IOCStatus; /* 0x0E */ | ||
268 | U32 IOCLogInfo; /* 0x10 */ | ||
269 | U32 ReturnedDataLength; /* 0x14 */ | ||
270 | } MPI2_TOOLBOX_DIAGNOSTIC_CLI_REPLY, | ||
271 | MPI2_POINTER PTR_MPI2_TOOLBOX_DIAG_CLI_REPLY, | ||
272 | Mpi2ToolboxDiagnosticCliReply_t, | ||
273 | MPI2_POINTER pMpi2ToolboxDiagnosticCliReply_t; | ||
274 | |||
275 | |||
142 | /***************************************************************************** | 276 | /***************************************************************************** |
143 | * | 277 | * |
144 | * Diagnostic Buffer Messages | 278 | * Diagnostic Buffer Messages |
@@ -152,7 +286,7 @@ typedef struct _MPI2_TOOLBOX_BEACON_REQUEST | |||
152 | 286 | ||
153 | typedef struct _MPI2_DIAG_BUFFER_POST_REQUEST | 287 | typedef struct _MPI2_DIAG_BUFFER_POST_REQUEST |
154 | { | 288 | { |
155 | U8 Reserved1; /* 0x00 */ | 289 | U8 ExtendedType; /* 0x00 */ |
156 | U8 BufferType; /* 0x01 */ | 290 | U8 BufferType; /* 0x01 */ |
157 | U8 ChainOffset; /* 0x02 */ | 291 | U8 ChainOffset; /* 0x02 */ |
158 | U8 Function; /* 0x03 */ | 292 | U8 Function; /* 0x03 */ |
@@ -171,11 +305,15 @@ typedef struct _MPI2_DIAG_BUFFER_POST_REQUEST | |||
171 | } MPI2_DIAG_BUFFER_POST_REQUEST, MPI2_POINTER PTR_MPI2_DIAG_BUFFER_POST_REQUEST, | 305 | } MPI2_DIAG_BUFFER_POST_REQUEST, MPI2_POINTER PTR_MPI2_DIAG_BUFFER_POST_REQUEST, |
172 | Mpi2DiagBufferPostRequest_t, MPI2_POINTER pMpi2DiagBufferPostRequest_t; | 306 | Mpi2DiagBufferPostRequest_t, MPI2_POINTER pMpi2DiagBufferPostRequest_t; |
173 | 307 | ||
308 | /* values for the ExtendedType field */ | ||
309 | #define MPI2_DIAG_EXTENDED_TYPE_UTILIZATION (0x02) | ||
310 | |||
174 | /* values for the BufferType field */ | 311 | /* values for the BufferType field */ |
175 | #define MPI2_DIAG_BUF_TYPE_TRACE (0x00) | 312 | #define MPI2_DIAG_BUF_TYPE_TRACE (0x00) |
176 | #define MPI2_DIAG_BUF_TYPE_SNAPSHOT (0x01) | 313 | #define MPI2_DIAG_BUF_TYPE_SNAPSHOT (0x01) |
314 | #define MPI2_DIAG_BUF_TYPE_EXTENDED (0x02) | ||
177 | /* count of the number of buffer types */ | 315 | /* count of the number of buffer types */ |
178 | #define MPI2_DIAG_BUF_TYPE_COUNT (0x02) | 316 | #define MPI2_DIAG_BUF_TYPE_COUNT (0x03) |
179 | 317 | ||
180 | 318 | ||
181 | /**************************************************************************** | 319 | /**************************************************************************** |
@@ -184,7 +322,7 @@ typedef struct _MPI2_DIAG_BUFFER_POST_REQUEST | |||
184 | 322 | ||
185 | typedef struct _MPI2_DIAG_BUFFER_POST_REPLY | 323 | typedef struct _MPI2_DIAG_BUFFER_POST_REPLY |
186 | { | 324 | { |
187 | U8 Reserved1; /* 0x00 */ | 325 | U8 ExtendedType; /* 0x00 */ |
188 | U8 BufferType; /* 0x01 */ | 326 | U8 BufferType; /* 0x01 */ |
189 | U8 MsgLength; /* 0x02 */ | 327 | U8 MsgLength; /* 0x02 */ |
190 | U8 Function; /* 0x03 */ | 328 | U8 Function; /* 0x03 */ |