mpt3sas: Added support for high port count HBA variants.
Updated hardware description headers with MPI v2.6 and mpt3sas_pci_table[] with vendor_ids, device_ids of Cutlass and Intruder HBA which have support for 4 ports. Signed-off-by: Suganath prabu Subramani <suganath-prabu.subramani@avagotech.com> Signed-off-by: Chaitra P B <chaitra.basappa@avagotech.com> Reviewed-by: Tomas Henzl <thenzl@redhat.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:

committed by
Martin K. Petersen

parent
8038e6456a
commit
b130b0d56f
@@ -1,12 +1,12 @@
|
||||
/*
|
||||
* Copyright (c) 2000-2014 LSI Corporation.
|
||||
* Copyright 2000-2015 Avago Technologies. All rights reserved.
|
||||
*
|
||||
*
|
||||
* Name: mpi2_ioc.h
|
||||
* Title: MPI IOC, Port, Event, FW Download, and FW Upload messages
|
||||
* Creation Date: October 11, 2006
|
||||
*
|
||||
* mpi2_ioc.h Version: 02.00.24
|
||||
* mpi2_ioc.h Version: 02.00.26
|
||||
*
|
||||
* NOTE: Names (typedefs, defines, etc.) beginning with an MPI25 or Mpi25
|
||||
* prefix are for use only on MPI v2.5 products, and must not be used
|
||||
@@ -133,6 +133,10 @@
|
||||
* Added MPI2_FW_DOWNLOAD_ITYPE_PUBLIC_KEY.
|
||||
* Added Encrypted Hash Extended Image.
|
||||
* 12-05-13 02.00.24 Added MPI25_HASH_IMAGE_TYPE_BIOS.
|
||||
* 11-18-14 02.00.25 Updated copyright information.
|
||||
* 03-xx-15 02.00.26 Added MPI26_FW_HEADER_PID_FAMILY_3324_SAS and
|
||||
* MPI26_FW_HEADER_PID_FAMILY_3516_SAS.
|
||||
* Added MPI26_CTRL_OP_SHUTDOWN.
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
@@ -165,7 +169,7 @@ typedef struct _MPI2_IOC_INIT_REQUEST {
|
||||
U16 HeaderVersion; /*0x0E */
|
||||
U32 Reserved5; /*0x10 */
|
||||
U16 Reserved6; /*0x14 */
|
||||
U8 Reserved7; /*0x16 */
|
||||
U8 HostPageSize; /*0x16 */
|
||||
U8 HostMSIxVectors; /*0x17 */
|
||||
U16 Reserved8; /*0x18 */
|
||||
U16 SystemRequestFrameSize; /*0x1A */
|
||||
@@ -289,7 +293,8 @@ typedef struct _MPI2_IOC_FACTS_REPLY {
|
||||
U16 MaxDevHandle; /*0x38 */
|
||||
U16 MaxPersistentEntries; /*0x3A */
|
||||
U16 MinDevHandle; /*0x3C */
|
||||
U16 Reserved4; /*0x3E */
|
||||
U8 CurrentHostPageSize; /* 0x3E */
|
||||
U8 Reserved4; /* 0x3F */
|
||||
} MPI2_IOC_FACTS_REPLY, *PTR_MPI2_IOC_FACTS_REPLY,
|
||||
Mpi2IOCFactsReply_t, *pMpi2IOCFactsReply_t;
|
||||
|
||||
@@ -326,6 +331,7 @@ typedef struct _MPI2_IOC_FACTS_REPLY {
|
||||
/*ProductID field uses MPI2_FW_HEADER_PID_ */
|
||||
|
||||
/*IOCCapabilities */
|
||||
#define MPI26_IOCFACTS_CAPABILITY_ATOMIC_REQ (0x00080000)
|
||||
#define MPI2_IOCFACTS_CAPABILITY_RDPQ_ARRAY_CAPABLE (0x00040000)
|
||||
#define MPI25_IOCFACTS_CAPABILITY_FAST_PATH_CAPABLE (0x00020000)
|
||||
#define MPI2_IOCFACTS_CAPABILITY_HOST_BASED_DISCOVERY (0x00010000)
|
||||
@@ -343,8 +349,8 @@ typedef struct _MPI2_IOC_FACTS_REPLY {
|
||||
#define MPI2_IOCFACTS_CAPABILITY_TASK_SET_FULL_HANDLING (0x00000004)
|
||||
|
||||
/*ProtocolFlags */
|
||||
#define MPI2_IOCFACTS_PROTOCOL_SCSI_TARGET (0x0001)
|
||||
#define MPI2_IOCFACTS_PROTOCOL_SCSI_INITIATOR (0x0002)
|
||||
#define MPI2_IOCFACTS_PROTOCOL_SCSI_TARGET (0x0001)
|
||||
|
||||
/****************************************************************************
|
||||
* PortFacts message
|
||||
@@ -1247,6 +1253,7 @@ typedef struct _MPI2_FW_UPLOAD_REQUEST {
|
||||
#define MPI2_FW_UPLOAD_ITYPE_MEGARAID (0x09)
|
||||
#define MPI2_FW_UPLOAD_ITYPE_COMPLETE (0x0A)
|
||||
#define MPI2_FW_UPLOAD_ITYPE_COMMON_BOOT_BLOCK (0x0B)
|
||||
#define MPI2_FW_UPLOAD_ITYPE_CBB_BACKUP (0x0D)
|
||||
|
||||
/*MPI v2.0 FWUpload TransactionContext Element */
|
||||
typedef struct _MPI2_FW_UPLOAD_TCSGE {
|
||||
@@ -1328,7 +1335,7 @@ typedef struct _MPI2_FW_IMAGE_HEADER {
|
||||
U32 Reserved54; /*0x54 */
|
||||
U32 Reserved58; /*0x58 */
|
||||
U32 Reserved5C; /*0x5C */
|
||||
U32 Reserved60; /*0x60 */
|
||||
U32 BootFlags; /*0x60 */
|
||||
U32 FirmwareVersionNameWhat; /*0x64 */
|
||||
U8 FirmwareVersionName[32]; /*0x68 */
|
||||
U32 VendorNameWhat; /*0x88 */
|
||||
@@ -1354,18 +1361,22 @@ typedef struct _MPI2_FW_IMAGE_HEADER {
|
||||
#define MPI2_FW_HEADER_SIGNATURE_OFFSET (0x00)
|
||||
#define MPI2_FW_HEADER_SIGNATURE_MASK (0xFF000000)
|
||||
#define MPI2_FW_HEADER_SIGNATURE (0xEA000000)
|
||||
#define MPI26_FW_HEADER_SIGNATURE (0xEB000000)
|
||||
|
||||
/*Signature0 field */
|
||||
#define MPI2_FW_HEADER_SIGNATURE0_OFFSET (0x04)
|
||||
#define MPI2_FW_HEADER_SIGNATURE0 (0x5AFAA55A)
|
||||
#define MPI26_FW_HEADER_SIGNATURE0 (0x5AEAA55A)
|
||||
|
||||
/*Signature1 field */
|
||||
#define MPI2_FW_HEADER_SIGNATURE1_OFFSET (0x08)
|
||||
#define MPI2_FW_HEADER_SIGNATURE1 (0xA55AFAA5)
|
||||
#define MPI26_FW_HEADER_SIGNATURE1 (0xA55AEAA5)
|
||||
|
||||
/*Signature2 field */
|
||||
#define MPI2_FW_HEADER_SIGNATURE2_OFFSET (0x0C)
|
||||
#define MPI2_FW_HEADER_SIGNATURE2 (0x5AA55AFA)
|
||||
#define MPI26_FW_HEADER_SIGNATURE2 (0x5AA55AEA)
|
||||
|
||||
/*defines for using the ProductID field */
|
||||
#define MPI2_FW_HEADER_PID_TYPE_MASK (0xF000)
|
||||
@@ -1381,6 +1392,8 @@ typedef struct _MPI2_FW_IMAGE_HEADER {
|
||||
#define MPI2_FW_HEADER_PID_FAMILY_2108_SAS (0x0013)
|
||||
#define MPI2_FW_HEADER_PID_FAMILY_2208_SAS (0x0014)
|
||||
#define MPI25_FW_HEADER_PID_FAMILY_3108_SAS (0x0021)
|
||||
#define MPI26_FW_HEADER_PID_FAMILY_3324_SAS (0x0028)
|
||||
#define MPI26_FW_HEADER_PID_FAMILY_3516_SAS (0x0031)
|
||||
|
||||
/*use MPI2_IOCFACTS_PROTOCOL_ defines for ProtocolFlags field */
|
||||
|
||||
@@ -1388,6 +1401,7 @@ typedef struct _MPI2_FW_IMAGE_HEADER {
|
||||
|
||||
#define MPI2_FW_HEADER_IMAGESIZE_OFFSET (0x2C)
|
||||
#define MPI2_FW_HEADER_NEXTIMAGE_OFFSET (0x30)
|
||||
#define MPI26_FW_HEADER_BOOTFLAGS_OFFSET (0x60)
|
||||
#define MPI2_FW_HEADER_VERNMHWAT_OFFSET (0x64)
|
||||
|
||||
#define MPI2_FW_HEADER_WHAT_SIGNATURE (0x29232840)
|
||||
@@ -1493,7 +1507,9 @@ typedef struct _MPI2_FLASH_LAYOUT_DATA {
|
||||
#define MPI2_FLASH_REGION_CONFIG_1 (0x07)
|
||||
#define MPI2_FLASH_REGION_CONFIG_2 (0x08)
|
||||
#define MPI2_FLASH_REGION_MEGARAID (0x09)
|
||||
#define MPI2_FLASH_REGION_INIT (0x0A)
|
||||
#define MPI2_FLASH_REGION_COMMON_BOOT_BLOCK (0x0A)
|
||||
#define MPI2_FLASH_REGION_INIT (MPI2_FLASH_REGION_COMMON_BOOT_BLOCK)
|
||||
#define MPI2_FLASH_REGION_CBB_BACKUP (0x0D)
|
||||
|
||||
/*ImageRevision */
|
||||
#define MPI2_FLASH_LAYOUT_IMAGE_REVISION (0x00)
|
||||
@@ -1619,7 +1635,6 @@ typedef struct _MPI25_ENCRYPTED_HASH_DATA {
|
||||
Mpi25EncryptedHashData_t, *pMpi25EncryptedHashData_t;
|
||||
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
* PowerManagementControl message
|
||||
****************************************************************************/
|
||||
@@ -1726,4 +1741,90 @@ typedef struct _MPI2_PWR_MGMT_CONTROL_REPLY {
|
||||
} MPI2_PWR_MGMT_CONTROL_REPLY, *PTR_MPI2_PWR_MGMT_CONTROL_REPLY,
|
||||
Mpi2PwrMgmtControlReply_t, *pMpi2PwrMgmtControlReply_t;
|
||||
|
||||
/****************************************************************************
|
||||
* IO Unit Control messages (MPI v2.6 and later only.)
|
||||
****************************************************************************/
|
||||
|
||||
/* IO Unit Control Request Message */
|
||||
typedef struct _MPI26_IOUNIT_CONTROL_REQUEST {
|
||||
U8 Operation; /* 0x00 */
|
||||
U8 Reserved1; /* 0x01 */
|
||||
U8 ChainOffset; /* 0x02 */
|
||||
U8 Function; /* 0x03 */
|
||||
U16 DevHandle; /* 0x04 */
|
||||
U8 IOCParameter; /* 0x06 */
|
||||
U8 MsgFlags; /* 0x07 */
|
||||
U8 VP_ID; /* 0x08 */
|
||||
U8 VF_ID; /* 0x09 */
|
||||
U16 Reserved3; /* 0x0A */
|
||||
U16 Reserved4; /* 0x0C */
|
||||
U8 PhyNum; /* 0x0E */
|
||||
U8 PrimFlags; /* 0x0F */
|
||||
U32 Primitive; /* 0x10 */
|
||||
U8 LookupMethod; /* 0x14 */
|
||||
U8 Reserved5; /* 0x15 */
|
||||
U16 SlotNumber; /* 0x16 */
|
||||
U64 LookupAddress; /* 0x18 */
|
||||
U32 IOCParameterValue; /* 0x20 */
|
||||
U32 Reserved7; /* 0x24 */
|
||||
U32 Reserved8; /* 0x28 */
|
||||
} MPI26_IOUNIT_CONTROL_REQUEST,
|
||||
*PTR_MPI26_IOUNIT_CONTROL_REQUEST,
|
||||
Mpi26IoUnitControlRequest_t,
|
||||
*pMpi26IoUnitControlRequest_t;
|
||||
|
||||
/* values for the Operation field */
|
||||
#define MPI26_CTRL_OP_CLEAR_ALL_PERSISTENT (0x02)
|
||||
#define MPI26_CTRL_OP_SAS_PHY_LINK_RESET (0x06)
|
||||
#define MPI26_CTRL_OP_SAS_PHY_HARD_RESET (0x07)
|
||||
#define MPI26_CTRL_OP_PHY_CLEAR_ERROR_LOG (0x08)
|
||||
#define MPI26_CTRL_OP_SAS_SEND_PRIMITIVE (0x0A)
|
||||
#define MPI26_CTRL_OP_FORCE_FULL_DISCOVERY (0x0B)
|
||||
#define MPI26_CTRL_OP_REMOVE_DEVICE (0x0D)
|
||||
#define MPI26_CTRL_OP_LOOKUP_MAPPING (0x0E)
|
||||
#define MPI26_CTRL_OP_SET_IOC_PARAMETER (0x0F)
|
||||
#define MPI26_CTRL_OP_ENABLE_FP_DEVICE (0x10)
|
||||
#define MPI26_CTRL_OP_DISABLE_FP_DEVICE (0x11)
|
||||
#define MPI26_CTRL_OP_ENABLE_FP_ALL (0x12)
|
||||
#define MPI26_CTRL_OP_DISABLE_FP_ALL (0x13)
|
||||
#define MPI26_CTRL_OP_DEV_ENABLE_NCQ (0x14)
|
||||
#define MPI26_CTRL_OP_DEV_DISABLE_NCQ (0x15)
|
||||
#define MPI26_CTRL_OP_SHUTDOWN (0x16)
|
||||
#define MPI26_CTRL_OP_DEV_ENABLE_PERSIST_CONNECTION (0x17)
|
||||
#define MPI26_CTRL_OP_DEV_DISABLE_PERSIST_CONNECTION (0x18)
|
||||
#define MPI26_CTRL_OP_DEV_CLOSE_PERSIST_CONNECTION (0x19)
|
||||
#define MPI26_CTRL_OP_PRODUCT_SPECIFIC_MIN (0x80)
|
||||
|
||||
/* values for the PrimFlags field */
|
||||
#define MPI26_CTRL_PRIMFLAGS_SINGLE (0x08)
|
||||
#define MPI26_CTRL_PRIMFLAGS_TRIPLE (0x02)
|
||||
#define MPI26_CTRL_PRIMFLAGS_REDUNDANT (0x01)
|
||||
|
||||
/* values for the LookupMethod field */
|
||||
#define MPI26_CTRL_LOOKUP_METHOD_WWID_ADDRESS (0x01)
|
||||
#define MPI26_CTRL_LOOKUP_METHOD_ENCLOSURE_SLOT (0x02)
|
||||
#define MPI26_CTRL_LOOKUP_METHOD_SAS_DEVICE_NAME (0x03)
|
||||
|
||||
|
||||
/* IO Unit Control Reply Message */
|
||||
typedef struct _MPI26_IOUNIT_CONTROL_REPLY {
|
||||
U8 Operation; /* 0x00 */
|
||||
U8 Reserved1; /* 0x01 */
|
||||
U8 MsgLength; /* 0x02 */
|
||||
U8 Function; /* 0x03 */
|
||||
U16 DevHandle; /* 0x04 */
|
||||
U8 IOCParameter; /* 0x06 */
|
||||
U8 MsgFlags; /* 0x07 */
|
||||
U8 VP_ID; /* 0x08 */
|
||||
U8 VF_ID; /* 0x09 */
|
||||
U16 Reserved3; /* 0x0A */
|
||||
U16 Reserved4; /* 0x0C */
|
||||
U16 IOCStatus; /* 0x0E */
|
||||
U32 IOCLogInfo; /* 0x10 */
|
||||
} MPI26_IOUNIT_CONTROL_REPLY,
|
||||
*PTR_MPI26_IOUNIT_CONTROL_REPLY,
|
||||
Mpi26IoUnitControlReply_t,
|
||||
*pMpi26IoUnitControlReply_t;
|
||||
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user