aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/mpt3sas/mpi/mpi2_ioc.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/mpt3sas/mpi/mpi2_ioc.h')
-rw-r--r--drivers/scsi/mpt3sas/mpi/mpi2_ioc.h40
1 files changed, 35 insertions, 5 deletions
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)