aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChaitra P B <chaitra.basappa@broadcom.com>2016-05-06 04:59:26 -0400
committerMartin K. Petersen <martin.petersen@oracle.com>2016-05-11 16:10:56 -0400
commit4fe6bc97efebdc5083aa749850928fad1740a60d (patch)
tree9ae4630a26fd9640c8c7957256c5c682859f1b0e
parentb324f6392eda4124f25017bd4633c167301ad9e3 (diff)
mpt3sas: Update MPI header to 2.00.42
Updated MPI version and MPI header files. ChangeList: * Added SATADeviceWaitTime to SAS IO Unit Page 4 * Added EEDPObservedValue added to SCSI IO Reply message * Added MPI2_EVENT_ACTIVE_CABLE_EXCEPTION and MPI26_EVENT_DATA_ACTIVE_CABLE_EXCEPT Signed-off-by: Chaitra P B <chaitra.basappa@broadcom.com> Reviewed-by: Tomas Henzl <thenzl@redhat.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
-rw-r--r--drivers/scsi/mpt3sas/mpi/mpi2.h7
-rw-r--r--drivers/scsi/mpt3sas/mpi/mpi2_cnfg.h18
-rw-r--r--drivers/scsi/mpt3sas/mpi/mpi2_init.h15
-rw-r--r--drivers/scsi/mpt3sas/mpi/mpi2_ioc.h40
4 files changed, 65 insertions, 15 deletions
diff --git a/drivers/scsi/mpt3sas/mpi/mpi2.h b/drivers/scsi/mpt3sas/mpi/mpi2.h
index dfad5b8c1890..a9a659fc2812 100644
--- a/drivers/scsi/mpt3sas/mpi/mpi2.h
+++ b/drivers/scsi/mpt3sas/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.39 11 * mpi2.h Version: 02.00.42
12 * 12 *
13 * NOTE: Names (typedefs, defines, etc.) beginning with an MPI25 or Mpi25 13 * NOTE: Names (typedefs, defines, etc.) beginning with an MPI25 or Mpi25
14 * prefix are for use only on MPI v2.5 products, and must not be used 14 * prefix are for use only on MPI v2.5 products, and must not be used
@@ -100,6 +100,9 @@
100 * Added MPI2_DIAG_SBR_RELOAD. 100 * Added MPI2_DIAG_SBR_RELOAD.
101 * 03-19-15 02.00.38 Bumped MPI2_HEADER_VERSION_UNIT. 101 * 03-19-15 02.00.38 Bumped MPI2_HEADER_VERSION_UNIT.
102 * 05-25-15 02.00.39 Bumped MPI2_HEADER_VERSION_UNIT. 102 * 05-25-15 02.00.39 Bumped MPI2_HEADER_VERSION_UNIT.
103 * 08-25-15 02.00.40 Bumped MPI2_HEADER_VERSION_UNIT.
104 * 12-15-15 02.00.41 Bumped MPI_HEADER_VERSION_UNIT
105 * 01-01-16 02.00.42 Bumped MPI_HEADER_VERSION_UNIT
103 * -------------------------------------------------------------------------- 106 * --------------------------------------------------------------------------
104 */ 107 */
105 108
@@ -139,7 +142,7 @@
139#define MPI2_VERSION_02_06 (0x0206) 142#define MPI2_VERSION_02_06 (0x0206)
140 143
141/*Unit and Dev versioning for this MPI header set */ 144/*Unit and Dev versioning for this MPI header set */
142#define MPI2_HEADER_VERSION_UNIT (0x27) 145#define MPI2_HEADER_VERSION_UNIT (0x2A)
143#define MPI2_HEADER_VERSION_DEV (0x00) 146#define MPI2_HEADER_VERSION_DEV (0x00)
144#define MPI2_HEADER_VERSION_UNIT_MASK (0xFF00) 147#define MPI2_HEADER_VERSION_UNIT_MASK (0xFF00)
145#define MPI2_HEADER_VERSION_UNIT_SHIFT (8) 148#define MPI2_HEADER_VERSION_UNIT_SHIFT (8)
diff --git a/drivers/scsi/mpt3sas/mpi/mpi2_cnfg.h b/drivers/scsi/mpt3sas/mpi/mpi2_cnfg.h
index 9cf09bf7c4a8..95356a82ee99 100644
--- a/drivers/scsi/mpt3sas/mpi/mpi2_cnfg.h
+++ b/drivers/scsi/mpt3sas/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.33 9 * mpi2_cnfg.h Version: 02.00.35
10 * 10 *
11 * NOTE: Names (typedefs, defines, etc.) beginning with an MPI25 or Mpi25 11 * NOTE: Names (typedefs, defines, etc.) beginning with an MPI25 or Mpi25
12 * prefix are for use only on MPI v2.5 products, and must not be used 12 * prefix are for use only on MPI v2.5 products, and must not be used
@@ -183,9 +183,12 @@
183 * Added MPI2_BIOSPAGE1_OPTIONS_ADVANCED_CONFIG. 183 * Added MPI2_BIOSPAGE1_OPTIONS_ADVANCED_CONFIG.
184 * Added AdapterOrderAux fields to BIOS Page 3. 184 * Added AdapterOrderAux fields to BIOS Page 3.
185 * 03-16-15 02.00.31 Updated for MPI v2.6. 185 * 03-16-15 02.00.31 Updated for MPI v2.6.
186 * Added Flags field to IO Unit Page 7.
186 * Added new SAS Phy Event codes 187 * Added new SAS Phy Event codes
187 * 05-25-15 02.00.33 Added more defines for the BiosOptions field of 188 * 05-25-15 02.00.33 Added more defines for the BiosOptions field of
188 * MPI2_CONFIG_PAGE_BIOS_1. 189 * MPI2_CONFIG_PAGE_BIOS_1.
190 * 08-25-15 02.00.34 Bumped Header Version.
191 * 12-18-15 02.00.35 Added SATADeviceWaitTime to SAS IO Unit Page 4.
189 * -------------------------------------------------------------------------- 192 * --------------------------------------------------------------------------
190 */ 193 */
191 194
@@ -958,13 +961,16 @@ typedef struct _MPI2_CONFIG_PAGE_IO_UNIT_7 {
958 U8 Reserved3; /*0x17 */ 961 U8 Reserved3; /*0x17 */
959 U32 BoardPowerRequirement; /*0x18 */ 962 U32 BoardPowerRequirement; /*0x18 */
960 U32 PCISlotPowerAllocation; /*0x1C */ 963 U32 PCISlotPowerAllocation; /*0x1C */
961 U32 Reserved6; /* 0x20 */ 964/* reserved prior to MPI v2.6 */
962 U32 Reserved7; /* 0x24 */ 965 U8 Flags; /* 0x20 */
966 U8 Reserved6; /* 0x21 */
967 U16 Reserved7; /* 0x22 */
968 U32 Reserved8; /* 0x24 */
963} MPI2_CONFIG_PAGE_IO_UNIT_7, 969} MPI2_CONFIG_PAGE_IO_UNIT_7,
964 *PTR_MPI2_CONFIG_PAGE_IO_UNIT_7, 970 *PTR_MPI2_CONFIG_PAGE_IO_UNIT_7,
965 Mpi2IOUnitPage7_t, *pMpi2IOUnitPage7_t; 971 Mpi2IOUnitPage7_t, *pMpi2IOUnitPage7_t;
966 972
967#define MPI2_IOUNITPAGE7_PAGEVERSION (0x04) 973#define MPI2_IOUNITPAGE7_PAGEVERSION (0x05)
968 974
969/*defines for IO Unit Page 7 CurrentPowerMode and PreviousPowerMode fields */ 975/*defines for IO Unit Page 7 CurrentPowerMode and PreviousPowerMode fields */
970#define MPI25_IOUNITPAGE7_PM_INIT_MASK (0xC0) 976#define MPI25_IOUNITPAGE7_PM_INIT_MASK (0xC0)
@@ -1045,6 +1051,8 @@ typedef struct _MPI2_CONFIG_PAGE_IO_UNIT_7 {
1045#define MPI2_IOUNITPAGE7_BOARD_TEMP_FAHRENHEIT (0x01) 1051#define MPI2_IOUNITPAGE7_BOARD_TEMP_FAHRENHEIT (0x01)
1046#define MPI2_IOUNITPAGE7_BOARD_TEMP_CELSIUS (0x02) 1052#define MPI2_IOUNITPAGE7_BOARD_TEMP_CELSIUS (0x02)
1047 1053
1054/* defines for IO Unit Page 7 Flags field */
1055#define MPI2_IOUNITPAGE7_FLAG_CABLE_POWER_EXC (0x01)
1048 1056
1049/*IO Unit Page 8 */ 1057/*IO Unit Page 8 */
1050 1058
@@ -2271,7 +2279,7 @@ typedef struct _MPI2_CONFIG_PAGE_SASIOUNIT_4 {
2271 U8 2279 U8
2272 BootDeviceWaitTime; /*0x24 */ 2280 BootDeviceWaitTime; /*0x24 */
2273 U8 2281 U8
2274 Reserved4; /*0x25 */ 2282 SATADeviceWaitTime; /*0x25 */
2275 U16 2283 U16
2276 Reserved5; /*0x26 */ 2284 Reserved5; /*0x26 */
2277 U8 2285 U8
diff --git a/drivers/scsi/mpt3sas/mpi/mpi2_init.h b/drivers/scsi/mpt3sas/mpi/mpi2_init.h
index c38f624b859d..bba56b61d36c 100644
--- a/drivers/scsi/mpt3sas/mpi/mpi2_init.h
+++ b/drivers/scsi/mpt3sas/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.17 9 * mpi2_init.h Version: 02.00.20
10 * 10 *
11 * NOTE: Names (typedefs, defines, etc.) beginning with an MPI25 or Mpi25 11 * NOTE: Names (typedefs, defines, etc.) beginning with an MPI25 or Mpi25
12 * prefix are for use only on MPI v2.5 products, and must not be used 12 * prefix are for use only on MPI v2.5 products, and must not be used
@@ -51,6 +51,9 @@
51 * Added MPI26_SCSIIO_IOFLAGS_ESCAPE_PASSTHROUGH. 51 * Added MPI26_SCSIIO_IOFLAGS_ESCAPE_PASSTHROUGH.
52 * Added MPI2_SEP_REQ_SLOTSTATUS_DEV_OFF and 52 * Added MPI2_SEP_REQ_SLOTSTATUS_DEV_OFF and
53 * MPI2_SEP_REPLY_SLOTSTATUS_DEV_OFF. 53 * MPI2_SEP_REPLY_SLOTSTATUS_DEV_OFF.
54 * 08-26-15 02.00.18 Added SCSITASKMGMT_MSGFLAGS for Target Reset.
55 * 12-18-15 02.00.19 Added EEDPObservedValue added to SCSI IO Reply message.
56 * 01-04-16 02.00.20 Modified EEDP reported values in SCSI IO Reply message.
54 * -------------------------------------------------------------------------- 57 * --------------------------------------------------------------------------
55 */ 58 */
56 59
@@ -359,8 +362,14 @@ typedef struct _MPI2_SCSI_IO_REPLY {
359 U16 TaskTag; /*0x20 */ 362 U16 TaskTag; /*0x20 */
360 U16 SCSIStatusQualifier; /* 0x22 */ 363 U16 SCSIStatusQualifier; /* 0x22 */
361 U32 BidirectionalTransferCount; /*0x24 */ 364 U32 BidirectionalTransferCount; /*0x24 */
362 U32 EEDPErrorOffset; /*0x28 *//*MPI 2.5 only; Reserved in MPI 2.0*/ 365 /* MPI 2.5+ only; Reserved in MPI 2.0 */
363 U32 Reserved6; /*0x2C */ 366 U32 EEDPErrorOffset; /* 0x28 */
367 /* MPI 2.5+ only; Reserved in MPI 2.0 */
368 U16 EEDPObservedAppTag; /* 0x2C */
369 /* MPI 2.5+ only; Reserved in MPI 2.0 */
370 U16 EEDPObservedGuard; /* 0x2E */
371 /* MPI 2.5+ only; Reserved in MPI 2.0 */
372 U32 EEDPObservedRefTag; /* 0x30 */
364} MPI2_SCSI_IO_REPLY, *PTR_MPI2_SCSI_IO_REPLY, 373} MPI2_SCSI_IO_REPLY, *PTR_MPI2_SCSI_IO_REPLY,
365 Mpi2SCSIIOReply_t, *pMpi2SCSIIOReply_t; 374 Mpi2SCSIIOReply_t, *pMpi2SCSIIOReply_t;
366 375
diff --git a/drivers/scsi/mpt3sas/mpi/mpi2_ioc.h b/drivers/scsi/mpt3sas/mpi/mpi2_ioc.h
index cf510ed91924..8bae305bc156 100644
--- a/drivers/scsi/mpt3sas/mpi/mpi2_ioc.h
+++ b/drivers/scsi/mpt3sas/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.26 9 * mpi2_ioc.h Version: 02.00.27
10 * 10 *
11 * NOTE: Names (typedefs, defines, etc.) beginning with an MPI25 or Mpi25 11 * NOTE: Names (typedefs, defines, etc.) beginning with an MPI25 or Mpi25
12 * prefix are for use only on MPI v2.5 products, and must not be used 12 * prefix are for use only on MPI v2.5 products, and must not be used
@@ -134,9 +134,13 @@
134 * Added Encrypted Hash Extended Image. 134 * Added Encrypted Hash Extended Image.
135 * 12-05-13 02.00.24 Added MPI25_HASH_IMAGE_TYPE_BIOS. 135 * 12-05-13 02.00.24 Added MPI25_HASH_IMAGE_TYPE_BIOS.
136 * 11-18-14 02.00.25 Updated copyright information. 136 * 11-18-14 02.00.25 Updated copyright information.
137 * 03-16-15 02.00.26 Added MPI26_FW_HEADER_PID_FAMILY_3324_SAS and 137 * 03-16-15 02.00.26 Updated for MPI v2.6.
138 * Added MPI2_EVENT_ACTIVE_CABLE_EXCEPTION and
139 * MPI26_EVENT_DATA_ACTIVE_CABLE_EXCEPT.
140 * Added MPI26_FW_HEADER_PID_FAMILY_3324_SAS and
138 * MPI26_FW_HEADER_PID_FAMILY_3516_SAS. 141 * MPI26_FW_HEADER_PID_FAMILY_3516_SAS.
139 * Added MPI26_CTRL_OP_SHUTDOWN. 142 * Added MPI26_CTRL_OP_SHUTDOWN.
143 * 08-25-15 02.00.27 Added IC ARCH Class based signature defines
140 * -------------------------------------------------------------------------- 144 * --------------------------------------------------------------------------
141 */ 145 */
142 146
@@ -168,7 +172,7 @@ typedef struct _MPI2_IOC_INIT_REQUEST {
168 U16 MsgVersion; /*0x0C */ 172 U16 MsgVersion; /*0x0C */
169 U16 HeaderVersion; /*0x0E */ 173 U16 HeaderVersion; /*0x0E */
170 U32 Reserved5; /*0x10 */ 174 U32 Reserved5; /*0x10 */
171 U16 Reserved6; /*0x14 */ 175 U16 ConfigurationFlags; /* 0x14 */
172 U8 HostPageSize; /*0x16 */ 176 U8 HostPageSize; /*0x16 */
173 U8 HostMSIxVectors; /*0x17 */ 177 U8 HostMSIxVectors; /*0x17 */
174 U16 Reserved8; /*0x18 */ 178 U16 Reserved8; /*0x18 */
@@ -516,6 +520,7 @@ typedef struct _MPI2_EVENT_NOTIFICATION_REPLY {
516#define MPI2_EVENT_TEMP_THRESHOLD (0x0027) 520#define MPI2_EVENT_TEMP_THRESHOLD (0x0027)
517#define MPI2_EVENT_HOST_MESSAGE (0x0028) 521#define MPI2_EVENT_HOST_MESSAGE (0x0028)
518#define MPI2_EVENT_POWER_PERFORMANCE_CHANGE (0x0029) 522#define MPI2_EVENT_POWER_PERFORMANCE_CHANGE (0x0029)
523#define MPI2_EVENT_ACTIVE_CABLE_EXCEPTION (0x0034)
519#define MPI2_EVENT_MIN_PRODUCT_SPECIFIC (0x006E) 524#define MPI2_EVENT_MIN_PRODUCT_SPECIFIC (0x006E)
520#define MPI2_EVENT_MAX_PRODUCT_SPECIFIC (0x007F) 525#define MPI2_EVENT_MAX_PRODUCT_SPECIFIC (0x007F)
521 526
@@ -580,7 +585,7 @@ typedef struct _MPI2_EVENT_DATA_HOST_MESSAGE {
580} MPI2_EVENT_DATA_HOST_MESSAGE, *PTR_MPI2_EVENT_DATA_HOST_MESSAGE, 585} MPI2_EVENT_DATA_HOST_MESSAGE, *PTR_MPI2_EVENT_DATA_HOST_MESSAGE,
581 Mpi2EventDataHostMessage_t, *pMpi2EventDataHostMessage_t; 586 Mpi2EventDataHostMessage_t, *pMpi2EventDataHostMessage_t;
582 587
583/*Power Performance Change Event */ 588/*Power Performance Change Event data */
584 589
585typedef struct _MPI2_EVENT_DATA_POWER_PERF_CHANGE { 590typedef struct _MPI2_EVENT_DATA_POWER_PERF_CHANGE {
586 U8 CurrentPowerMode; /*0x00 */ 591 U8 CurrentPowerMode; /*0x00 */
@@ -605,6 +610,21 @@ typedef struct _MPI2_EVENT_DATA_POWER_PERF_CHANGE {
605#define MPI2_EVENT_PM_MODE_REDUCED_POWER (0x05) 610#define MPI2_EVENT_PM_MODE_REDUCED_POWER (0x05)
606#define MPI2_EVENT_PM_MODE_STANDBY (0x06) 611#define MPI2_EVENT_PM_MODE_STANDBY (0x06)
607 612
613/* Active Cable Exception Event data */
614
615typedef struct _MPI26_EVENT_DATA_ACTIVE_CABLE_EXCEPT {
616 U32 ActiveCablePowerRequirement; /* 0x00 */
617 U8 ReasonCode; /* 0x04 */
618 U8 ReceptacleID; /* 0x05 */
619 U16 Reserved1; /* 0x06 */
620} MPI26_EVENT_DATA_ACTIVE_CABLE_EXCEPT,
621 *PTR_MPI26_EVENT_DATA_ACTIVE_CABLE_EXCEPT,
622 Mpi26EventDataActiveCableExcept_t,
623 *pMpi26EventDataActiveCableExcept_t;
624
625/* defines for ReasonCode field */
626#define MPI26_EVENT_ACTIVE_CABLE_INSUFFICIENT_POWER (0x00)
627
608/*Hard Reset Received Event data */ 628/*Hard Reset Received Event data */
609 629
610typedef struct _MPI2_EVENT_DATA_HARD_RESET_RECEIVED { 630typedef struct _MPI2_EVENT_DATA_HARD_RESET_RECEIVED {
@@ -1366,7 +1386,16 @@ typedef struct _MPI2_FW_IMAGE_HEADER {
1366/*Signature0 field */ 1386/*Signature0 field */
1367#define MPI2_FW_HEADER_SIGNATURE0_OFFSET (0x04) 1387#define MPI2_FW_HEADER_SIGNATURE0_OFFSET (0x04)
1368#define MPI2_FW_HEADER_SIGNATURE0 (0x5AFAA55A) 1388#define MPI2_FW_HEADER_SIGNATURE0 (0x5AFAA55A)
1369#define MPI26_FW_HEADER_SIGNATURE0 (0x5AEAA55A) 1389/* Last byte is defined by architecture */
1390#define MPI26_FW_HEADER_SIGNATURE0_BASE (0x5AEAA500)
1391#define MPI26_FW_HEADER_SIGNATURE0_ARC_0 (0x5A)
1392#define MPI26_FW_HEADER_SIGNATURE0_ARC_1 (0x00)
1393#define MPI26_FW_HEADER_SIGNATURE0_ARC_2 (0x01)
1394/* legacy (0x5AEAA55A) */
1395#define MPI26_FW_HEADER_SIGNATURE0 \
1396 (MPI26_FW_HEADER_SIGNATURE0_BASE+MPI26_FW_HEADER_SIGNATURE0_ARC_0)
1397#define MPI26_FW_HEADER_SIGNATURE0_3516 \
1398 (MPI26_FW_HEADER_SIGNATURE0_BASE+MPI26_FW_HEADER_SIGNATURE0_ARC_1)
1370 1399
1371/*Signature1 field */ 1400/*Signature1 field */
1372#define MPI2_FW_HEADER_SIGNATURE1_OFFSET (0x08) 1401#define MPI2_FW_HEADER_SIGNATURE1_OFFSET (0x08)
@@ -1778,6 +1807,7 @@ typedef struct _MPI26_IOUNIT_CONTROL_REQUEST {
1778#define MPI26_CTRL_OP_SAS_PHY_LINK_RESET (0x06) 1807#define MPI26_CTRL_OP_SAS_PHY_LINK_RESET (0x06)
1779#define MPI26_CTRL_OP_SAS_PHY_HARD_RESET (0x07) 1808#define MPI26_CTRL_OP_SAS_PHY_HARD_RESET (0x07)
1780#define MPI26_CTRL_OP_PHY_CLEAR_ERROR_LOG (0x08) 1809#define MPI26_CTRL_OP_PHY_CLEAR_ERROR_LOG (0x08)
1810#define MPI26_CTRL_OP_LINK_CLEAR_ERROR_LOG (0x09)
1781#define MPI26_CTRL_OP_SAS_SEND_PRIMITIVE (0x0A) 1811#define MPI26_CTRL_OP_SAS_SEND_PRIMITIVE (0x0A)
1782#define MPI26_CTRL_OP_FORCE_FULL_DISCOVERY (0x0B) 1812#define MPI26_CTRL_OP_FORCE_FULL_DISCOVERY (0x0B)
1783#define MPI26_CTRL_OP_REMOVE_DEVICE (0x0D) 1813#define MPI26_CTRL_OP_REMOVE_DEVICE (0x0D)