|
@@ -6,7 +6,7 @@
|
|
|
* Title: MPI IOC, Port, Event, FW Download, and FW Upload messages
|
|
|
* Creation Date: October 11, 2006
|
|
|
*
|
|
|
- * mpi2_ioc.h Version: 02.00.12
|
|
|
+ * mpi2_ioc.h Version: 02.00.13
|
|
|
*
|
|
|
* Version History
|
|
|
* ---------------
|
|
@@ -87,6 +87,17 @@
|
|
|
* 07-30-09 02.00.12 Added GPIO Interrupt event define and structure.
|
|
|
* Added MPI2_IOCFACTS_CAPABILITY_EXTENDED_BUFFER define.
|
|
|
* Added new product id family for 2208.
|
|
|
+ * 10-28-09 02.00.13 Added HostMSIxVectors field to MPI2_IOC_INIT_REQUEST.
|
|
|
+ * Added MaxMSIxVectors field to MPI2_IOC_FACTS_REPLY.
|
|
|
+ * Added MinDevHandle field to MPI2_IOC_FACTS_REPLY.
|
|
|
+ * Added MPI2_IOCFACTS_CAPABILITY_HOST_BASED_DISCOVERY.
|
|
|
+ * Added MPI2_EVENT_HOST_BASED_DISCOVERY_PHY define.
|
|
|
+ * Added MPI2_EVENT_SAS_TOPO_ES_NO_EXPANDER define.
|
|
|
+ * Added Host Based Discovery Phy Event data.
|
|
|
+ * Added defines for ProductID Product field
|
|
|
+ * (MPI2_FW_HEADER_PID_).
|
|
|
+ * Modified values for SAS ProductID Family
|
|
|
+ * (MPI2_FW_HEADER_PID_FAMILY_).
|
|
|
* --------------------------------------------------------------------------
|
|
|
*/
|
|
|
|
|
@@ -119,8 +130,10 @@ typedef struct _MPI2_IOC_INIT_REQUEST
|
|
|
U16 MsgVersion; /* 0x0C */
|
|
|
U16 HeaderVersion; /* 0x0E */
|
|
|
U32 Reserved5; /* 0x10 */
|
|
|
- U32 Reserved6; /* 0x14 */
|
|
|
- U16 Reserved7; /* 0x18 */
|
|
|
+ U16 Reserved6; /* 0x14 */
|
|
|
+ U8 Reserved7; /* 0x16 */
|
|
|
+ U8 HostMSIxVectors; /* 0x17 */
|
|
|
+ U16 Reserved8; /* 0x18 */
|
|
|
U16 SystemRequestFrameSize; /* 0x1A */
|
|
|
U16 ReplyDescriptorPostQueueDepth; /* 0x1C */
|
|
|
U16 ReplyFreeQueueDepth; /* 0x1E */
|
|
@@ -215,7 +228,7 @@ typedef struct _MPI2_IOC_FACTS_REPLY
|
|
|
U8 MaxChainDepth; /* 0x14 */
|
|
|
U8 WhoInit; /* 0x15 */
|
|
|
U8 NumberOfPorts; /* 0x16 */
|
|
|
- U8 Reserved2; /* 0x17 */
|
|
|
+ U8 MaxMSIxVectors; /* 0x17 */
|
|
|
U16 RequestCredit; /* 0x18 */
|
|
|
U16 ProductID; /* 0x1A */
|
|
|
U32 IOCCapabilities; /* 0x1C */
|
|
@@ -233,7 +246,8 @@ typedef struct _MPI2_IOC_FACTS_REPLY
|
|
|
U8 MaxVolumes; /* 0x37 */
|
|
|
U16 MaxDevHandle; /* 0x38 */
|
|
|
U16 MaxPersistentEntries; /* 0x3A */
|
|
|
- U32 Reserved4; /* 0x3C */
|
|
|
+ U16 MinDevHandle; /* 0x3C */
|
|
|
+ U16 Reserved4; /* 0x3E */
|
|
|
} MPI2_IOC_FACTS_REPLY, MPI2_POINTER PTR_MPI2_IOC_FACTS_REPLY,
|
|
|
Mpi2IOCFactsReply_t, MPI2_POINTER pMpi2IOCFactsReply_t;
|
|
|
|
|
@@ -269,6 +283,7 @@ typedef struct _MPI2_IOC_FACTS_REPLY
|
|
|
/* ProductID field uses MPI2_FW_HEADER_PID_ */
|
|
|
|
|
|
/* IOCCapabilities */
|
|
|
+#define MPI2_IOCFACTS_CAPABILITY_HOST_BASED_DISCOVERY (0x00010000)
|
|
|
#define MPI2_IOCFACTS_CAPABILITY_MSI_X_INDEX (0x00008000)
|
|
|
#define MPI2_IOCFACTS_CAPABILITY_RAID_ACCELERATOR (0x00004000)
|
|
|
#define MPI2_IOCFACTS_CAPABILITY_EVENT_REPLAY (0x00002000)
|
|
@@ -453,6 +468,7 @@ typedef struct _MPI2_EVENT_NOTIFICATION_REPLY
|
|
|
#define MPI2_EVENT_LOG_ENTRY_ADDED (0x0021)
|
|
|
#define MPI2_EVENT_SAS_PHY_COUNTER (0x0022)
|
|
|
#define MPI2_EVENT_GPIO_INTERRUPT (0x0023)
|
|
|
+#define MPI2_EVENT_HOST_BASED_DISCOVERY_PHY (0x0024)
|
|
|
|
|
|
|
|
|
/* Log Entry Added Event data */
|
|
@@ -793,6 +809,7 @@ typedef struct _MPI2_EVENT_DATA_SAS_TOPOLOGY_CHANGE_LIST
|
|
|
MPI2_POINTER pMpi2EventDataSasTopologyChangeList_t;
|
|
|
|
|
|
/* values for the ExpStatus field */
|
|
|
+#define MPI2_EVENT_SAS_TOPO_ES_NO_EXPANDER (0x00)
|
|
|
#define MPI2_EVENT_SAS_TOPO_ES_ADDED (0x01)
|
|
|
#define MPI2_EVENT_SAS_TOPO_ES_NOT_RESPONDING (0x02)
|
|
|
#define MPI2_EVENT_SAS_TOPO_ES_RESPONDING (0x03)
|
|
@@ -878,6 +895,44 @@ typedef struct _MPI2_EVENT_DATA_SAS_PHY_COUNTER {
|
|
|
* */
|
|
|
|
|
|
|
|
|
+/* Host Based Discovery Phy Event data */
|
|
|
+
|
|
|
+typedef struct _MPI2_EVENT_HBD_PHY_SAS {
|
|
|
+ U8 Flags; /* 0x00 */
|
|
|
+ U8 NegotiatedLinkRate; /* 0x01 */
|
|
|
+ U8 PhyNum; /* 0x02 */
|
|
|
+ U8 PhysicalPort; /* 0x03 */
|
|
|
+ U32 Reserved1; /* 0x04 */
|
|
|
+ U8 InitialFrame[28]; /* 0x08 */
|
|
|
+} MPI2_EVENT_HBD_PHY_SAS, MPI2_POINTER PTR_MPI2_EVENT_HBD_PHY_SAS,
|
|
|
+ Mpi2EventHbdPhySas_t, MPI2_POINTER pMpi2EventHbdPhySas_t;
|
|
|
+
|
|
|
+/* values for the Flags field */
|
|
|
+#define MPI2_EVENT_HBD_SAS_FLAGS_FRAME_VALID (0x02)
|
|
|
+#define MPI2_EVENT_HBD_SAS_FLAGS_SATA_FRAME (0x01)
|
|
|
+
|
|
|
+/* use MPI2_SAS_NEG_LINK_RATE_ defines from mpi2_cnfg.h for
|
|
|
+ * the NegotiatedLinkRate field */
|
|
|
+
|
|
|
+typedef union _MPI2_EVENT_HBD_DESCRIPTOR {
|
|
|
+ MPI2_EVENT_HBD_PHY_SAS Sas;
|
|
|
+} MPI2_EVENT_HBD_DESCRIPTOR, MPI2_POINTER PTR_MPI2_EVENT_HBD_DESCRIPTOR,
|
|
|
+ Mpi2EventHbdDescriptor_t, MPI2_POINTER pMpi2EventHbdDescriptor_t;
|
|
|
+
|
|
|
+typedef struct _MPI2_EVENT_DATA_HBD_PHY {
|
|
|
+ U8 DescriptorType; /* 0x00 */
|
|
|
+ U8 Reserved1; /* 0x01 */
|
|
|
+ U16 Reserved2; /* 0x02 */
|
|
|
+ U32 Reserved3; /* 0x04 */
|
|
|
+ MPI2_EVENT_HBD_DESCRIPTOR Descriptor; /* 0x08 */
|
|
|
+} MPI2_EVENT_DATA_HBD_PHY, MPI2_POINTER PTR_MPI2_EVENT_DATA_HBD_PHY,
|
|
|
+ Mpi2EventDataHbdPhy_t, MPI2_POINTER pMpi2EventDataMpi2EventDataHbdPhy_t;
|
|
|
+
|
|
|
+/* values for the DescriptorType field */
|
|
|
+#define MPI2_EVENT_HBD_DT_SAS (0x01)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
/****************************************************************************
|
|
|
* EventAck message
|
|
|
****************************************************************************/
|
|
@@ -1126,13 +1181,17 @@ typedef struct _MPI2_FW_IMAGE_HEADER
|
|
|
#define MPI2_FW_HEADER_PID_TYPE_MASK (0xF000)
|
|
|
#define MPI2_FW_HEADER_PID_TYPE_SAS (0x2000)
|
|
|
|
|
|
-#define MPI2_FW_HEADER_PID_PROD_MASK (0x0F00)
|
|
|
-#define MPI2_FW_HEADER_PID_PROD_A (0x0000)
|
|
|
+#define MPI2_FW_HEADER_PID_PROD_MASK (0x0F00)
|
|
|
+#define MPI2_FW_HEADER_PID_PROD_A (0x0000)
|
|
|
+#define MPI2_FW_HEADER_PID_PROD_MASK (0x0F00)
|
|
|
+#define MPI2_FW_HEADER_PID_PROD_TARGET_INITIATOR_SCSI (0x0200)
|
|
|
+#define MPI2_FW_HEADER_PID_PROD_IR_SCSI (0x0700)
|
|
|
+
|
|
|
|
|
|
#define MPI2_FW_HEADER_PID_FAMILY_MASK (0x00FF)
|
|
|
/* SAS */
|
|
|
-#define MPI2_FW_HEADER_PID_FAMILY_2108_SAS (0x0010)
|
|
|
-#define MPI2_FW_HEADER_PID_FAMILY_2208_SAS (0x0011)
|
|
|
+#define MPI2_FW_HEADER_PID_FAMILY_2108_SAS (0x0013)
|
|
|
+#define MPI2_FW_HEADER_PID_FAMILY_2208_SAS (0x0014)
|
|
|
|
|
|
/* use MPI2_IOCFACTS_PROTOCOL_ defines for ProtocolFlags field */
|
|
|
|