aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSreekanth Reddy <Sreekanth.Reddy@lsi.com>2013-02-01 11:24:13 -0500
committerJames Bottomley <JBottomley@Parallels.com>2013-06-24 15:40:02 -0400
commit10ec24e4ce0356f61a12d79f84996cea3686b926 (patch)
tree10ead13c6551f69655d2e809650bd5ecd60e1717
parentb0df96a0068daee4f9c2189c29b9053eb6e46b17 (diff)
[SCSI] mpt2sas: MPI2 Rev W (2.00.15) specification
Change set in MPI 2.0 Rev W(2.00.15) specification and 2.00.27 header files 1. Added a bit to the IOCExceptions field of the IOCFacts Reply to indicate that the IOC detected a partial memory failure. 2. Added ElapsedSeconds field to RAID Volume Indicator Structure. Added Elapsed Seconds Valid flag to Flags field of this structure. 3. Added ElapsedSeconds field to Integrated RAID Operations Status Event Data. 4. In the IOCSettings field of BIOS Page 1, modified the Adapter Support bits description to specify X86 BIOS. 5. Toolbox Diagnostic CLI Tool Request may now use chain elements in the SGL. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@lsi.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
-rw-r--r--drivers/scsi/mpt2sas/mpi/mpi2.h6
-rw-r--r--drivers/scsi/mpt2sas/mpi/mpi2_init.h4
-rw-r--r--drivers/scsi/mpt2sas/mpi/mpi2_ioc.h8
-rw-r--r--drivers/scsi/mpt2sas/mpi/mpi2_raid.h9
-rw-r--r--drivers/scsi/mpt2sas/mpi/mpi2_tool.h10
5 files changed, 26 insertions, 11 deletions
diff --git a/drivers/scsi/mpt2sas/mpi/mpi2.h b/drivers/scsi/mpt2sas/mpi/mpi2.h
index e960f9625c78..31b5b15a4726 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.25 11 * mpi2.h Version: 02.00.27
12 * 12 *
13 * Version History 13 * Version History
14 * --------------- 14 * ---------------
@@ -75,6 +75,8 @@
75 * 02-06-12 02.00.24 Bumped MPI2_HEADER_VERSION_UNIT. 75 * 02-06-12 02.00.24 Bumped MPI2_HEADER_VERSION_UNIT.
76 * 03-29-12 02.00.25 Bumped MPI2_HEADER_VERSION_UNIT. 76 * 03-29-12 02.00.25 Bumped MPI2_HEADER_VERSION_UNIT.
77 * Added Hard Reset delay timings. 77 * Added Hard Reset delay timings.
78 * 07-10-12 02.00.26 Bumped MPI2_HEADER_VERSION_UNIT.
79 * 07-26-12 02.00.27 Bumped MPI2_HEADER_VERSION_UNIT.
78 * -------------------------------------------------------------------------- 80 * --------------------------------------------------------------------------
79 */ 81 */
80 82
@@ -100,7 +102,7 @@
100#define MPI2_VERSION_02_00 (0x0200) 102#define MPI2_VERSION_02_00 (0x0200)
101 103
102/* versioning for this MPI header set */ 104/* versioning for this MPI header set */
103#define MPI2_HEADER_VERSION_UNIT (0x19) 105#define MPI2_HEADER_VERSION_UNIT (0x1B)
104#define MPI2_HEADER_VERSION_DEV (0x00) 106#define MPI2_HEADER_VERSION_DEV (0x00)
105#define MPI2_HEADER_VERSION_UNIT_MASK (0xFF00) 107#define MPI2_HEADER_VERSION_UNIT_MASK (0xFF00)
106#define MPI2_HEADER_VERSION_UNIT_SHIFT (8) 108#define MPI2_HEADER_VERSION_UNIT_SHIFT (8)
diff --git a/drivers/scsi/mpt2sas/mpi/mpi2_init.h b/drivers/scsi/mpt2sas/mpi/mpi2_init.h
index 38c5da398143..963761fb8462 100644
--- a/drivers/scsi/mpt2sas/mpi/mpi2_init.h
+++ b/drivers/scsi/mpt2sas/mpi/mpi2_init.h
@@ -6,7 +6,7 @@
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.13 9 * mpi2_init.h Version: 02.00.14
10 * 10 *
11 * Version History 11 * Version History
12 * --------------- 12 * ---------------
@@ -36,6 +36,7 @@
36 * 11-10-10 02.00.11 Added MPI2_SCSIIO_NUM_SGLOFFSETS define. 36 * 11-10-10 02.00.11 Added MPI2_SCSIIO_NUM_SGLOFFSETS define.
37 * 02-06-12 02.00.13 Added alternate defines for Task Priority / Command 37 * 02-06-12 02.00.13 Added alternate defines for Task Priority / Command
38 * Priority to match SAM-4. 38 * Priority to match SAM-4.
39 * 07-10-12 02.00.14 Added MPI2_SCSIIO_CONTROL_SHIFT_DATADIRECTION.
39 * -------------------------------------------------------------------------- 40 * --------------------------------------------------------------------------
40 */ 41 */
41 42
@@ -189,6 +190,7 @@ typedef struct _MPI2_SCSI_IO_REQUEST
189#define MPI2_SCSIIO_CONTROL_ADDCDBLEN_SHIFT (26) 190#define MPI2_SCSIIO_CONTROL_ADDCDBLEN_SHIFT (26)
190 191
191#define MPI2_SCSIIO_CONTROL_DATADIRECTION_MASK (0x03000000) 192#define MPI2_SCSIIO_CONTROL_DATADIRECTION_MASK (0x03000000)
193#define MPI2_SCSIIO_CONTROL_SHIFT_DATADIRECTION (24)
192#define MPI2_SCSIIO_CONTROL_NODATATRANSFER (0x00000000) 194#define MPI2_SCSIIO_CONTROL_NODATATRANSFER (0x00000000)
193#define MPI2_SCSIIO_CONTROL_WRITE (0x01000000) 195#define MPI2_SCSIIO_CONTROL_WRITE (0x01000000)
194#define MPI2_SCSIIO_CONTROL_READ (0x02000000) 196#define MPI2_SCSIIO_CONTROL_READ (0x02000000)
diff --git a/drivers/scsi/mpt2sas/mpi/mpi2_ioc.h b/drivers/scsi/mpt2sas/mpi/mpi2_ioc.h
index b0d4760bb17d..e93f8f53adf9 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.21 9 * mpi2_ioc.h Version: 02.00.22
10 * 10 *
11 * Version History 11 * Version History
12 * --------------- 12 * ---------------
@@ -118,6 +118,9 @@
118 * MPI2_EVENT_DATA_SAS_DEVICE_STATUS_CHANGE structure. 118 * MPI2_EVENT_DATA_SAS_DEVICE_STATUS_CHANGE structure.
119 * Marked MPI2_PM_CONTROL_FEATURE_PCIE_LINK as obsolete. 119 * Marked MPI2_PM_CONTROL_FEATURE_PCIE_LINK as obsolete.
120 * 03-29-12 02.00.21 Added a product specific range to event values. 120 * 03-29-12 02.00.21 Added a product specific range to event values.
121 * 07-26-12 02.00.22 Added MPI2_IOCFACTS_EXCEPT_PARTIAL_MEMORY_FAILURE.
122 * Added ElapsedSeconds field to
123 * MPI2_EVENT_DATA_IR_OPERATION_STATUS.
121 * -------------------------------------------------------------------------- 124 * --------------------------------------------------------------------------
122 */ 125 */
123 126
@@ -284,6 +287,7 @@ typedef struct _MPI2_IOC_FACTS_REPLY
284#define MPI2_IOCFACTS_HDRVERSION_DEV_SHIFT (0) 287#define MPI2_IOCFACTS_HDRVERSION_DEV_SHIFT (0)
285 288
286/* IOCExceptions */ 289/* IOCExceptions */
290#define MPI2_IOCFACTS_EXCEPT_PARTIAL_MEMORY_FAILURE (0x0200)
287#define MPI2_IOCFACTS_EXCEPT_IR_FOREIGN_CONFIG_MAX (0x0100) 291#define MPI2_IOCFACTS_EXCEPT_IR_FOREIGN_CONFIG_MAX (0x0100)
288 292
289#define MPI2_IOCFACTS_EXCEPT_BOOTSTAT_MASK (0x00E0) 293#define MPI2_IOCFACTS_EXCEPT_BOOTSTAT_MASK (0x00E0)
@@ -624,7 +628,7 @@ typedef struct _MPI2_EVENT_DATA_IR_OPERATION_STATUS
624 U8 RAIDOperation; /* 0x04 */ 628 U8 RAIDOperation; /* 0x04 */
625 U8 PercentComplete; /* 0x05 */ 629 U8 PercentComplete; /* 0x05 */
626 U16 Reserved2; /* 0x06 */ 630 U16 Reserved2; /* 0x06 */
627 U32 Resereved3; /* 0x08 */ 631 U32 ElapsedSeconds; /* 0x08 */
628} MPI2_EVENT_DATA_IR_OPERATION_STATUS, 632} MPI2_EVENT_DATA_IR_OPERATION_STATUS,
629 MPI2_POINTER PTR_MPI2_EVENT_DATA_IR_OPERATION_STATUS, 633 MPI2_POINTER PTR_MPI2_EVENT_DATA_IR_OPERATION_STATUS,
630 Mpi2EventDataIrOperationStatus_t, 634 Mpi2EventDataIrOperationStatus_t,
diff --git a/drivers/scsi/mpt2sas/mpi/mpi2_raid.h b/drivers/scsi/mpt2sas/mpi/mpi2_raid.h
index 2b38af213beb..255b0ca219a4 100644
--- a/drivers/scsi/mpt2sas/mpi/mpi2_raid.h
+++ b/drivers/scsi/mpt2sas/mpi/mpi2_raid.h
@@ -6,7 +6,7 @@
6 * Title: MPI Integrated RAID messages and structures 6 * Title: MPI Integrated RAID messages and structures
7 * Creation Date: April 26, 2007 7 * Creation Date: April 26, 2007
8 * 8 *
9 * mpi2_raid.h Version: 02.00.08 9 * mpi2_raid.h Version: 02.00.09
10 * 10 *
11 * Version History 11 * Version History
12 * --------------- 12 * ---------------
@@ -27,6 +27,8 @@
27 * related structures and defines. 27 * related structures and defines.
28 * Added product-specific range to RAID Action values. 28 * Added product-specific range to RAID Action values.
29 * 02-06-12 02.00.08 Added MPI2_RAID_ACTION_PHYSDISK_HIDDEN. 29 * 02-06-12 02.00.08 Added MPI2_RAID_ACTION_PHYSDISK_HIDDEN.
30 * 07-26-12 02.00.09 Added ElapsedSeconds field to MPI2_RAID_VOL_INDICATOR.
31 * Added MPI2_RAID_VOL_FLAGS_ELAPSED_SECONDS_VALID define.
30 * -------------------------------------------------------------------------- 32 * --------------------------------------------------------------------------
31 */ 33 */
32 34
@@ -276,10 +278,13 @@ typedef struct _MPI2_RAID_VOL_INDICATOR
276 U64 TotalBlocks; /* 0x00 */ 278 U64 TotalBlocks; /* 0x00 */
277 U64 BlocksRemaining; /* 0x08 */ 279 U64 BlocksRemaining; /* 0x08 */
278 U32 Flags; /* 0x10 */ 280 U32 Flags; /* 0x10 */
281 U32 ElapsedSeconds; /* 0x14 */
279} MPI2_RAID_VOL_INDICATOR, MPI2_POINTER PTR_MPI2_RAID_VOL_INDICATOR, 282} MPI2_RAID_VOL_INDICATOR, MPI2_POINTER PTR_MPI2_RAID_VOL_INDICATOR,
280 Mpi2RaidVolIndicator_t, MPI2_POINTER pMpi2RaidVolIndicator_t; 283 Mpi2RaidVolIndicator_t, MPI2_POINTER pMpi2RaidVolIndicator_t;
281 284
282/* defines for RAID Volume Indicator Flags field */ 285/* defines for RAID Volume Indicator Flags field */
286#define MPI2_RAID_VOL_FLAGS_ELAPSED_SECONDS_VALID (0x80000000)
287
283#define MPI2_RAID_VOL_FLAGS_OP_MASK (0x0000000F) 288#define MPI2_RAID_VOL_FLAGS_OP_MASK (0x0000000F)
284#define MPI2_RAID_VOL_FLAGS_OP_BACKGROUND_INIT (0x00000000) 289#define MPI2_RAID_VOL_FLAGS_OP_BACKGROUND_INIT (0x00000000)
285#define MPI2_RAID_VOL_FLAGS_OP_ONLINE_CAP_EXPANSION (0x00000001) 290#define MPI2_RAID_VOL_FLAGS_OP_ONLINE_CAP_EXPANSION (0x00000001)
@@ -320,7 +325,7 @@ MPI2_POINTER pMpi2RaidCompatibilityResultStruct_t;
320/* RAID Action Reply ActionData union */ 325/* RAID Action Reply ActionData union */
321typedef union _MPI2_RAID_ACTION_REPLY_DATA 326typedef union _MPI2_RAID_ACTION_REPLY_DATA
322{ 327{
323 U32 Word[5]; 328 U32 Word[6];
324 MPI2_RAID_VOL_INDICATOR RaidVolumeIndicator; 329 MPI2_RAID_VOL_INDICATOR RaidVolumeIndicator;
325 U16 VolDevHandle; 330 U16 VolDevHandle;
326 U8 VolumeState; 331 U8 VolumeState;
diff --git a/drivers/scsi/mpt2sas/mpi/mpi2_tool.h b/drivers/scsi/mpt2sas/mpi/mpi2_tool.h
index 3cbe677c6886..67c387f10e59 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-2010 LSI Corporation. 2 * Copyright (c) 2000-2012 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.07 9 * mpi2_tool.h Version: 02.00.10
10 * 10 *
11 * Version History 11 * Version History
12 * --------------- 12 * ---------------
@@ -27,6 +27,8 @@
27 * Post Request. 27 * Post Request.
28 * 05-25-11 02.00.07 Added Flags field and related defines to 28 * 05-25-11 02.00.07 Added Flags field and related defines to
29 * MPI2_TOOLBOX_ISTWI_READ_WRITE_REQUEST. 29 * MPI2_TOOLBOX_ISTWI_READ_WRITE_REQUEST.
30 * 07-26-12 02.00.10 Modified MPI2_TOOLBOX_DIAGNOSTIC_CLI_REQUEST so that
31 * it uses MPI Chain SGE as well as MPI Simple SGE.
30 * -------------------------------------------------------------------------- 32 * --------------------------------------------------------------------------
31 */ 33 */
32 34
@@ -270,7 +272,7 @@ typedef struct _MPI2_TOOLBOX_BEACON_REQUEST
270 272
271#define MPI2_TOOLBOX_DIAG_CLI_CMD_LENGTH (0x5C) 273#define MPI2_TOOLBOX_DIAG_CLI_CMD_LENGTH (0x5C)
272 274
273/* Toolbox Diagnostic CLI Tool request message */ 275/* MPI v2.0 Toolbox Diagnostic CLI Tool request message */
274typedef struct _MPI2_TOOLBOX_DIAGNOSTIC_CLI_REQUEST { 276typedef struct _MPI2_TOOLBOX_DIAGNOSTIC_CLI_REQUEST {
275 U8 Tool; /* 0x00 */ 277 U8 Tool; /* 0x00 */
276 U8 Reserved1; /* 0x01 */ 278 U8 Reserved1; /* 0x01 */
@@ -288,7 +290,7 @@ typedef struct _MPI2_TOOLBOX_DIAGNOSTIC_CLI_REQUEST {
288 U32 DataLength; /* 0x10 */ 290 U32 DataLength; /* 0x10 */
289 U8 DiagnosticCliCommand 291 U8 DiagnosticCliCommand
290 [MPI2_TOOLBOX_DIAG_CLI_CMD_LENGTH]; /* 0x14 */ 292 [MPI2_TOOLBOX_DIAG_CLI_CMD_LENGTH]; /* 0x14 */
291 MPI2_SGE_SIMPLE_UNION SGL; /* 0x70 */ 293 MPI2_MPI_SGE_IO_UNION SGL; /* 0x70 */
292} MPI2_TOOLBOX_DIAGNOSTIC_CLI_REQUEST, 294} MPI2_TOOLBOX_DIAGNOSTIC_CLI_REQUEST,
293 MPI2_POINTER PTR_MPI2_TOOLBOX_DIAGNOSTIC_CLI_REQUEST, 295 MPI2_POINTER PTR_MPI2_TOOLBOX_DIAGNOSTIC_CLI_REQUEST,
294 Mpi2ToolboxDiagnosticCliRequest_t, 296 Mpi2ToolboxDiagnosticCliRequest_t,