diff options
author | Ingo Molnar <mingo@elte.hu> | 2009-10-15 02:07:26 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-10-15 02:07:30 -0400 |
commit | a0738a688d1105cbf8d71868a1e020c6cdf42d4c (patch) | |
tree | 2cad553a9def773ce79b8fc793f89c0634187109 /drivers/scsi/mpt2sas/mpi | |
parent | 89ccf465abe6b20d804a63ae20307970c441369d (diff) | |
parent | a3ccf63ee643ef243cbf8918da8b3f9238f10029 (diff) |
Merge branch 'linus' into x86/urgent
Merge reason: pull in latest, to be able to revert a patch there.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'drivers/scsi/mpt2sas/mpi')
-rw-r--r-- | drivers/scsi/mpt2sas/mpi/mpi2.h | 103 | ||||
-rw-r--r-- | drivers/scsi/mpt2sas/mpi/mpi2_cnfg.h | 200 | ||||
-rw-r--r-- | drivers/scsi/mpt2sas/mpi/mpi2_history.txt | 334 | ||||
-rw-r--r-- | drivers/scsi/mpt2sas/mpi/mpi2_init.h | 18 | ||||
-rw-r--r-- | drivers/scsi/mpt2sas/mpi/mpi2_ioc.h | 65 | ||||
-rw-r--r-- | drivers/scsi/mpt2sas/mpi/mpi2_tool.h | 134 |
6 files changed, 805 insertions, 49 deletions
diff --git a/drivers/scsi/mpt2sas/mpi/mpi2.h b/drivers/scsi/mpt2sas/mpi/mpi2.h index 7bb2ece8b2e4..f9f6c0839276 100644 --- a/drivers/scsi/mpt2sas/mpi/mpi2.h +++ b/drivers/scsi/mpt2sas/mpi/mpi2.h | |||
@@ -8,7 +8,7 @@ | |||
8 | * scatter/gather formats. | 8 | * scatter/gather formats. |
9 | * Creation Date: June 21, 2006 | 9 | * Creation Date: June 21, 2006 |
10 | * | 10 | * |
11 | * mpi2.h Version: 02.00.11 | 11 | * mpi2.h Version: 02.00.12 |
12 | * | 12 | * |
13 | * Version History | 13 | * Version History |
14 | * --------------- | 14 | * --------------- |
@@ -45,6 +45,13 @@ | |||
45 | * 10-02-08 02.00.10 Bumped MPI2_HEADER_VERSION_UNIT. | 45 | * 10-02-08 02.00.10 Bumped MPI2_HEADER_VERSION_UNIT. |
46 | * Moved LUN field defines from mpi2_init.h. | 46 | * Moved LUN field defines from mpi2_init.h. |
47 | * 01-19-09 02.00.11 Bumped MPI2_HEADER_VERSION_UNIT. | 47 | * 01-19-09 02.00.11 Bumped MPI2_HEADER_VERSION_UNIT. |
48 | * 05-06-09 02.00.12 Bumped MPI2_HEADER_VERSION_UNIT. | ||
49 | * In all request and reply descriptors, replaced VF_ID | ||
50 | * field with MSIxIndex field. | ||
51 | * Removed DevHandle field from | ||
52 | * MPI2_SCSI_IO_SUCCESS_REPLY_DESCRIPTOR and made those | ||
53 | * bytes reserved. | ||
54 | * Added RAID Accelerator functionality. | ||
48 | * -------------------------------------------------------------------------- | 55 | * -------------------------------------------------------------------------- |
49 | */ | 56 | */ |
50 | 57 | ||
@@ -70,7 +77,7 @@ | |||
70 | #define MPI2_VERSION_02_00 (0x0200) | 77 | #define MPI2_VERSION_02_00 (0x0200) |
71 | 78 | ||
72 | /* versioning for this MPI header set */ | 79 | /* versioning for this MPI header set */ |
73 | #define MPI2_HEADER_VERSION_UNIT (0x0B) | 80 | #define MPI2_HEADER_VERSION_UNIT (0x0C) |
74 | #define MPI2_HEADER_VERSION_DEV (0x00) | 81 | #define MPI2_HEADER_VERSION_DEV (0x00) |
75 | #define MPI2_HEADER_VERSION_UNIT_MASK (0xFF00) | 82 | #define MPI2_HEADER_VERSION_UNIT_MASK (0xFF00) |
76 | #define MPI2_HEADER_VERSION_UNIT_SHIFT (8) | 83 | #define MPI2_HEADER_VERSION_UNIT_SHIFT (8) |
@@ -257,7 +264,7 @@ typedef volatile struct _MPI2_SYSTEM_INTERFACE_REGS | |||
257 | typedef struct _MPI2_DEFAULT_REQUEST_DESCRIPTOR | 264 | typedef struct _MPI2_DEFAULT_REQUEST_DESCRIPTOR |
258 | { | 265 | { |
259 | U8 RequestFlags; /* 0x00 */ | 266 | U8 RequestFlags; /* 0x00 */ |
260 | U8 VF_ID; /* 0x01 */ | 267 | U8 MSIxIndex; /* 0x01 */ |
261 | U16 SMID; /* 0x02 */ | 268 | U16 SMID; /* 0x02 */ |
262 | U16 LMID; /* 0x04 */ | 269 | U16 LMID; /* 0x04 */ |
263 | U16 DescriptorTypeDependent; /* 0x06 */ | 270 | U16 DescriptorTypeDependent; /* 0x06 */ |
@@ -271,6 +278,7 @@ typedef struct _MPI2_DEFAULT_REQUEST_DESCRIPTOR | |||
271 | #define MPI2_REQ_DESCRIPT_FLAGS_SCSI_TARGET (0x02) | 278 | #define MPI2_REQ_DESCRIPT_FLAGS_SCSI_TARGET (0x02) |
272 | #define MPI2_REQ_DESCRIPT_FLAGS_HIGH_PRIORITY (0x06) | 279 | #define MPI2_REQ_DESCRIPT_FLAGS_HIGH_PRIORITY (0x06) |
273 | #define MPI2_REQ_DESCRIPT_FLAGS_DEFAULT_TYPE (0x08) | 280 | #define MPI2_REQ_DESCRIPT_FLAGS_DEFAULT_TYPE (0x08) |
281 | #define MPI2_REQ_DESCRIPT_FLAGS_RAID_ACCELERATOR (0x0A) | ||
274 | 282 | ||
275 | #define MPI2_REQ_DESCRIPT_FLAGS_IOC_FIFO_MARKER (0x01) | 283 | #define MPI2_REQ_DESCRIPT_FLAGS_IOC_FIFO_MARKER (0x01) |
276 | 284 | ||
@@ -279,7 +287,7 @@ typedef struct _MPI2_DEFAULT_REQUEST_DESCRIPTOR | |||
279 | typedef struct _MPI2_HIGH_PRIORITY_REQUEST_DESCRIPTOR | 287 | typedef struct _MPI2_HIGH_PRIORITY_REQUEST_DESCRIPTOR |
280 | { | 288 | { |
281 | U8 RequestFlags; /* 0x00 */ | 289 | U8 RequestFlags; /* 0x00 */ |
282 | U8 VF_ID; /* 0x01 */ | 290 | U8 MSIxIndex; /* 0x01 */ |
283 | U16 SMID; /* 0x02 */ | 291 | U16 SMID; /* 0x02 */ |
284 | U16 LMID; /* 0x04 */ | 292 | U16 LMID; /* 0x04 */ |
285 | U16 Reserved1; /* 0x06 */ | 293 | U16 Reserved1; /* 0x06 */ |
@@ -293,7 +301,7 @@ typedef struct _MPI2_HIGH_PRIORITY_REQUEST_DESCRIPTOR | |||
293 | typedef struct _MPI2_SCSI_IO_REQUEST_DESCRIPTOR | 301 | typedef struct _MPI2_SCSI_IO_REQUEST_DESCRIPTOR |
294 | { | 302 | { |
295 | U8 RequestFlags; /* 0x00 */ | 303 | U8 RequestFlags; /* 0x00 */ |
296 | U8 VF_ID; /* 0x01 */ | 304 | U8 MSIxIndex; /* 0x01 */ |
297 | U16 SMID; /* 0x02 */ | 305 | U16 SMID; /* 0x02 */ |
298 | U16 LMID; /* 0x04 */ | 306 | U16 LMID; /* 0x04 */ |
299 | U16 DevHandle; /* 0x06 */ | 307 | U16 DevHandle; /* 0x06 */ |
@@ -306,7 +314,7 @@ typedef struct _MPI2_SCSI_IO_REQUEST_DESCRIPTOR | |||
306 | typedef struct _MPI2_SCSI_TARGET_REQUEST_DESCRIPTOR | 314 | typedef struct _MPI2_SCSI_TARGET_REQUEST_DESCRIPTOR |
307 | { | 315 | { |
308 | U8 RequestFlags; /* 0x00 */ | 316 | U8 RequestFlags; /* 0x00 */ |
309 | U8 VF_ID; /* 0x01 */ | 317 | U8 MSIxIndex; /* 0x01 */ |
310 | U16 SMID; /* 0x02 */ | 318 | U16 SMID; /* 0x02 */ |
311 | U16 LMID; /* 0x04 */ | 319 | U16 LMID; /* 0x04 */ |
312 | U16 IoIndex; /* 0x06 */ | 320 | U16 IoIndex; /* 0x06 */ |
@@ -315,14 +323,29 @@ typedef struct _MPI2_SCSI_TARGET_REQUEST_DESCRIPTOR | |||
315 | Mpi2SCSITargetRequestDescriptor_t, | 323 | Mpi2SCSITargetRequestDescriptor_t, |
316 | MPI2_POINTER pMpi2SCSITargetRequestDescriptor_t; | 324 | MPI2_POINTER pMpi2SCSITargetRequestDescriptor_t; |
317 | 325 | ||
326 | |||
327 | /* RAID Accelerator Request Descriptor */ | ||
328 | typedef struct _MPI2_RAID_ACCEL_REQUEST_DESCRIPTOR { | ||
329 | U8 RequestFlags; /* 0x00 */ | ||
330 | U8 MSIxIndex; /* 0x01 */ | ||
331 | U16 SMID; /* 0x02 */ | ||
332 | U16 LMID; /* 0x04 */ | ||
333 | U16 Reserved; /* 0x06 */ | ||
334 | } MPI2_RAID_ACCEL_REQUEST_DESCRIPTOR, | ||
335 | MPI2_POINTER PTR_MPI2_RAID_ACCEL_REQUEST_DESCRIPTOR, | ||
336 | Mpi2RAIDAcceleratorRequestDescriptor_t, | ||
337 | MPI2_POINTER pMpi2RAIDAcceleratorRequestDescriptor_t; | ||
338 | |||
339 | |||
318 | /* union of Request Descriptors */ | 340 | /* union of Request Descriptors */ |
319 | typedef union _MPI2_REQUEST_DESCRIPTOR_UNION | 341 | typedef union _MPI2_REQUEST_DESCRIPTOR_UNION |
320 | { | 342 | { |
321 | MPI2_DEFAULT_REQUEST_DESCRIPTOR Default; | 343 | MPI2_DEFAULT_REQUEST_DESCRIPTOR Default; |
322 | MPI2_HIGH_PRIORITY_REQUEST_DESCRIPTOR HighPriority; | 344 | MPI2_HIGH_PRIORITY_REQUEST_DESCRIPTOR HighPriority; |
323 | MPI2_SCSI_IO_REQUEST_DESCRIPTOR SCSIIO; | 345 | MPI2_SCSI_IO_REQUEST_DESCRIPTOR SCSIIO; |
324 | MPI2_SCSI_TARGET_REQUEST_DESCRIPTOR SCSITarget; | 346 | MPI2_SCSI_TARGET_REQUEST_DESCRIPTOR SCSITarget; |
325 | U64 Words; | 347 | MPI2_RAID_ACCEL_REQUEST_DESCRIPTOR RAIDAccelerator; |
348 | U64 Words; | ||
326 | } MPI2_REQUEST_DESCRIPTOR_UNION, MPI2_POINTER PTR_MPI2_REQUEST_DESCRIPTOR_UNION, | 349 | } MPI2_REQUEST_DESCRIPTOR_UNION, MPI2_POINTER PTR_MPI2_REQUEST_DESCRIPTOR_UNION, |
327 | Mpi2RequestDescriptorUnion_t, MPI2_POINTER pMpi2RequestDescriptorUnion_t; | 350 | Mpi2RequestDescriptorUnion_t, MPI2_POINTER pMpi2RequestDescriptorUnion_t; |
328 | 351 | ||
@@ -333,19 +356,20 @@ typedef union _MPI2_REQUEST_DESCRIPTOR_UNION | |||
333 | typedef struct _MPI2_DEFAULT_REPLY_DESCRIPTOR | 356 | typedef struct _MPI2_DEFAULT_REPLY_DESCRIPTOR |
334 | { | 357 | { |
335 | U8 ReplyFlags; /* 0x00 */ | 358 | U8 ReplyFlags; /* 0x00 */ |
336 | U8 VF_ID; /* 0x01 */ | 359 | U8 MSIxIndex; /* 0x01 */ |
337 | U16 DescriptorTypeDependent1; /* 0x02 */ | 360 | U16 DescriptorTypeDependent1; /* 0x02 */ |
338 | U32 DescriptorTypeDependent2; /* 0x04 */ | 361 | U32 DescriptorTypeDependent2; /* 0x04 */ |
339 | } MPI2_DEFAULT_REPLY_DESCRIPTOR, MPI2_POINTER PTR_MPI2_DEFAULT_REPLY_DESCRIPTOR, | 362 | } MPI2_DEFAULT_REPLY_DESCRIPTOR, MPI2_POINTER PTR_MPI2_DEFAULT_REPLY_DESCRIPTOR, |
340 | Mpi2DefaultReplyDescriptor_t, MPI2_POINTER pMpi2DefaultReplyDescriptor_t; | 363 | Mpi2DefaultReplyDescriptor_t, MPI2_POINTER pMpi2DefaultReplyDescriptor_t; |
341 | 364 | ||
342 | /* defines for the ReplyFlags field */ | 365 | /* defines for the ReplyFlags field */ |
343 | #define MPI2_RPY_DESCRIPT_FLAGS_TYPE_MASK (0x0F) | 366 | #define MPI2_RPY_DESCRIPT_FLAGS_TYPE_MASK (0x0F) |
344 | #define MPI2_RPY_DESCRIPT_FLAGS_SCSI_IO_SUCCESS (0x00) | 367 | #define MPI2_RPY_DESCRIPT_FLAGS_SCSI_IO_SUCCESS (0x00) |
345 | #define MPI2_RPY_DESCRIPT_FLAGS_ADDRESS_REPLY (0x01) | 368 | #define MPI2_RPY_DESCRIPT_FLAGS_ADDRESS_REPLY (0x01) |
346 | #define MPI2_RPY_DESCRIPT_FLAGS_TARGETASSIST_SUCCESS (0x02) | 369 | #define MPI2_RPY_DESCRIPT_FLAGS_TARGETASSIST_SUCCESS (0x02) |
347 | #define MPI2_RPY_DESCRIPT_FLAGS_TARGET_COMMAND_BUFFER (0x03) | 370 | #define MPI2_RPY_DESCRIPT_FLAGS_TARGET_COMMAND_BUFFER (0x03) |
348 | #define MPI2_RPY_DESCRIPT_FLAGS_UNUSED (0x0F) | 371 | #define MPI2_RPY_DESCRIPT_FLAGS_RAID_ACCELERATOR_SUCCESS (0x05) |
372 | #define MPI2_RPY_DESCRIPT_FLAGS_UNUSED (0x0F) | ||
349 | 373 | ||
350 | /* values for marking a reply descriptor as unused */ | 374 | /* values for marking a reply descriptor as unused */ |
351 | #define MPI2_RPY_DESCRIPT_UNUSED_WORD0_MARK (0xFFFFFFFF) | 375 | #define MPI2_RPY_DESCRIPT_UNUSED_WORD0_MARK (0xFFFFFFFF) |
@@ -355,7 +379,7 @@ typedef struct _MPI2_DEFAULT_REPLY_DESCRIPTOR | |||
355 | typedef struct _MPI2_ADDRESS_REPLY_DESCRIPTOR | 379 | typedef struct _MPI2_ADDRESS_REPLY_DESCRIPTOR |
356 | { | 380 | { |
357 | U8 ReplyFlags; /* 0x00 */ | 381 | U8 ReplyFlags; /* 0x00 */ |
358 | U8 VF_ID; /* 0x01 */ | 382 | U8 MSIxIndex; /* 0x01 */ |
359 | U16 SMID; /* 0x02 */ | 383 | U16 SMID; /* 0x02 */ |
360 | U32 ReplyFrameAddress; /* 0x04 */ | 384 | U32 ReplyFrameAddress; /* 0x04 */ |
361 | } MPI2_ADDRESS_REPLY_DESCRIPTOR, MPI2_POINTER PTR_MPI2_ADDRESS_REPLY_DESCRIPTOR, | 385 | } MPI2_ADDRESS_REPLY_DESCRIPTOR, MPI2_POINTER PTR_MPI2_ADDRESS_REPLY_DESCRIPTOR, |
@@ -368,10 +392,10 @@ typedef struct _MPI2_ADDRESS_REPLY_DESCRIPTOR | |||
368 | typedef struct _MPI2_SCSI_IO_SUCCESS_REPLY_DESCRIPTOR | 392 | typedef struct _MPI2_SCSI_IO_SUCCESS_REPLY_DESCRIPTOR |
369 | { | 393 | { |
370 | U8 ReplyFlags; /* 0x00 */ | 394 | U8 ReplyFlags; /* 0x00 */ |
371 | U8 VF_ID; /* 0x01 */ | 395 | U8 MSIxIndex; /* 0x01 */ |
372 | U16 SMID; /* 0x02 */ | 396 | U16 SMID; /* 0x02 */ |
373 | U16 TaskTag; /* 0x04 */ | 397 | U16 TaskTag; /* 0x04 */ |
374 | U16 DevHandle; /* 0x06 */ | 398 | U16 Reserved1; /* 0x06 */ |
375 | } MPI2_SCSI_IO_SUCCESS_REPLY_DESCRIPTOR, | 399 | } MPI2_SCSI_IO_SUCCESS_REPLY_DESCRIPTOR, |
376 | MPI2_POINTER PTR_MPI2_SCSI_IO_SUCCESS_REPLY_DESCRIPTOR, | 400 | MPI2_POINTER PTR_MPI2_SCSI_IO_SUCCESS_REPLY_DESCRIPTOR, |
377 | Mpi2SCSIIOSuccessReplyDescriptor_t, | 401 | Mpi2SCSIIOSuccessReplyDescriptor_t, |
@@ -382,7 +406,7 @@ typedef struct _MPI2_SCSI_IO_SUCCESS_REPLY_DESCRIPTOR | |||
382 | typedef struct _MPI2_TARGETASSIST_SUCCESS_REPLY_DESCRIPTOR | 406 | typedef struct _MPI2_TARGETASSIST_SUCCESS_REPLY_DESCRIPTOR |
383 | { | 407 | { |
384 | U8 ReplyFlags; /* 0x00 */ | 408 | U8 ReplyFlags; /* 0x00 */ |
385 | U8 VF_ID; /* 0x01 */ | 409 | U8 MSIxIndex; /* 0x01 */ |
386 | U16 SMID; /* 0x02 */ | 410 | U16 SMID; /* 0x02 */ |
387 | U8 SequenceNumber; /* 0x04 */ | 411 | U8 SequenceNumber; /* 0x04 */ |
388 | U8 Reserved1; /* 0x05 */ | 412 | U8 Reserved1; /* 0x05 */ |
@@ -397,7 +421,7 @@ typedef struct _MPI2_TARGETASSIST_SUCCESS_REPLY_DESCRIPTOR | |||
397 | typedef struct _MPI2_TARGET_COMMAND_BUFFER_REPLY_DESCRIPTOR | 421 | typedef struct _MPI2_TARGET_COMMAND_BUFFER_REPLY_DESCRIPTOR |
398 | { | 422 | { |
399 | U8 ReplyFlags; /* 0x00 */ | 423 | U8 ReplyFlags; /* 0x00 */ |
400 | U8 VF_ID; /* 0x01 */ | 424 | U8 MSIxIndex; /* 0x01 */ |
401 | U8 VP_ID; /* 0x02 */ | 425 | U8 VP_ID; /* 0x02 */ |
402 | U8 Flags; /* 0x03 */ | 426 | U8 Flags; /* 0x03 */ |
403 | U16 InitiatorDevHandle; /* 0x04 */ | 427 | U16 InitiatorDevHandle; /* 0x04 */ |
@@ -411,15 +435,28 @@ typedef struct _MPI2_TARGET_COMMAND_BUFFER_REPLY_DESCRIPTOR | |||
411 | #define MPI2_RPY_DESCRIPT_TCB_FLAGS_PHYNUM_MASK (0x3F) | 435 | #define MPI2_RPY_DESCRIPT_TCB_FLAGS_PHYNUM_MASK (0x3F) |
412 | 436 | ||
413 | 437 | ||
438 | /* RAID Accelerator Success Reply Descriptor */ | ||
439 | typedef struct _MPI2_RAID_ACCELERATOR_SUCCESS_REPLY_DESCRIPTOR { | ||
440 | U8 ReplyFlags; /* 0x00 */ | ||
441 | U8 MSIxIndex; /* 0x01 */ | ||
442 | U16 SMID; /* 0x02 */ | ||
443 | U32 Reserved; /* 0x04 */ | ||
444 | } MPI2_RAID_ACCELERATOR_SUCCESS_REPLY_DESCRIPTOR, | ||
445 | MPI2_POINTER PTR_MPI2_RAID_ACCELERATOR_SUCCESS_REPLY_DESCRIPTOR, | ||
446 | Mpi2RAIDAcceleratorSuccessReplyDescriptor_t, | ||
447 | MPI2_POINTER pMpi2RAIDAcceleratorSuccessReplyDescriptor_t; | ||
448 | |||
449 | |||
414 | /* union of Reply Descriptors */ | 450 | /* union of Reply Descriptors */ |
415 | typedef union _MPI2_REPLY_DESCRIPTORS_UNION | 451 | typedef union _MPI2_REPLY_DESCRIPTORS_UNION |
416 | { | 452 | { |
417 | MPI2_DEFAULT_REPLY_DESCRIPTOR Default; | 453 | MPI2_DEFAULT_REPLY_DESCRIPTOR Default; |
418 | MPI2_ADDRESS_REPLY_DESCRIPTOR AddressReply; | 454 | MPI2_ADDRESS_REPLY_DESCRIPTOR AddressReply; |
419 | MPI2_SCSI_IO_SUCCESS_REPLY_DESCRIPTOR SCSIIOSuccess; | 455 | MPI2_SCSI_IO_SUCCESS_REPLY_DESCRIPTOR SCSIIOSuccess; |
420 | MPI2_TARGETASSIST_SUCCESS_REPLY_DESCRIPTOR TargetAssistSuccess; | 456 | MPI2_TARGETASSIST_SUCCESS_REPLY_DESCRIPTOR TargetAssistSuccess; |
421 | MPI2_TARGET_COMMAND_BUFFER_REPLY_DESCRIPTOR TargetCommandBuffer; | 457 | MPI2_TARGET_COMMAND_BUFFER_REPLY_DESCRIPTOR TargetCommandBuffer; |
422 | U64 Words; | 458 | MPI2_RAID_ACCELERATOR_SUCCESS_REPLY_DESCRIPTOR RAIDAcceleratorSuccess; |
459 | U64 Words; | ||
423 | } MPI2_REPLY_DESCRIPTORS_UNION, MPI2_POINTER PTR_MPI2_REPLY_DESCRIPTORS_UNION, | 460 | } MPI2_REPLY_DESCRIPTORS_UNION, MPI2_POINTER PTR_MPI2_REPLY_DESCRIPTORS_UNION, |
424 | Mpi2ReplyDescriptorsUnion_t, MPI2_POINTER pMpi2ReplyDescriptorsUnion_t; | 461 | Mpi2ReplyDescriptorsUnion_t, MPI2_POINTER pMpi2ReplyDescriptorsUnion_t; |
425 | 462 | ||
@@ -458,6 +495,7 @@ typedef union _MPI2_REPLY_DESCRIPTORS_UNION | |||
458 | #define MPI2_FUNCTION_DIAG_RELEASE (0x1E) /* Diagnostic Release */ | 495 | #define MPI2_FUNCTION_DIAG_RELEASE (0x1E) /* Diagnostic Release */ |
459 | #define MPI2_FUNCTION_TARGET_CMD_BUF_BASE_POST (0x24) /* Target Command Buffer Post Base */ | 496 | #define MPI2_FUNCTION_TARGET_CMD_BUF_BASE_POST (0x24) /* Target Command Buffer Post Base */ |
460 | #define MPI2_FUNCTION_TARGET_CMD_BUF_LIST_POST (0x25) /* Target Command Buffer Post List */ | 497 | #define MPI2_FUNCTION_TARGET_CMD_BUF_LIST_POST (0x25) /* Target Command Buffer Post List */ |
498 | #define MPI2_FUNCTION_RAID_ACCELERATOR (0x2C) /* RAID Accelerator*/ | ||
461 | 499 | ||
462 | 500 | ||
463 | 501 | ||
@@ -555,12 +593,17 @@ typedef union _MPI2_REPLY_DESCRIPTORS_UNION | |||
555 | 593 | ||
556 | #define MPI2_IOCSTATUS_DIAGNOSTIC_RELEASED (0x00A0) | 594 | #define MPI2_IOCSTATUS_DIAGNOSTIC_RELEASED (0x00A0) |
557 | 595 | ||
596 | /**************************************************************************** | ||
597 | * RAID Accelerator values | ||
598 | ****************************************************************************/ | ||
599 | |||
600 | #define MPI2_IOCSTATUS_RAID_ACCEL_ERROR (0x00B0) | ||
558 | 601 | ||
559 | /**************************************************************************** | 602 | /**************************************************************************** |
560 | * IOCStatus flag to indicate that log info is available | 603 | * IOCStatus flag to indicate that log info is available |
561 | ****************************************************************************/ | 604 | ****************************************************************************/ |
562 | 605 | ||
563 | #define MPI2_IOCSTATUS_FLAG_LOG_INFO_AVAILABLE (0x8000) | 606 | #define MPI2_IOCSTATUS_FLAG_LOG_INFO_AVAILABLE (0x8000) |
564 | 607 | ||
565 | /**************************************************************************** | 608 | /**************************************************************************** |
566 | * IOCLogInfo Types | 609 | * IOCLogInfo Types |
diff --git a/drivers/scsi/mpt2sas/mpi/mpi2_cnfg.h b/drivers/scsi/mpt2sas/mpi/mpi2_cnfg.h index 2f27cf6d6c65..ab47c4679640 100644 --- a/drivers/scsi/mpt2sas/mpi/mpi2_cnfg.h +++ b/drivers/scsi/mpt2sas/mpi/mpi2_cnfg.h | |||
@@ -6,7 +6,7 @@ | |||
6 | * Title: MPI Configuration messages and pages | 6 | * Title: MPI Configuration messages and pages |
7 | * Creation Date: November 10, 2006 | 7 | * Creation Date: November 10, 2006 |
8 | * | 8 | * |
9 | * mpi2_cnfg.h Version: 02.00.10 | 9 | * mpi2_cnfg.h Version: 02.00.11 |
10 | * | 10 | * |
11 | * Version History | 11 | * Version History |
12 | * --------------- | 12 | * --------------- |
@@ -95,6 +95,11 @@ | |||
95 | * Added MPI2_SAS_DEVICE0_ASTATUS_DEVICE_BLOCKED define. | 95 | * Added MPI2_SAS_DEVICE0_ASTATUS_DEVICE_BLOCKED define. |
96 | * Added PortGroups, DmaGroup, and ControlGroup fields to | 96 | * Added PortGroups, DmaGroup, and ControlGroup fields to |
97 | * SAS Device Page 0. | 97 | * SAS Device Page 0. |
98 | * 05-06-09 02.00.11 Added structures and defines for IO Unit Page 5 and IO | ||
99 | * Unit Page 6. | ||
100 | * Added expander reduced functionality data to SAS | ||
101 | * Expander Page 0. | ||
102 | * Added SAS PHY Page 2 and SAS PHY Page 3. | ||
98 | * -------------------------------------------------------------------------- | 103 | * -------------------------------------------------------------------------- |
99 | */ | 104 | */ |
100 | 105 | ||
@@ -723,6 +728,65 @@ typedef struct _MPI2_CONFIG_PAGE_IO_UNIT_3 | |||
723 | #define MPI2_IOUNITPAGE3_GPIO_SETTING_ON (0x0001) | 728 | #define MPI2_IOUNITPAGE3_GPIO_SETTING_ON (0x0001) |
724 | 729 | ||
725 | 730 | ||
731 | /* IO Unit Page 5 */ | ||
732 | |||
733 | /* | ||
734 | * Upper layer code (drivers, utilities, etc.) should leave this define set to | ||
735 | * one and check Header.PageLength or NumDmaEngines at runtime. | ||
736 | */ | ||
737 | #ifndef MPI2_IOUNITPAGE5_DMAENGINE_ENTRIES | ||
738 | #define MPI2_IOUNITPAGE5_DMAENGINE_ENTRIES (1) | ||
739 | #endif | ||
740 | |||
741 | typedef struct _MPI2_CONFIG_PAGE_IO_UNIT_5 { | ||
742 | MPI2_CONFIG_PAGE_HEADER Header; /* 0x00 */ | ||
743 | U64 RaidAcceleratorBufferBaseAddress; /* 0x04 */ | ||
744 | U64 RaidAcceleratorBufferSize; /* 0x0C */ | ||
745 | U64 RaidAcceleratorControlBaseAddress; /* 0x14 */ | ||
746 | U8 RAControlSize; /* 0x1C */ | ||
747 | U8 NumDmaEngines; /* 0x1D */ | ||
748 | U8 RAMinControlSize; /* 0x1E */ | ||
749 | U8 RAMaxControlSize; /* 0x1F */ | ||
750 | U32 Reserved1; /* 0x20 */ | ||
751 | U32 Reserved2; /* 0x24 */ | ||
752 | U32 Reserved3; /* 0x28 */ | ||
753 | U32 DmaEngineCapabilities | ||
754 | [MPI2_IOUNITPAGE5_DMAENGINE_ENTRIES]; /* 0x2C */ | ||
755 | } MPI2_CONFIG_PAGE_IO_UNIT_5, MPI2_POINTER PTR_MPI2_CONFIG_PAGE_IO_UNIT_5, | ||
756 | Mpi2IOUnitPage5_t, MPI2_POINTER pMpi2IOUnitPage5_t; | ||
757 | |||
758 | #define MPI2_IOUNITPAGE5_PAGEVERSION (0x00) | ||
759 | |||
760 | /* defines for IO Unit Page 5 DmaEngineCapabilities field */ | ||
761 | #define MPI2_IOUNITPAGE5_DMA_CAP_MASK_MAX_REQUESTS (0xFF00) | ||
762 | #define MPI2_IOUNITPAGE5_DMA_CAP_SHIFT_MAX_REQUESTS (16) | ||
763 | |||
764 | #define MPI2_IOUNITPAGE5_DMA_CAP_EEDP (0x0008) | ||
765 | #define MPI2_IOUNITPAGE5_DMA_CAP_PARITY_GENERATION (0x0004) | ||
766 | #define MPI2_IOUNITPAGE5_DMA_CAP_HASHING (0x0002) | ||
767 | #define MPI2_IOUNITPAGE5_DMA_CAP_ENCRYPTION (0x0001) | ||
768 | |||
769 | |||
770 | /* IO Unit Page 6 */ | ||
771 | |||
772 | typedef struct _MPI2_CONFIG_PAGE_IO_UNIT_6 { | ||
773 | MPI2_CONFIG_PAGE_HEADER Header; /* 0x00 */ | ||
774 | U16 Flags; /* 0x04 */ | ||
775 | U8 RAHostControlSize; /* 0x06 */ | ||
776 | U8 Reserved0; /* 0x07 */ | ||
777 | U64 RaidAcceleratorHostControlBaseAddress; /* 0x08 */ | ||
778 | U32 Reserved1; /* 0x10 */ | ||
779 | U32 Reserved2; /* 0x14 */ | ||
780 | U32 Reserved3; /* 0x18 */ | ||
781 | } MPI2_CONFIG_PAGE_IO_UNIT_6, MPI2_POINTER PTR_MPI2_CONFIG_PAGE_IO_UNIT_6, | ||
782 | Mpi2IOUnitPage6_t, MPI2_POINTER pMpi2IOUnitPage6_t; | ||
783 | |||
784 | #define MPI2_IOUNITPAGE6_PAGEVERSION (0x00) | ||
785 | |||
786 | /* defines for IO Unit Page 6 Flags field */ | ||
787 | #define MPI2_IOUNITPAGE6_FLAGS_ENABLE_RAID_ACCELERATOR (0x0001) | ||
788 | |||
789 | |||
726 | /**************************************************************************** | 790 | /**************************************************************************** |
727 | * IOC Config Pages | 791 | * IOC Config Pages |
728 | ****************************************************************************/ | 792 | ****************************************************************************/ |
@@ -1709,10 +1773,14 @@ typedef struct _MPI2_CONFIG_PAGE_EXPANDER_0 | |||
1709 | U64 ActiveZoneManagerSASAddress;/* 0x2C */ | 1773 | U64 ActiveZoneManagerSASAddress;/* 0x2C */ |
1710 | U16 ZoneLockInactivityLimit; /* 0x34 */ | 1774 | U16 ZoneLockInactivityLimit; /* 0x34 */ |
1711 | U16 Reserved1; /* 0x36 */ | 1775 | U16 Reserved1; /* 0x36 */ |
1776 | U8 TimeToReducedFunc; /* 0x38 */ | ||
1777 | U8 InitialTimeToReducedFunc; /* 0x39 */ | ||
1778 | U8 MaxReducedFuncTime; /* 0x3A */ | ||
1779 | U8 Reserved2; /* 0x3B */ | ||
1712 | } MPI2_CONFIG_PAGE_EXPANDER_0, MPI2_POINTER PTR_MPI2_CONFIG_PAGE_EXPANDER_0, | 1780 | } MPI2_CONFIG_PAGE_EXPANDER_0, MPI2_POINTER PTR_MPI2_CONFIG_PAGE_EXPANDER_0, |
1713 | Mpi2ExpanderPage0_t, MPI2_POINTER pMpi2ExpanderPage0_t; | 1781 | Mpi2ExpanderPage0_t, MPI2_POINTER pMpi2ExpanderPage0_t; |
1714 | 1782 | ||
1715 | #define MPI2_SASEXPANDER0_PAGEVERSION (0x05) | 1783 | #define MPI2_SASEXPANDER0_PAGEVERSION (0x06) |
1716 | 1784 | ||
1717 | /* values for SAS Expander Page 0 DiscoveryStatus field */ | 1785 | /* values for SAS Expander Page 0 DiscoveryStatus field */ |
1718 | #define MPI2_SAS_EXPANDER0_DS_MAX_ENCLOSURES_EXCEED (0x80000000) | 1786 | #define MPI2_SAS_EXPANDER0_DS_MAX_ENCLOSURES_EXCEED (0x80000000) |
@@ -1737,6 +1805,7 @@ typedef struct _MPI2_CONFIG_PAGE_EXPANDER_0 | |||
1737 | #define MPI2_SAS_EXPANDER0_DS_LOOP_DETECTED (0x00000001) | 1805 | #define MPI2_SAS_EXPANDER0_DS_LOOP_DETECTED (0x00000001) |
1738 | 1806 | ||
1739 | /* values for SAS Expander Page 0 Flags field */ | 1807 | /* values for SAS Expander Page 0 Flags field */ |
1808 | #define MPI2_SAS_EXPANDER0_FLAGS_REDUCED_FUNCTIONALITY (0x2000) | ||
1740 | #define MPI2_SAS_EXPANDER0_FLAGS_ZONE_LOCKED (0x1000) | 1809 | #define MPI2_SAS_EXPANDER0_FLAGS_ZONE_LOCKED (0x1000) |
1741 | #define MPI2_SAS_EXPANDER0_FLAGS_SUPPORTED_PHYSICAL_PRES (0x0800) | 1810 | #define MPI2_SAS_EXPANDER0_FLAGS_SUPPORTED_PHYSICAL_PRES (0x0800) |
1742 | #define MPI2_SAS_EXPANDER0_FLAGS_ASSERTED_PHYSICAL_PRES (0x0400) | 1811 | #define MPI2_SAS_EXPANDER0_FLAGS_ASSERTED_PHYSICAL_PRES (0x0400) |
@@ -1944,6 +2013,133 @@ typedef struct _MPI2_CONFIG_PAGE_SAS_PHY_1 | |||
1944 | #define MPI2_SASPHY1_PAGEVERSION (0x01) | 2013 | #define MPI2_SASPHY1_PAGEVERSION (0x01) |
1945 | 2014 | ||
1946 | 2015 | ||
2016 | /* SAS PHY Page 2 */ | ||
2017 | |||
2018 | typedef struct _MPI2_SASPHY2_PHY_EVENT { | ||
2019 | U8 PhyEventCode; /* 0x00 */ | ||
2020 | U8 Reserved1; /* 0x01 */ | ||
2021 | U16 Reserved2; /* 0x02 */ | ||
2022 | U32 PhyEventInfo; /* 0x04 */ | ||
2023 | } MPI2_SASPHY2_PHY_EVENT, MPI2_POINTER PTR_MPI2_SASPHY2_PHY_EVENT, | ||
2024 | Mpi2SasPhy2PhyEvent_t, MPI2_POINTER pMpi2SasPhy2PhyEvent_t; | ||
2025 | |||
2026 | /* use MPI2_SASPHY3_EVENT_CODE_ for the PhyEventCode field */ | ||
2027 | |||
2028 | |||
2029 | /* | ||
2030 | * Host code (drivers, BIOS, utilities, etc.) should leave this define set to | ||
2031 | * one and check Header.ExtPageLength or NumPhyEvents at runtime. | ||
2032 | */ | ||
2033 | #ifndef MPI2_SASPHY2_PHY_EVENT_MAX | ||
2034 | #define MPI2_SASPHY2_PHY_EVENT_MAX (1) | ||
2035 | #endif | ||
2036 | |||
2037 | typedef struct _MPI2_CONFIG_PAGE_SAS_PHY_2 { | ||
2038 | MPI2_CONFIG_EXTENDED_PAGE_HEADER Header; /* 0x00 */ | ||
2039 | U32 Reserved1; /* 0x08 */ | ||
2040 | U8 NumPhyEvents; /* 0x0C */ | ||
2041 | U8 Reserved2; /* 0x0D */ | ||
2042 | U16 Reserved3; /* 0x0E */ | ||
2043 | MPI2_SASPHY2_PHY_EVENT PhyEvent[MPI2_SASPHY2_PHY_EVENT_MAX]; | ||
2044 | /* 0x10 */ | ||
2045 | } MPI2_CONFIG_PAGE_SAS_PHY_2, MPI2_POINTER PTR_MPI2_CONFIG_PAGE_SAS_PHY_2, | ||
2046 | Mpi2SasPhyPage2_t, MPI2_POINTER pMpi2SasPhyPage2_t; | ||
2047 | |||
2048 | #define MPI2_SASPHY2_PAGEVERSION (0x00) | ||
2049 | |||
2050 | |||
2051 | /* SAS PHY Page 3 */ | ||
2052 | |||
2053 | typedef struct _MPI2_SASPHY3_PHY_EVENT_CONFIG { | ||
2054 | U8 PhyEventCode; /* 0x00 */ | ||
2055 | U8 Reserved1; /* 0x01 */ | ||
2056 | U16 Reserved2; /* 0x02 */ | ||
2057 | U8 CounterType; /* 0x04 */ | ||
2058 | U8 ThresholdWindow; /* 0x05 */ | ||
2059 | U8 TimeUnits; /* 0x06 */ | ||
2060 | U8 Reserved3; /* 0x07 */ | ||
2061 | U32 EventThreshold; /* 0x08 */ | ||
2062 | U16 ThresholdFlags; /* 0x0C */ | ||
2063 | U16 Reserved4; /* 0x0E */ | ||
2064 | } MPI2_SASPHY3_PHY_EVENT_CONFIG, MPI2_POINTER PTR_MPI2_SASPHY3_PHY_EVENT_CONFIG, | ||
2065 | Mpi2SasPhy3PhyEventConfig_t, MPI2_POINTER pMpi2SasPhy3PhyEventConfig_t; | ||
2066 | |||
2067 | /* values for PhyEventCode field */ | ||
2068 | #define MPI2_SASPHY3_EVENT_CODE_NO_EVENT (0x00) | ||
2069 | #define MPI2_SASPHY3_EVENT_CODE_INVALID_DWORD (0x01) | ||
2070 | #define MPI2_SASPHY3_EVENT_CODE_RUNNING_DISPARITY_ERROR (0x02) | ||
2071 | #define MPI2_SASPHY3_EVENT_CODE_LOSS_DWORD_SYNC (0x03) | ||
2072 | #define MPI2_SASPHY3_EVENT_CODE_PHY_RESET_PROBLEM (0x04) | ||
2073 | #define MPI2_SASPHY3_EVENT_CODE_ELASTICITY_BUF_OVERFLOW (0x05) | ||
2074 | #define MPI2_SASPHY3_EVENT_CODE_RX_ERROR (0x06) | ||
2075 | #define MPI2_SASPHY3_EVENT_CODE_RX_ADDR_FRAME_ERROR (0x20) | ||
2076 | #define MPI2_SASPHY3_EVENT_CODE_TX_AC_OPEN_REJECT (0x21) | ||
2077 | #define MPI2_SASPHY3_EVENT_CODE_RX_AC_OPEN_REJECT (0x22) | ||
2078 | #define MPI2_SASPHY3_EVENT_CODE_TX_RC_OPEN_REJECT (0x23) | ||
2079 | #define MPI2_SASPHY3_EVENT_CODE_RX_RC_OPEN_REJECT (0x24) | ||
2080 | #define MPI2_SASPHY3_EVENT_CODE_RX_AIP_PARTIAL_WAITING_ON (0x25) | ||
2081 | #define MPI2_SASPHY3_EVENT_CODE_RX_AIP_CONNECT_WAITING_ON (0x26) | ||
2082 | #define MPI2_SASPHY3_EVENT_CODE_TX_BREAK (0x27) | ||
2083 | #define MPI2_SASPHY3_EVENT_CODE_RX_BREAK (0x28) | ||
2084 | #define MPI2_SASPHY3_EVENT_CODE_BREAK_TIMEOUT (0x29) | ||
2085 | #define MPI2_SASPHY3_EVENT_CODE_CONNECTION (0x2A) | ||
2086 | #define MPI2_SASPHY3_EVENT_CODE_PEAKTX_PATHWAY_BLOCKED (0x2B) | ||
2087 | #define MPI2_SASPHY3_EVENT_CODE_PEAKTX_ARB_WAIT_TIME (0x2C) | ||
2088 | #define MPI2_SASPHY3_EVENT_CODE_PEAK_ARB_WAIT_TIME (0x2D) | ||
2089 | #define MPI2_SASPHY3_EVENT_CODE_PEAK_CONNECT_TIME (0x2E) | ||
2090 | #define MPI2_SASPHY3_EVENT_CODE_TX_SSP_FRAMES (0x40) | ||
2091 | #define MPI2_SASPHY3_EVENT_CODE_RX_SSP_FRAMES (0x41) | ||
2092 | #define MPI2_SASPHY3_EVENT_CODE_TX_SSP_ERROR_FRAMES (0x42) | ||
2093 | #define MPI2_SASPHY3_EVENT_CODE_RX_SSP_ERROR_FRAMES (0x43) | ||
2094 | #define MPI2_SASPHY3_EVENT_CODE_TX_CREDIT_BLOCKED (0x44) | ||
2095 | #define MPI2_SASPHY3_EVENT_CODE_RX_CREDIT_BLOCKED (0x45) | ||
2096 | #define MPI2_SASPHY3_EVENT_CODE_TX_SATA_FRAMES (0x50) | ||
2097 | #define MPI2_SASPHY3_EVENT_CODE_RX_SATA_FRAMES (0x51) | ||
2098 | #define MPI2_SASPHY3_EVENT_CODE_SATA_OVERFLOW (0x52) | ||
2099 | #define MPI2_SASPHY3_EVENT_CODE_TX_SMP_FRAMES (0x60) | ||
2100 | #define MPI2_SASPHY3_EVENT_CODE_RX_SMP_FRAMES (0x61) | ||
2101 | #define MPI2_SASPHY3_EVENT_CODE_RX_SMP_ERROR_FRAMES (0x63) | ||
2102 | #define MPI2_SASPHY3_EVENT_CODE_HOTPLUG_TIMEOUT (0xD0) | ||
2103 | #define MPI2_SASPHY3_EVENT_CODE_MISALIGNED_MUX_PRIMITIVE (0xD1) | ||
2104 | #define MPI2_SASPHY3_EVENT_CODE_RX_AIP (0xD2) | ||
2105 | |||
2106 | /* values for the CounterType field */ | ||
2107 | #define MPI2_SASPHY3_COUNTER_TYPE_WRAPPING (0x00) | ||
2108 | #define MPI2_SASPHY3_COUNTER_TYPE_SATURATING (0x01) | ||
2109 | #define MPI2_SASPHY3_COUNTER_TYPE_PEAK_VALUE (0x02) | ||
2110 | |||
2111 | /* values for the TimeUnits field */ | ||
2112 | #define MPI2_SASPHY3_TIME_UNITS_10_MICROSECONDS (0x00) | ||
2113 | #define MPI2_SASPHY3_TIME_UNITS_100_MICROSECONDS (0x01) | ||
2114 | #define MPI2_SASPHY3_TIME_UNITS_1_MILLISECOND (0x02) | ||
2115 | #define MPI2_SASPHY3_TIME_UNITS_10_MILLISECONDS (0x03) | ||
2116 | |||
2117 | /* values for the ThresholdFlags field */ | ||
2118 | #define MPI2_SASPHY3_TFLAGS_PHY_RESET (0x0002) | ||
2119 | #define MPI2_SASPHY3_TFLAGS_EVENT_NOTIFY (0x0001) | ||
2120 | |||
2121 | /* | ||
2122 | * Host code (drivers, BIOS, utilities, etc.) should leave this define set to | ||
2123 | * one and check Header.ExtPageLength or NumPhyEvents at runtime. | ||
2124 | */ | ||
2125 | #ifndef MPI2_SASPHY3_PHY_EVENT_MAX | ||
2126 | #define MPI2_SASPHY3_PHY_EVENT_MAX (1) | ||
2127 | #endif | ||
2128 | |||
2129 | typedef struct _MPI2_CONFIG_PAGE_SAS_PHY_3 { | ||
2130 | MPI2_CONFIG_EXTENDED_PAGE_HEADER Header; /* 0x00 */ | ||
2131 | U32 Reserved1; /* 0x08 */ | ||
2132 | U8 NumPhyEvents; /* 0x0C */ | ||
2133 | U8 Reserved2; /* 0x0D */ | ||
2134 | U16 Reserved3; /* 0x0E */ | ||
2135 | MPI2_SASPHY3_PHY_EVENT_CONFIG PhyEventConfig | ||
2136 | [MPI2_SASPHY3_PHY_EVENT_MAX]; /* 0x10 */ | ||
2137 | } MPI2_CONFIG_PAGE_SAS_PHY_3, MPI2_POINTER PTR_MPI2_CONFIG_PAGE_SAS_PHY_3, | ||
2138 | Mpi2SasPhyPage3_t, MPI2_POINTER pMpi2SasPhyPage3_t; | ||
2139 | |||
2140 | #define MPI2_SASPHY3_PAGEVERSION (0x00) | ||
2141 | |||
2142 | |||
1947 | /**************************************************************************** | 2143 | /**************************************************************************** |
1948 | * SAS Port Config Pages | 2144 | * SAS Port Config Pages |
1949 | ****************************************************************************/ | 2145 | ****************************************************************************/ |
diff --git a/drivers/scsi/mpt2sas/mpi/mpi2_history.txt b/drivers/scsi/mpt2sas/mpi/mpi2_history.txt new file mode 100644 index 000000000000..65fcaa31cb30 --- /dev/null +++ b/drivers/scsi/mpt2sas/mpi/mpi2_history.txt | |||
@@ -0,0 +1,334 @@ | |||
1 | ============================== | ||
2 | Fusion-MPT MPI 2.0 Header File Change History | ||
3 | ============================== | ||
4 | |||
5 | Copyright (c) 2000-2009 LSI Corporation. | ||
6 | |||
7 | --------------------------------------- | ||
8 | Header Set Release Version: 02.00.12 | ||
9 | Header Set Release Date: 05-06-09 | ||
10 | --------------------------------------- | ||
11 | |||
12 | Filename Current version Prior version | ||
13 | ---------- --------------- ------------- | ||
14 | mpi2.h 02.00.12 02.00.11 | ||
15 | mpi2_cnfg.h 02.00.11 02.00.10 | ||
16 | mpi2_init.h 02.00.07 02.00.06 | ||
17 | mpi2_ioc.h 02.00.11 02.00.10 | ||
18 | mpi2_raid.h 02.00.03 02.00.03 | ||
19 | mpi2_sas.h 02.00.02 02.00.02 | ||
20 | mpi2_targ.h 02.00.03 02.00.03 | ||
21 | mpi2_tool.h 02.00.03 02.00.02 | ||
22 | mpi2_type.h 02.00.00 02.00.00 | ||
23 | mpi2_ra.h 02.00.00 | ||
24 | mpi2_history.txt 02.00.11 02.00.12 | ||
25 | |||
26 | |||
27 | * Date Version Description | ||
28 | * -------- -------- ------------------------------------------------------ | ||
29 | |||
30 | mpi2.h | ||
31 | * 04-30-07 02.00.00 Corresponds to Fusion-MPT MPI Specification Rev A. | ||
32 | * 06-04-07 02.00.01 Bumped MPI2_HEADER_VERSION_UNIT. | ||
33 | * 06-26-07 02.00.02 Bumped MPI2_HEADER_VERSION_UNIT. | ||
34 | * 08-31-07 02.00.03 Bumped MPI2_HEADER_VERSION_UNIT. | ||
35 | * Moved ReplyPostHostIndex register to offset 0x6C of the | ||
36 | * MPI2_SYSTEM_INTERFACE_REGS and modified the define for | ||
37 | * MPI2_REPLY_POST_HOST_INDEX_OFFSET. | ||
38 | * Added union of request descriptors. | ||
39 | * Added union of reply descriptors. | ||
40 | * 10-31-07 02.00.04 Bumped MPI2_HEADER_VERSION_UNIT. | ||
41 | * Added define for MPI2_VERSION_02_00. | ||
42 | * Fixed the size of the FunctionDependent5 field in the | ||
43 | * MPI2_DEFAULT_REPLY structure. | ||
44 | * 12-18-07 02.00.05 Bumped MPI2_HEADER_VERSION_UNIT. | ||
45 | * Removed the MPI-defined Fault Codes and extended the | ||
46 | * product specific codes up to 0xEFFF. | ||
47 | * Added a sixth key value for the WriteSequence register | ||
48 | * and changed the flush value to 0x0. | ||
49 | * Added message function codes for Diagnostic Buffer Post | ||
50 | * and Diagnsotic Release. | ||
51 | * New IOCStatus define: MPI2_IOCSTATUS_DIAGNOSTIC_RELEASED | ||
52 | * Moved MPI2_VERSION_UNION from mpi2_ioc.h. | ||
53 | * 02-29-08 02.00.06 Bumped MPI2_HEADER_VERSION_UNIT. | ||
54 | * 03-03-08 02.00.07 Bumped MPI2_HEADER_VERSION_UNIT. | ||
55 | * 05-21-08 02.00.08 Bumped MPI2_HEADER_VERSION_UNIT. | ||
56 | * Added #defines for marking a reply descriptor as unused. | ||
57 | * 06-27-08 02.00.09 Bumped MPI2_HEADER_VERSION_UNIT. | ||
58 | * 10-02-08 02.00.10 Bumped MPI2_HEADER_VERSION_UNIT. | ||
59 | * Moved LUN field defines from mpi2_init.h. | ||
60 | * 01-19-09 02.00.11 Bumped MPI2_HEADER_VERSION_UNIT. | ||
61 | * 05-06-09 02.00.12 Bumped MPI2_HEADER_VERSION_UNIT. | ||
62 | * In all request and reply descriptors, replaced VF_ID | ||
63 | * field with MSIxIndex field. | ||
64 | * Removed DevHandle field from | ||
65 | * MPI2_SCSI_IO_SUCCESS_REPLY_DESCRIPTOR and made those | ||
66 | * bytes reserved. | ||
67 | * Added RAID Accelerator functionality. | ||
68 | * -------------------------------------------------------------------------- | ||
69 | |||
70 | mpi2_cnfg.h | ||
71 | * 04-30-07 02.00.00 Corresponds to Fusion-MPT MPI Specification Rev A. | ||
72 | * 06-04-07 02.00.01 Added defines for SAS IO Unit Page 2 PhyFlags. | ||
73 | * Added Manufacturing Page 11. | ||
74 | * Added MPI2_SAS_EXPANDER0_FLAGS_CONNECTOR_END_DEVICE | ||
75 | * define. | ||
76 | * 06-26-07 02.00.02 Adding generic structure for product-specific | ||
77 | * Manufacturing pages: MPI2_CONFIG_PAGE_MANUFACTURING_PS. | ||
78 | * Rework of BIOS Page 2 configuration page. | ||
79 | * Fixed MPI2_BIOSPAGE2_BOOT_DEVICE to be a union of the | ||
80 | * forms. | ||
81 | * Added configuration pages IOC Page 8 and Driver | ||
82 | * Persistent Mapping Page 0. | ||
83 | * 08-31-07 02.00.03 Modified configuration pages dealing with Integrated | ||
84 | * RAID (Manufacturing Page 4, RAID Volume Pages 0 and 1, | ||
85 | * RAID Physical Disk Pages 0 and 1, RAID Configuration | ||
86 | * Page 0). | ||
87 | * Added new value for AccessStatus field of SAS Device | ||
88 | * Page 0 (_SATA_NEEDS_INITIALIZATION). | ||
89 | * 10-31-07 02.00.04 Added missing SEPDevHandle field to | ||
90 | * MPI2_CONFIG_PAGE_SAS_ENCLOSURE_0. | ||
91 | * 12-18-07 02.00.05 Modified IO Unit Page 0 to use 32-bit version fields for | ||
92 | * NVDATA. | ||
93 | * Modified IOC Page 7 to use masks and added field for | ||
94 | * SASBroadcastPrimitiveMasks. | ||
95 | * Added MPI2_CONFIG_PAGE_BIOS_4. | ||
96 | * Added MPI2_CONFIG_PAGE_LOG_0. | ||
97 | * 02-29-08 02.00.06 Modified various names to make them 32-character unique. | ||
98 | * Added SAS Device IDs. | ||
99 | * Updated Integrated RAID configuration pages including | ||
100 | * Manufacturing Page 4, IOC Page 6, and RAID Configuration | ||
101 | * Page 0. | ||
102 | * 05-21-08 02.00.07 Added define MPI2_MANPAGE4_MIX_SSD_SAS_SATA. | ||
103 | * Added define MPI2_MANPAGE4_PHYSDISK_128MB_COERCION. | ||
104 | * Fixed define MPI2_IOCPAGE8_FLAGS_ENCLOSURE_SLOT_MAPPING. | ||
105 | * Added missing MaxNumRoutedSasAddresses field to | ||
106 | * MPI2_CONFIG_PAGE_EXPANDER_0. | ||
107 | * Added SAS Port Page 0. | ||
108 | * Modified structure layout for | ||
109 | * MPI2_CONFIG_PAGE_DRIVER_MAPPING_0. | ||
110 | * 06-27-08 02.00.08 Changed MPI2_CONFIG_PAGE_RD_PDISK_1 to use | ||
111 | * MPI2_RAID_PHYS_DISK1_PATH_MAX to size the array. | ||
112 | * 10-02-08 02.00.09 Changed MPI2_RAID_PGAD_CONFIGNUM_MASK from 0x0000FFFF | ||
113 | * to 0x000000FF. | ||
114 | * Added two new values for the Physical Disk Coercion Size | ||
115 | * bits in the Flags field of Manufacturing Page 4. | ||
116 | * Added product-specific Manufacturing pages 16 to 31. | ||
117 | * Modified Flags bits for controlling write cache on SATA | ||
118 | * drives in IO Unit Page 1. | ||
119 | * Added new bit to AdditionalControlFlags of SAS IO Unit | ||
120 | * Page 1 to control Invalid Topology Correction. | ||
121 | * Added SupportedPhysDisks field to RAID Volume Page 1 and | ||
122 | * added related defines. | ||
123 | * Added additional defines for RAID Volume Page 0 | ||
124 | * VolumeStatusFlags field. | ||
125 | * Modified meaning of RAID Volume Page 0 VolumeSettings | ||
126 | * define for auto-configure of hot-swap drives. | ||
127 | * Added PhysDiskAttributes field (and related defines) to | ||
128 | * RAID Physical Disk Page 0. | ||
129 | * Added MPI2_SAS_PHYINFO_PHY_VACANT define. | ||
130 | * Added three new DiscoveryStatus bits for SAS IO Unit | ||
131 | * Page 0 and SAS Expander Page 0. | ||
132 | * Removed multiplexing information from SAS IO Unit pages. | ||
133 | * Added BootDeviceWaitTime field to SAS IO Unit Page 4. | ||
134 | * Removed Zone Address Resolved bit from PhyInfo and from | ||
135 | * Expander Page 0 Flags field. | ||
136 | * Added two new AccessStatus values to SAS Device Page 0 | ||
137 | * for indicating routing problems. Added 3 reserved words | ||
138 | * to this page. | ||
139 | * 01-19-09 02.00.10 Fixed defines for GPIOVal field of IO Unit Page 3. | ||
140 | * Inserted missing reserved field into structure for IOC | ||
141 | * Page 6. | ||
142 | * Added more pending task bits to RAID Volume Page 0 | ||
143 | * VolumeStatusFlags defines. | ||
144 | * Added MPI2_PHYSDISK0_STATUS_FLAG_NOT_CERTIFIED define. | ||
145 | * Added a new DiscoveryStatus bit for SAS IO Unit Page 0 | ||
146 | * and SAS Expander Page 0 to flag a downstream initiator | ||
147 | * when in simplified routing mode. | ||
148 | * Removed SATA Init Failure defines for DiscoveryStatus | ||
149 | * fields of SAS IO Unit Page 0 and SAS Expander Page 0. | ||
150 | * Added MPI2_SAS_DEVICE0_ASTATUS_DEVICE_BLOCKED define. | ||
151 | * Added PortGroups, DmaGroup, and ControlGroup fields to | ||
152 | * SAS Device Page 0. | ||
153 | * 05-06-09 02.00.11 Added structures and defines for IO Unit Page 5 and IO | ||
154 | * Unit Page 6. | ||
155 | * Added expander reduced functionality data to SAS | ||
156 | * Expander Page 0. | ||
157 | * Added SAS PHY Page 2 and SAS PHY Page 3. | ||
158 | * -------------------------------------------------------------------------- | ||
159 | |||
160 | mpi2_init.h | ||
161 | * 04-30-07 02.00.00 Corresponds to Fusion-MPT MPI Specification Rev A. | ||
162 | * 10-31-07 02.00.01 Fixed name for pMpi2SCSITaskManagementRequest_t. | ||
163 | * 12-18-07 02.00.02 Modified Task Management Target Reset Method defines. | ||
164 | * 02-29-08 02.00.03 Added Query Task Set and Query Unit Attention. | ||
165 | * 03-03-08 02.00.04 Fixed name of struct _MPI2_SCSI_TASK_MANAGE_REPLY. | ||
166 | * 05-21-08 02.00.05 Fixed typo in name of Mpi2SepRequest_t. | ||
167 | * 10-02-08 02.00.06 Removed Untagged and No Disconnect values from SCSI IO | ||
168 | * Control field Task Attribute flags. | ||
169 | * Moved LUN field defines to mpi2.h becasue they are | ||
170 | * common to many structures. | ||
171 | * 05-06-09 02.00.07 Changed task management type of Query Unit Attention to | ||
172 | * Query Asynchronous Event. | ||
173 | * Defined two new bits in the SlotStatus field of the SCSI | ||
174 | * Enclosure Processor Request and Reply. | ||
175 | * -------------------------------------------------------------------------- | ||
176 | |||
177 | mpi2_ioc.h | ||
178 | * 04-30-07 02.00.00 Corresponds to Fusion-MPT MPI Specification Rev A. | ||
179 | * 06-04-07 02.00.01 In IOCFacts Reply structure, renamed MaxDevices to | ||
180 | * MaxTargets. | ||
181 | * Added TotalImageSize field to FWDownload Request. | ||
182 | * Added reserved words to FWUpload Request. | ||
183 | * 06-26-07 02.00.02 Added IR Configuration Change List Event. | ||
184 | * 08-31-07 02.00.03 Removed SystemReplyQueueDepth field from the IOCInit | ||
185 | * request and replaced it with | ||
186 | * ReplyDescriptorPostQueueDepth and ReplyFreeQueueDepth. | ||
187 | * Replaced the MinReplyQueueDepth field of the IOCFacts | ||
188 | * reply with MaxReplyDescriptorPostQueueDepth. | ||
189 | * Added MPI2_RDPQ_DEPTH_MIN define to specify the minimum | ||
190 | * depth for the Reply Descriptor Post Queue. | ||
191 | * Added SASAddress field to Initiator Device Table | ||
192 | * Overflow Event data. | ||
193 | * 10-31-07 02.00.04 Added ReasonCode MPI2_EVENT_SAS_INIT_RC_NOT_RESPONDING | ||
194 | * for SAS Initiator Device Status Change Event data. | ||
195 | * Modified Reason Code defines for SAS Topology Change | ||
196 | * List Event data, including adding a bit for PHY Vacant | ||
197 | * status, and adding a mask for the Reason Code. | ||
198 | * Added define for | ||
199 | * MPI2_EVENT_SAS_TOPO_ES_DELAY_NOT_RESPONDING. | ||
200 | * Added define for MPI2_EXT_IMAGE_TYPE_MEGARAID. | ||
201 | * 12-18-07 02.00.05 Added Boot Status defines for the IOCExceptions field of | ||
202 | * the IOCFacts Reply. | ||
203 | * Removed MPI2_IOCFACTS_CAPABILITY_EXTENDED_BUFFER define. | ||
204 | * Moved MPI2_VERSION_UNION to mpi2.h. | ||
205 | * Changed MPI2_EVENT_NOTIFICATION_REQUEST to use masks | ||
206 | * instead of enables, and added SASBroadcastPrimitiveMasks | ||
207 | * field. | ||
208 | * Added Log Entry Added Event and related structure. | ||
209 | * 02-29-08 02.00.06 Added define MPI2_IOCFACTS_CAPABILITY_INTEGRATED_RAID. | ||
210 | * Removed define MPI2_IOCFACTS_PROTOCOL_SMP_TARGET. | ||
211 | * Added MaxVolumes and MaxPersistentEntries fields to | ||
212 | * IOCFacts reply. | ||
213 | * Added ProtocalFlags and IOCCapabilities fields to | ||
214 | * MPI2_FW_IMAGE_HEADER. | ||
215 | * Removed MPI2_PORTENABLE_FLAGS_ENABLE_SINGLE_PORT. | ||
216 | * 03-03-08 02.00.07 Fixed MPI2_FW_IMAGE_HEADER by changing Reserved26 to | ||
217 | * a U16 (from a U32). | ||
218 | * Removed extra 's' from EventMasks name. | ||
219 | * 06-27-08 02.00.08 Fixed an offset in a comment. | ||
220 | * 10-02-08 02.00.09 Removed SystemReplyFrameSize from MPI2_IOC_INIT_REQUEST. | ||
221 | * Removed CurReplyFrameSize from MPI2_IOC_FACTS_REPLY and | ||
222 | * renamed MinReplyFrameSize to ReplyFrameSize. | ||
223 | * Added MPI2_IOCFACTS_EXCEPT_IR_FOREIGN_CONFIG_MAX. | ||
224 | * Added two new RAIDOperation values for Integrated RAID | ||
225 | * Operations Status Event data. | ||
226 | * Added four new IR Configuration Change List Event data | ||
227 | * ReasonCode values. | ||
228 | * Added two new ReasonCode defines for SAS Device Status | ||
229 | * Change Event data. | ||
230 | * Added three new DiscoveryStatus bits for the SAS | ||
231 | * Discovery event data. | ||
232 | * Added Multiplexing Status Change bit to the PhyStatus | ||
233 | * field of the SAS Topology Change List event data. | ||
234 | * Removed define for MPI2_INIT_IMAGE_BOOTFLAGS_XMEMCOPY. | ||
235 | * BootFlags are now product-specific. | ||
236 | * Added defines for the indivdual signature bytes | ||
237 | * for MPI2_INIT_IMAGE_FOOTER. | ||
238 | * 01-19-09 02.00.10 Added MPI2_IOCFACTS_CAPABILITY_EVENT_REPLAY define. | ||
239 | * Added MPI2_EVENT_SAS_DISC_DS_DOWNSTREAM_INITIATOR | ||
240 | * define. | ||
241 | * Added MPI2_EVENT_SAS_DEV_STAT_RC_SATA_INIT_FAILURE | ||
242 | * define. | ||
243 | * Removed MPI2_EVENT_SAS_DISC_DS_SATA_INIT_FAILURE define. | ||
244 | * 05-06-09 02.00.11 Added MPI2_IOCFACTS_CAPABILITY_RAID_ACCELERATOR define. | ||
245 | * Added MPI2_IOCFACTS_CAPABILITY_MSI_X_INDEX define. | ||
246 | * Added two new reason codes for SAS Device Status Change | ||
247 | * Event. | ||
248 | * Added new event: SAS PHY Counter. | ||
249 | * -------------------------------------------------------------------------- | ||
250 | |||
251 | mpi2_raid.h | ||
252 | * 04-30-07 02.00.00 Corresponds to Fusion-MPT MPI Specification Rev A. | ||
253 | * 08-31-07 02.00.01 Modifications to RAID Action request and reply, | ||
254 | * including the Actions and ActionData. | ||
255 | * 02-29-08 02.00.02 Added MPI2_RAID_ACTION_ADATA_DISABL_FULL_REBUILD. | ||
256 | * 05-21-08 02.00.03 Added MPI2_RAID_VOL_CREATION_NUM_PHYSDISKS so that | ||
257 | * the PhysDisk array in MPI2_RAID_VOLUME_CREATION_STRUCT | ||
258 | * can be sized by the build environment. | ||
259 | * -------------------------------------------------------------------------- | ||
260 | |||
261 | mpi2_sas.h | ||
262 | * 04-30-07 02.00.00 Corresponds to Fusion-MPT MPI Specification Rev A. | ||
263 | * 06-26-07 02.00.01 Added Clear All Persistent Operation to SAS IO Unit | ||
264 | * Control Request. | ||
265 | * 10-02-08 02.00.02 Added Set IOC Parameter Operation to SAS IO Unit Control | ||
266 | * Request. | ||
267 | * -------------------------------------------------------------------------- | ||
268 | |||
269 | mpi2_targ.h | ||
270 | * 04-30-07 02.00.00 Corresponds to Fusion-MPT MPI Specification Rev A. | ||
271 | * 08-31-07 02.00.01 Added Command Buffer Data Location Address Space bits to | ||
272 | * BufferPostFlags field of CommandBufferPostBase Request. | ||
273 | * 02-29-08 02.00.02 Modified various names to make them 32-character unique. | ||
274 | * 10-02-08 02.00.03 Removed NextCmdBufferOffset from | ||
275 | * MPI2_TARGET_CMD_BUF_POST_BASE_REQUEST. | ||
276 | * Target Status Send Request only takes a single SGE for | ||
277 | * response data. | ||
278 | * -------------------------------------------------------------------------- | ||
279 | |||
280 | mpi2_tool.h | ||
281 | * 04-30-07 02.00.00 Corresponds to Fusion-MPT MPI Specification Rev A. | ||
282 | * 12-18-07 02.00.01 Added Diagnostic Buffer Post and Diagnostic Release | ||
283 | * structures and defines. | ||
284 | * 02-29-08 02.00.02 Modified various names to make them 32-character unique. | ||
285 | * 05-06-09 02.00.03 Added ISTWI Read Write Tool and Diagnostic CLI Tool. | ||
286 | * -------------------------------------------------------------------------- | ||
287 | |||
288 | mpi2_type.h | ||
289 | * 04-30-07 02.00.00 Corresponds to Fusion-MPT MPI Specification Rev A. | ||
290 | * -------------------------------------------------------------------------- | ||
291 | |||
292 | mpi2_ra.h | ||
293 | * 05-06-09 02.00.00 Initial version. | ||
294 | * -------------------------------------------------------------------------- | ||
295 | |||
296 | mpi2_history.txt Parts list history | ||
297 | |||
298 | Filename 02.00.12 | ||
299 | ---------- -------- | ||
300 | mpi2.h 02.00.12 | ||
301 | mpi2_cnfg.h 02.00.11 | ||
302 | mpi2_init.h 02.00.07 | ||
303 | mpi2_ioc.h 02.00.11 | ||
304 | mpi2_raid.h 02.00.03 | ||
305 | mpi2_sas.h 02.00.02 | ||
306 | mpi2_targ.h 02.00.03 | ||
307 | mpi2_tool.h 02.00.03 | ||
308 | mpi2_type.h 02.00.00 | ||
309 | mpi2_ra.h 02.00.00 | ||
310 | |||
311 | Filename 02.00.11 02.00.10 02.00.09 02.00.08 02.00.07 02.00.06 | ||
312 | ---------- -------- -------- -------- -------- -------- -------- | ||
313 | mpi2.h 02.00.11 02.00.10 02.00.09 02.00.08 02.00.07 02.00.06 | ||
314 | mpi2_cnfg.h 02.00.10 02.00.09 02.00.08 02.00.07 02.00.06 02.00.06 | ||
315 | mpi2_init.h 02.00.06 02.00.06 02.00.05 02.00.05 02.00.04 02.00.03 | ||
316 | mpi2_ioc.h 02.00.10 02.00.09 02.00.08 02.00.07 02.00.07 02.00.06 | ||
317 | mpi2_raid.h 02.00.03 02.00.03 02.00.03 02.00.03 02.00.02 02.00.02 | ||
318 | mpi2_sas.h 02.00.02 02.00.02 02.00.01 02.00.01 02.00.01 02.00.01 | ||
319 | mpi2_targ.h 02.00.03 02.00.03 02.00.02 02.00.02 02.00.02 02.00.02 | ||
320 | mpi2_tool.h 02.00.02 02.00.02 02.00.02 02.00.02 02.00.02 02.00.02 | ||
321 | mpi2_type.h 02.00.00 02.00.00 02.00.00 02.00.00 02.00.00 02.00.00 | ||
322 | |||
323 | Filename 02.00.05 02.00.04 02.00.03 02.00.02 02.00.01 02.00.00 | ||
324 | ---------- -------- -------- -------- -------- -------- -------- | ||
325 | mpi2.h 02.00.05 02.00.04 02.00.03 02.00.02 02.00.01 02.00.00 | ||
326 | mpi2_cnfg.h 02.00.05 02.00.04 02.00.03 02.00.02 02.00.01 02.00.00 | ||
327 | mpi2_init.h 02.00.02 02.00.01 02.00.00 02.00.00 02.00.00 02.00.00 | ||
328 | mpi2_ioc.h 02.00.05 02.00.04 02.00.03 02.00.02 02.00.01 02.00.00 | ||
329 | mpi2_raid.h 02.00.01 02.00.01 02.00.01 02.00.00 02.00.00 02.00.00 | ||
330 | mpi2_sas.h 02.00.01 02.00.01 02.00.01 02.00.01 02.00.00 02.00.00 | ||
331 | mpi2_targ.h 02.00.01 02.00.01 02.00.01 02.00.00 02.00.00 02.00.00 | ||
332 | mpi2_tool.h 02.00.01 02.00.00 02.00.00 02.00.00 02.00.00 02.00.00 | ||
333 | mpi2_type.h 02.00.00 02.00.00 02.00.00 02.00.00 02.00.00 02.00.00 | ||
334 | |||
diff --git a/drivers/scsi/mpt2sas/mpi/mpi2_init.h b/drivers/scsi/mpt2sas/mpi/mpi2_init.h index f1115f0f0eb2..563e56d2e945 100644 --- a/drivers/scsi/mpt2sas/mpi/mpi2_init.h +++ b/drivers/scsi/mpt2sas/mpi/mpi2_init.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_init.h | 5 | * Name: mpi2_init.h |
6 | * Title: MPI SCSI initiator mode messages and structures | 6 | * Title: MPI SCSI initiator mode messages and structures |
7 | * Creation Date: June 23, 2006 | 7 | * Creation Date: June 23, 2006 |
8 | * | 8 | * |
9 | * mpi2_init.h Version: 02.00.06 | 9 | * mpi2_init.h Version: 02.00.07 |
10 | * | 10 | * |
11 | * Version History | 11 | * Version History |
12 | * --------------- | 12 | * --------------- |
@@ -23,6 +23,10 @@ | |||
23 | * Control field Task Attribute flags. | 23 | * Control field Task Attribute flags. |
24 | * Moved LUN field defines to mpi2.h becasue they are | 24 | * Moved LUN field defines to mpi2.h becasue they are |
25 | * common to many structures. | 25 | * common to many structures. |
26 | * 05-06-09 02.00.07 Changed task management type of Query Unit Attention to | ||
27 | * Query Asynchronous Event. | ||
28 | * Defined two new bits in the SlotStatus field of the SCSI | ||
29 | * Enclosure Processor Request and Reply. | ||
26 | * -------------------------------------------------------------------------- | 30 | * -------------------------------------------------------------------------- |
27 | */ | 31 | */ |
28 | 32 | ||
@@ -289,7 +293,11 @@ typedef struct _MPI2_SCSI_TASK_MANAGE_REQUEST | |||
289 | #define MPI2_SCSITASKMGMT_TASKTYPE_QUERY_TASK (0x07) | 293 | #define MPI2_SCSITASKMGMT_TASKTYPE_QUERY_TASK (0x07) |
290 | #define MPI2_SCSITASKMGMT_TASKTYPE_CLR_ACA (0x08) | 294 | #define MPI2_SCSITASKMGMT_TASKTYPE_CLR_ACA (0x08) |
291 | #define MPI2_SCSITASKMGMT_TASKTYPE_QRY_TASK_SET (0x09) | 295 | #define MPI2_SCSITASKMGMT_TASKTYPE_QRY_TASK_SET (0x09) |
292 | #define MPI2_SCSITASKMGMT_TASKTYPE_QRY_UNIT_ATTENTION (0x0A) | 296 | #define MPI2_SCSITASKMGMT_TASKTYPE_QRY_ASYNC_EVENT (0x0A) |
297 | |||
298 | /* obsolete TaskType name */ | ||
299 | #define MPI2_SCSITASKMGMT_TASKTYPE_QRY_UNIT_ATTENTION \ | ||
300 | (MPI2_SCSITASKMGMT_TASKTYPE_QRY_ASYNC_EVENT) | ||
293 | 301 | ||
294 | /* MsgFlags bits */ | 302 | /* MsgFlags bits */ |
295 | 303 | ||
@@ -375,6 +383,8 @@ typedef struct _MPI2_SEP_REQUEST | |||
375 | #define MPI2_SEP_REQ_SLOTSTATUS_HOT_SPARE (0x00000100) | 383 | #define MPI2_SEP_REQ_SLOTSTATUS_HOT_SPARE (0x00000100) |
376 | #define MPI2_SEP_REQ_SLOTSTATUS_UNCONFIGURED (0x00000080) | 384 | #define MPI2_SEP_REQ_SLOTSTATUS_UNCONFIGURED (0x00000080) |
377 | #define MPI2_SEP_REQ_SLOTSTATUS_PREDICTED_FAULT (0x00000040) | 385 | #define MPI2_SEP_REQ_SLOTSTATUS_PREDICTED_FAULT (0x00000040) |
386 | #define MPI2_SEP_REQ_SLOTSTATUS_IN_CRITICAL_ARRAY (0x00000010) | ||
387 | #define MPI2_SEP_REQ_SLOTSTATUS_IN_FAILED_ARRAY (0x00000008) | ||
378 | #define MPI2_SEP_REQ_SLOTSTATUS_DEV_REBUILDING (0x00000004) | 388 | #define MPI2_SEP_REQ_SLOTSTATUS_DEV_REBUILDING (0x00000004) |
379 | #define MPI2_SEP_REQ_SLOTSTATUS_DEV_FAULTY (0x00000002) | 389 | #define MPI2_SEP_REQ_SLOTSTATUS_DEV_FAULTY (0x00000002) |
380 | #define MPI2_SEP_REQ_SLOTSTATUS_NO_ERROR (0x00000001) | 390 | #define MPI2_SEP_REQ_SLOTSTATUS_NO_ERROR (0x00000001) |
@@ -410,6 +420,8 @@ typedef struct _MPI2_SEP_REPLY | |||
410 | #define MPI2_SEP_REPLY_SLOTSTATUS_HOT_SPARE (0x00000100) | 420 | #define MPI2_SEP_REPLY_SLOTSTATUS_HOT_SPARE (0x00000100) |
411 | #define MPI2_SEP_REPLY_SLOTSTATUS_UNCONFIGURED (0x00000080) | 421 | #define MPI2_SEP_REPLY_SLOTSTATUS_UNCONFIGURED (0x00000080) |
412 | #define MPI2_SEP_REPLY_SLOTSTATUS_PREDICTED_FAULT (0x00000040) | 422 | #define MPI2_SEP_REPLY_SLOTSTATUS_PREDICTED_FAULT (0x00000040) |
423 | #define MPI2_SEP_REPLY_SLOTSTATUS_IN_CRITICAL_ARRAY (0x00000010) | ||
424 | #define MPI2_SEP_REPLY_SLOTSTATUS_IN_FAILED_ARRAY (0x00000008) | ||
413 | #define MPI2_SEP_REPLY_SLOTSTATUS_DEV_REBUILDING (0x00000004) | 425 | #define MPI2_SEP_REPLY_SLOTSTATUS_DEV_REBUILDING (0x00000004) |
414 | #define MPI2_SEP_REPLY_SLOTSTATUS_DEV_FAULTY (0x00000002) | 426 | #define MPI2_SEP_REPLY_SLOTSTATUS_DEV_FAULTY (0x00000002) |
415 | #define MPI2_SEP_REPLY_SLOTSTATUS_NO_ERROR (0x00000001) | 427 | #define MPI2_SEP_REPLY_SLOTSTATUS_NO_ERROR (0x00000001) |
diff --git a/drivers/scsi/mpt2sas/mpi/mpi2_ioc.h b/drivers/scsi/mpt2sas/mpi/mpi2_ioc.h index 8c5d81870c03..c294128bdeb4 100644 --- a/drivers/scsi/mpt2sas/mpi/mpi2_ioc.h +++ b/drivers/scsi/mpt2sas/mpi/mpi2_ioc.h | |||
@@ -6,7 +6,7 @@ | |||
6 | * Title: MPI IOC, Port, Event, FW Download, and FW Upload messages | 6 | * Title: MPI IOC, Port, Event, FW Download, and FW Upload messages |
7 | * Creation Date: October 11, 2006 | 7 | * Creation Date: October 11, 2006 |
8 | * | 8 | * |
9 | * mpi2_ioc.h Version: 02.00.10 | 9 | * mpi2_ioc.h Version: 02.00.11 |
10 | * | 10 | * |
11 | * Version History | 11 | * Version History |
12 | * --------------- | 12 | * --------------- |
@@ -79,6 +79,11 @@ | |||
79 | * Added MPI2_EVENT_SAS_DEV_STAT_RC_SATA_INIT_FAILURE | 79 | * Added MPI2_EVENT_SAS_DEV_STAT_RC_SATA_INIT_FAILURE |
80 | * define. | 80 | * define. |
81 | * Removed MPI2_EVENT_SAS_DISC_DS_SATA_INIT_FAILURE define. | 81 | * Removed MPI2_EVENT_SAS_DISC_DS_SATA_INIT_FAILURE define. |
82 | * 05-06-09 02.00.11 Added MPI2_IOCFACTS_CAPABILITY_RAID_ACCELERATOR define. | ||
83 | * Added MPI2_IOCFACTS_CAPABILITY_MSI_X_INDEX define. | ||
84 | * Added two new reason codes for SAS Device Status Change | ||
85 | * Event. | ||
86 | * Added new event: SAS PHY Counter. | ||
82 | * -------------------------------------------------------------------------- | 87 | * -------------------------------------------------------------------------- |
83 | */ | 88 | */ |
84 | 89 | ||
@@ -261,6 +266,8 @@ typedef struct _MPI2_IOC_FACTS_REPLY | |||
261 | /* ProductID field uses MPI2_FW_HEADER_PID_ */ | 266 | /* ProductID field uses MPI2_FW_HEADER_PID_ */ |
262 | 267 | ||
263 | /* IOCCapabilities */ | 268 | /* IOCCapabilities */ |
269 | #define MPI2_IOCFACTS_CAPABILITY_MSI_X_INDEX (0x00008000) | ||
270 | #define MPI2_IOCFACTS_CAPABILITY_RAID_ACCELERATOR (0x00004000) | ||
264 | #define MPI2_IOCFACTS_CAPABILITY_EVENT_REPLAY (0x00002000) | 271 | #define MPI2_IOCFACTS_CAPABILITY_EVENT_REPLAY (0x00002000) |
265 | #define MPI2_IOCFACTS_CAPABILITY_INTEGRATED_RAID (0x00001000) | 272 | #define MPI2_IOCFACTS_CAPABILITY_INTEGRATED_RAID (0x00001000) |
266 | #define MPI2_IOCFACTS_CAPABILITY_TLR (0x00000800) | 273 | #define MPI2_IOCFACTS_CAPABILITY_TLR (0x00000800) |
@@ -440,6 +447,7 @@ typedef struct _MPI2_EVENT_NOTIFICATION_REPLY | |||
440 | #define MPI2_EVENT_IR_PHYSICAL_DISK (0x001F) | 447 | #define MPI2_EVENT_IR_PHYSICAL_DISK (0x001F) |
441 | #define MPI2_EVENT_IR_CONFIGURATION_CHANGE_LIST (0x0020) | 448 | #define MPI2_EVENT_IR_CONFIGURATION_CHANGE_LIST (0x0020) |
442 | #define MPI2_EVENT_LOG_ENTRY_ADDED (0x0021) | 449 | #define MPI2_EVENT_LOG_ENTRY_ADDED (0x0021) |
450 | #define MPI2_EVENT_SAS_PHY_COUNTER (0x0022) | ||
443 | 451 | ||
444 | 452 | ||
445 | /* Log Entry Added Event data */ | 453 | /* Log Entry Added Event data */ |
@@ -502,17 +510,19 @@ typedef struct _MPI2_EVENT_DATA_SAS_DEVICE_STATUS_CHANGE | |||
502 | MPI2_POINTER pMpi2EventDataSasDeviceStatusChange_t; | 510 | MPI2_POINTER pMpi2EventDataSasDeviceStatusChange_t; |
503 | 511 | ||
504 | /* SAS Device Status Change Event data ReasonCode values */ | 512 | /* SAS Device Status Change Event data ReasonCode values */ |
505 | #define MPI2_EVENT_SAS_DEV_STAT_RC_SMART_DATA (0x05) | 513 | #define MPI2_EVENT_SAS_DEV_STAT_RC_SMART_DATA (0x05) |
506 | #define MPI2_EVENT_SAS_DEV_STAT_RC_UNSUPPORTED (0x07) | 514 | #define MPI2_EVENT_SAS_DEV_STAT_RC_UNSUPPORTED (0x07) |
507 | #define MPI2_EVENT_SAS_DEV_STAT_RC_INTERNAL_DEVICE_RESET (0x08) | 515 | #define MPI2_EVENT_SAS_DEV_STAT_RC_INTERNAL_DEVICE_RESET (0x08) |
508 | #define MPI2_EVENT_SAS_DEV_STAT_RC_TASK_ABORT_INTERNAL (0x09) | 516 | #define MPI2_EVENT_SAS_DEV_STAT_RC_TASK_ABORT_INTERNAL (0x09) |
509 | #define MPI2_EVENT_SAS_DEV_STAT_RC_ABORT_TASK_SET_INTERNAL (0x0A) | 517 | #define MPI2_EVENT_SAS_DEV_STAT_RC_ABORT_TASK_SET_INTERNAL (0x0A) |
510 | #define MPI2_EVENT_SAS_DEV_STAT_RC_CLEAR_TASK_SET_INTERNAL (0x0B) | 518 | #define MPI2_EVENT_SAS_DEV_STAT_RC_CLEAR_TASK_SET_INTERNAL (0x0B) |
511 | #define MPI2_EVENT_SAS_DEV_STAT_RC_QUERY_TASK_INTERNAL (0x0C) | 519 | #define MPI2_EVENT_SAS_DEV_STAT_RC_QUERY_TASK_INTERNAL (0x0C) |
512 | #define MPI2_EVENT_SAS_DEV_STAT_RC_ASYNC_NOTIFICATION (0x0D) | 520 | #define MPI2_EVENT_SAS_DEV_STAT_RC_ASYNC_NOTIFICATION (0x0D) |
513 | #define MPI2_EVENT_SAS_DEV_STAT_RC_CMP_INTERNAL_DEV_RESET (0x0E) | 521 | #define MPI2_EVENT_SAS_DEV_STAT_RC_CMP_INTERNAL_DEV_RESET (0x0E) |
514 | #define MPI2_EVENT_SAS_DEV_STAT_RC_CMP_TASK_ABORT_INTERNAL (0x0F) | 522 | #define MPI2_EVENT_SAS_DEV_STAT_RC_CMP_TASK_ABORT_INTERNAL (0x0F) |
515 | #define MPI2_EVENT_SAS_DEV_STAT_RC_SATA_INIT_FAILURE (0x10) | 523 | #define MPI2_EVENT_SAS_DEV_STAT_RC_SATA_INIT_FAILURE (0x10) |
524 | #define MPI2_EVENT_SAS_DEV_STAT_RC_EXPANDER_REDUCED_FUNCTIONALITY (0x11) | ||
525 | #define MPI2_EVENT_SAS_DEV_STAT_RC_CMP_EXPANDER_REDUCED_FUNCTIONALITY (0x12) | ||
516 | 526 | ||
517 | 527 | ||
518 | /* Integrated RAID Operation Status Event data */ | 528 | /* Integrated RAID Operation Status Event data */ |
@@ -822,6 +832,37 @@ typedef struct _MPI2_EVENT_DATA_SAS_ENCL_DEV_STATUS_CHANGE | |||
822 | #define MPI2_EVENT_SAS_ENCL_RC_NOT_RESPONDING (0x02) | 832 | #define MPI2_EVENT_SAS_ENCL_RC_NOT_RESPONDING (0x02) |
823 | 833 | ||
824 | 834 | ||
835 | /* SAS PHY Counter Event data */ | ||
836 | |||
837 | typedef struct _MPI2_EVENT_DATA_SAS_PHY_COUNTER { | ||
838 | U64 TimeStamp; /* 0x00 */ | ||
839 | U32 Reserved1; /* 0x08 */ | ||
840 | U8 PhyEventCode; /* 0x0C */ | ||
841 | U8 PhyNum; /* 0x0D */ | ||
842 | U16 Reserved2; /* 0x0E */ | ||
843 | U32 PhyEventInfo; /* 0x10 */ | ||
844 | U8 CounterType; /* 0x14 */ | ||
845 | U8 ThresholdWindow; /* 0x15 */ | ||
846 | U8 TimeUnits; /* 0x16 */ | ||
847 | U8 Reserved3; /* 0x17 */ | ||
848 | U32 EventThreshold; /* 0x18 */ | ||
849 | U16 ThresholdFlags; /* 0x1C */ | ||
850 | U16 Reserved4; /* 0x1E */ | ||
851 | } MPI2_EVENT_DATA_SAS_PHY_COUNTER, | ||
852 | MPI2_POINTER PTR_MPI2_EVENT_DATA_SAS_PHY_COUNTER, | ||
853 | Mpi2EventDataSasPhyCounter_t, MPI2_POINTER pMpi2EventDataSasPhyCounter_t; | ||
854 | |||
855 | /* use MPI2_SASPHY3_EVENT_CODE_ values from mpi2_cnfg.h for the | ||
856 | * PhyEventCode field | ||
857 | * use MPI2_SASPHY3_COUNTER_TYPE_ values from mpi2_cnfg.h for the | ||
858 | * CounterType field | ||
859 | * use MPI2_SASPHY3_TIME_UNITS_ values from mpi2_cnfg.h for the | ||
860 | * TimeUnits field | ||
861 | * use MPI2_SASPHY3_TFLAGS_ values from mpi2_cnfg.h for the | ||
862 | * ThresholdFlags field | ||
863 | * */ | ||
864 | |||
865 | |||
825 | /**************************************************************************** | 866 | /**************************************************************************** |
826 | * EventAck message | 867 | * EventAck message |
827 | ****************************************************************************/ | 868 | ****************************************************************************/ |
diff --git a/drivers/scsi/mpt2sas/mpi/mpi2_tool.h b/drivers/scsi/mpt2sas/mpi/mpi2_tool.h index 2ff4e936bd39..007e950f7bfa 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.03 |
10 | * | 10 | * |
11 | * Version History | 11 | * Version History |
12 | * --------------- | 12 | * --------------- |
@@ -17,6 +17,7 @@ | |||
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. | ||
20 | * -------------------------------------------------------------------------- | 21 | * -------------------------------------------------------------------------- |
21 | */ | 22 | */ |
22 | 23 | ||
@@ -32,7 +33,10 @@ | |||
32 | /* defines for the Tools */ | 33 | /* defines for the Tools */ |
33 | #define MPI2_TOOLBOX_CLEAN_TOOL (0x00) | 34 | #define MPI2_TOOLBOX_CLEAN_TOOL (0x00) |
34 | #define MPI2_TOOLBOX_MEMORY_MOVE_TOOL (0x01) | 35 | #define MPI2_TOOLBOX_MEMORY_MOVE_TOOL (0x01) |
36 | #define MPI2_TOOLBOX_ISTWI_READ_WRITE_TOOL (0x03) | ||
35 | #define MPI2_TOOLBOX_BEACON_TOOL (0x05) | 37 | #define MPI2_TOOLBOX_BEACON_TOOL (0x05) |
38 | #define MPI2_TOOLBOX_DIAGNOSTIC_CLI_TOOL (0x06) | ||
39 | |||
36 | 40 | ||
37 | /**************************************************************************** | 41 | /**************************************************************************** |
38 | * Toolbox reply | 42 | * Toolbox reply |
@@ -112,6 +116,77 @@ typedef struct _MPI2_TOOLBOX_MEM_MOVE_REQUEST | |||
112 | 116 | ||
113 | 117 | ||
114 | /**************************************************************************** | 118 | /**************************************************************************** |
119 | * Toolbox ISTWI Read Write Tool | ||
120 | ****************************************************************************/ | ||
121 | |||
122 | /* Toolbox ISTWI Read Write Tool request message */ | ||
123 | typedef struct _MPI2_TOOLBOX_ISTWI_READ_WRITE_REQUEST { | ||
124 | U8 Tool; /* 0x00 */ | ||
125 | U8 Reserved1; /* 0x01 */ | ||
126 | U8 ChainOffset; /* 0x02 */ | ||
127 | U8 Function; /* 0x03 */ | ||
128 | U16 Reserved2; /* 0x04 */ | ||
129 | U8 Reserved3; /* 0x06 */ | ||
130 | U8 MsgFlags; /* 0x07 */ | ||
131 | U8 VP_ID; /* 0x08 */ | ||
132 | U8 VF_ID; /* 0x09 */ | ||
133 | U16 Reserved4; /* 0x0A */ | ||
134 | U32 Reserved5; /* 0x0C */ | ||
135 | U32 Reserved6; /* 0x10 */ | ||
136 | U8 DevIndex; /* 0x14 */ | ||
137 | U8 Action; /* 0x15 */ | ||
138 | U8 SGLFlags; /* 0x16 */ | ||
139 | U8 Reserved7; /* 0x17 */ | ||
140 | U16 TxDataLength; /* 0x18 */ | ||
141 | U16 RxDataLength; /* 0x1A */ | ||
142 | U32 Reserved8; /* 0x1C */ | ||
143 | U32 Reserved9; /* 0x20 */ | ||
144 | U32 Reserved10; /* 0x24 */ | ||
145 | U32 Reserved11; /* 0x28 */ | ||
146 | U32 Reserved12; /* 0x2C */ | ||
147 | MPI2_SGE_SIMPLE_UNION SGL; /* 0x30 */ | ||
148 | } MPI2_TOOLBOX_ISTWI_READ_WRITE_REQUEST, | ||
149 | MPI2_POINTER PTR_MPI2_TOOLBOX_ISTWI_READ_WRITE_REQUEST, | ||
150 | Mpi2ToolboxIstwiReadWriteRequest_t, | ||
151 | MPI2_POINTER pMpi2ToolboxIstwiReadWriteRequest_t; | ||
152 | |||
153 | /* values for the Action field */ | ||
154 | #define MPI2_TOOL_ISTWI_ACTION_READ_DATA (0x01) | ||
155 | #define MPI2_TOOL_ISTWI_ACTION_WRITE_DATA (0x02) | ||
156 | #define MPI2_TOOL_ISTWI_ACTION_SEQUENCE (0x03) | ||
157 | #define MPI2_TOOL_ISTWI_ACTION_RESERVE_BUS (0x10) | ||
158 | #define MPI2_TOOL_ISTWI_ACTION_RELEASE_BUS (0x11) | ||
159 | #define MPI2_TOOL_ISTWI_ACTION_RESET (0x12) | ||
160 | |||
161 | /* values for SGLFlags field are in the SGL section of mpi2.h */ | ||
162 | |||
163 | |||
164 | /* Toolbox ISTWI Read Write Tool reply message */ | ||
165 | typedef struct _MPI2_TOOLBOX_ISTWI_REPLY { | ||
166 | U8 Tool; /* 0x00 */ | ||
167 | U8 Reserved1; /* 0x01 */ | ||
168 | U8 MsgLength; /* 0x02 */ | ||
169 | U8 Function; /* 0x03 */ | ||
170 | U16 Reserved2; /* 0x04 */ | ||
171 | U8 Reserved3; /* 0x06 */ | ||
172 | U8 MsgFlags; /* 0x07 */ | ||
173 | U8 VP_ID; /* 0x08 */ | ||
174 | U8 VF_ID; /* 0x09 */ | ||
175 | U16 Reserved4; /* 0x0A */ | ||
176 | U16 Reserved5; /* 0x0C */ | ||
177 | U16 IOCStatus; /* 0x0E */ | ||
178 | U32 IOCLogInfo; /* 0x10 */ | ||
179 | U8 DevIndex; /* 0x14 */ | ||
180 | U8 Action; /* 0x15 */ | ||
181 | U8 IstwiStatus; /* 0x16 */ | ||
182 | U8 Reserved6; /* 0x17 */ | ||
183 | U16 TxDataCount; /* 0x18 */ | ||
184 | U16 RxDataCount; /* 0x1A */ | ||
185 | } MPI2_TOOLBOX_ISTWI_REPLY, MPI2_POINTER PTR_MPI2_TOOLBOX_ISTWI_REPLY, | ||
186 | Mpi2ToolboxIstwiReply_t, MPI2_POINTER pMpi2ToolboxIstwiReply_t; | ||
187 | |||
188 | |||
189 | /**************************************************************************** | ||
115 | * Toolbox Beacon Tool request | 190 | * Toolbox Beacon Tool request |
116 | ****************************************************************************/ | 191 | ****************************************************************************/ |
117 | 192 | ||
@@ -139,6 +214,61 @@ typedef struct _MPI2_TOOLBOX_BEACON_REQUEST | |||
139 | #define MPI2_TOOLBOX_FLAGS_BEACONMODE_ON (0x01) | 214 | #define MPI2_TOOLBOX_FLAGS_BEACONMODE_ON (0x01) |
140 | 215 | ||
141 | 216 | ||
217 | /**************************************************************************** | ||
218 | * Toolbox Diagnostic CLI Tool | ||
219 | ****************************************************************************/ | ||
220 | |||
221 | #define MPI2_TOOLBOX_DIAG_CLI_CMD_LENGTH (0x5C) | ||
222 | |||
223 | /* Toolbox Diagnostic CLI Tool request message */ | ||
224 | typedef struct _MPI2_TOOLBOX_DIAGNOSTIC_CLI_REQUEST { | ||
225 | U8 Tool; /* 0x00 */ | ||
226 | U8 Reserved1; /* 0x01 */ | ||
227 | U8 ChainOffset; /* 0x02 */ | ||
228 | U8 Function; /* 0x03 */ | ||
229 | U16 Reserved2; /* 0x04 */ | ||
230 | U8 Reserved3; /* 0x06 */ | ||
231 | U8 MsgFlags; /* 0x07 */ | ||
232 | U8 VP_ID; /* 0x08 */ | ||
233 | U8 VF_ID; /* 0x09 */ | ||
234 | U16 Reserved4; /* 0x0A */ | ||
235 | U8 SGLFlags; /* 0x0C */ | ||
236 | U8 Reserved5; /* 0x0D */ | ||
237 | U16 Reserved6; /* 0x0E */ | ||
238 | U32 DataLength; /* 0x10 */ | ||
239 | U8 DiagnosticCliCommand | ||
240 | [MPI2_TOOLBOX_DIAG_CLI_CMD_LENGTH]; /* 0x14 */ | ||
241 | MPI2_SGE_SIMPLE_UNION SGL; /* 0x70 */ | ||
242 | } MPI2_TOOLBOX_DIAGNOSTIC_CLI_REQUEST, | ||
243 | MPI2_POINTER PTR_MPI2_TOOLBOX_DIAGNOSTIC_CLI_REQUEST, | ||
244 | Mpi2ToolboxDiagnosticCliRequest_t, | ||
245 | MPI2_POINTER pMpi2ToolboxDiagnosticCliRequest_t; | ||
246 | |||
247 | /* values for SGLFlags field are in the SGL section of mpi2.h */ | ||
248 | |||
249 | |||
250 | /* Toolbox Diagnostic CLI Tool reply message */ | ||
251 | typedef struct _MPI2_TOOLBOX_DIAGNOSTIC_CLI_REPLY { | ||
252 | U8 Tool; /* 0x00 */ | ||
253 | U8 Reserved1; /* 0x01 */ | ||
254 | U8 MsgLength; /* 0x02 */ | ||
255 | U8 Function; /* 0x03 */ | ||
256 | U16 Reserved2; /* 0x04 */ | ||
257 | U8 Reserved3; /* 0x06 */ | ||
258 | U8 MsgFlags; /* 0x07 */ | ||
259 | U8 VP_ID; /* 0x08 */ | ||
260 | U8 VF_ID; /* 0x09 */ | ||
261 | U16 Reserved4; /* 0x0A */ | ||
262 | U16 Reserved5; /* 0x0C */ | ||
263 | U16 IOCStatus; /* 0x0E */ | ||
264 | U32 IOCLogInfo; /* 0x10 */ | ||
265 | U32 ReturnedDataLength; /* 0x14 */ | ||
266 | } MPI2_TOOLBOX_DIAGNOSTIC_CLI_REPLY, | ||
267 | MPI2_POINTER PTR_MPI2_TOOLBOX_DIAG_CLI_REPLY, | ||
268 | Mpi2ToolboxDiagnosticCliReply_t, | ||
269 | MPI2_POINTER pMpi2ToolboxDiagnosticCliReply_t; | ||
270 | |||
271 | |||
142 | /***************************************************************************** | 272 | /***************************************************************************** |
143 | * | 273 | * |
144 | * Diagnostic Buffer Messages | 274 | * Diagnostic Buffer Messages |