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_cnfg.h
|
||||
* Title: MPI Configuration messages and pages
|
||||
* Creation Date: November 10, 2006
|
||||
*
|
||||
* mpi2_cnfg.h Version: 02.00.29
|
||||
* mpi2_cnfg.h Version: 02.00.31
|
||||
*
|
||||
* 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
|
||||
@@ -178,7 +178,12 @@
|
||||
* 01-08-14 02.00.28 Added more defines for the BiosOptions field of
|
||||
* MPI2_CONFIG_PAGE_BIOS_1.
|
||||
* 06-13-14 02.00.29 Added SSUTimeout field to MPI2_CONFIG_PAGE_BIOS_1, and
|
||||
* more defines for the BiosOptions field..
|
||||
* more defines for the BiosOptions field.
|
||||
* 11-18-14 02.00.30 Updated copyright information.
|
||||
* Added MPI2_BIOSPAGE1_OPTIONS_ADVANCED_CONFIG.
|
||||
* Added AdapterOrderAux fields to BIOS Page 3.
|
||||
* 03-xx-15 02.00.31 Updated for MPI v2.6.
|
||||
* Added new SAS Phy Event codes
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
@@ -355,7 +360,6 @@ typedef union _MPI2_CONFIG_EXT_PAGE_HEADER_UNION {
|
||||
#define MPI2_ETHERNET_PGAD_IF_NUMBER_MASK (0x000000FF)
|
||||
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
* Configuration messages
|
||||
****************************************************************************/
|
||||
@@ -457,8 +461,17 @@ typedef struct _MPI2_CONFIG_REPLY {
|
||||
#define MPI25_MFGPAGE_DEVID_SAS3108_5 (0x0094)
|
||||
#define MPI25_MFGPAGE_DEVID_SAS3108_6 (0x0095)
|
||||
|
||||
|
||||
|
||||
/* MPI v2.6 SAS Products */
|
||||
#define MPI26_MFGPAGE_DEVID_SAS3216 (0x00C9)
|
||||
#define MPI26_MFGPAGE_DEVID_SAS3224 (0x00C4)
|
||||
#define MPI26_MFGPAGE_DEVID_SAS3316_1 (0x00C5)
|
||||
#define MPI26_MFGPAGE_DEVID_SAS3316_2 (0x00C6)
|
||||
#define MPI26_MFGPAGE_DEVID_SAS3316_3 (0x00C7)
|
||||
#define MPI26_MFGPAGE_DEVID_SAS3316_4 (0x00C8)
|
||||
#define MPI26_MFGPAGE_DEVID_SAS3324_1 (0x00C0)
|
||||
#define MPI26_MFGPAGE_DEVID_SAS3324_2 (0x00C1)
|
||||
#define MPI26_MFGPAGE_DEVID_SAS3324_3 (0x00C2)
|
||||
#define MPI26_MFGPAGE_DEVID_SAS3324_4 (0x00C3)
|
||||
|
||||
/*Manufacturing Page 0 */
|
||||
|
||||
@@ -941,8 +954,8 @@ typedef struct _MPI2_CONFIG_PAGE_IO_UNIT_7 {
|
||||
U8
|
||||
BoardTemperatureUnits; /*0x16 */
|
||||
U8 Reserved3; /*0x17 */
|
||||
U32 Reserved4; /* 0x18 */
|
||||
U32 Reserved5; /* 0x1C */
|
||||
U32 BoardPowerRequirement; /*0x18 */
|
||||
U32 PCISlotPowerAllocation; /*0x1C */
|
||||
U32 Reserved6; /* 0x20 */
|
||||
U32 Reserved7; /* 0x24 */
|
||||
} MPI2_CONFIG_PAGE_IO_UNIT_7,
|
||||
@@ -1151,6 +1164,62 @@ typedef struct _MPI2_CONFIG_PAGE_IO_UNIT_10 {
|
||||
#define MPI2_IOUNITPAGE10_PAGEVERSION (0x01)
|
||||
|
||||
|
||||
/* IO Unit Page 11 (for MPI v2.6 and later) */
|
||||
|
||||
typedef struct _MPI26_IOUNIT11_SPINUP_GROUP {
|
||||
U8 MaxTargetSpinup; /* 0x00 */
|
||||
U8 SpinupDelay; /* 0x01 */
|
||||
U8 SpinupFlags; /* 0x02 */
|
||||
U8 Reserved1; /* 0x03 */
|
||||
} MPI26_IOUNIT11_SPINUP_GROUP,
|
||||
*PTR_MPI26_IOUNIT11_SPINUP_GROUP,
|
||||
Mpi26IOUnit11SpinupGroup_t,
|
||||
*pMpi26IOUnit11SpinupGroup_t;
|
||||
|
||||
/* defines for IO Unit Page 11 SpinupFlags */
|
||||
#define MPI26_IOUNITPAGE11_SPINUP_DISABLE_FLAG (0x01)
|
||||
|
||||
|
||||
/*
|
||||
* Host code (drivers, BIOS, utilities, etc.) should leave this define set to
|
||||
* four and check the value returned for NumPhys at runtime.
|
||||
*/
|
||||
#ifndef MPI26_IOUNITPAGE11_PHY_MAX
|
||||
#define MPI26_IOUNITPAGE11_PHY_MAX (4)
|
||||
#endif
|
||||
|
||||
typedef struct _MPI26_CONFIG_PAGE_IO_UNIT_11 {
|
||||
MPI2_CONFIG_PAGE_HEADER Header; /*0x00 */
|
||||
U32 Reserved1; /*0x04 */
|
||||
MPI26_IOUNIT11_SPINUP_GROUP SpinupGroupParameters[4]; /*0x08 */
|
||||
U32 Reserved2; /*0x18 */
|
||||
U32 Reserved3; /*0x1C */
|
||||
U32 Reserved4; /*0x20 */
|
||||
U8 BootDeviceWaitTime; /*0x24 */
|
||||
U8 Reserved5; /*0x25 */
|
||||
U16 Reserved6; /*0x26 */
|
||||
U8 NumPhys; /*0x28 */
|
||||
U8 PEInitialSpinupDelay; /*0x29 */
|
||||
U8 PEReplyDelay; /*0x2A */
|
||||
U8 Flags; /*0x2B */
|
||||
U8 PHY[MPI26_IOUNITPAGE11_PHY_MAX];/*0x2C */
|
||||
} MPI26_CONFIG_PAGE_IO_UNIT_11,
|
||||
*PTR_MPI26_CONFIG_PAGE_IO_UNIT_11,
|
||||
Mpi26IOUnitPage11_t,
|
||||
*pMpi26IOUnitPage11_t;
|
||||
|
||||
#define MPI26_IOUNITPAGE11_PAGEVERSION (0x00)
|
||||
|
||||
/* defines for Flags field */
|
||||
#define MPI26_IOUNITPAGE11_FLAGS_AUTO_PORTENABLE (0x01)
|
||||
|
||||
/* defines for PHY field */
|
||||
#define MPI26_IOUNITPAGE11_PHY_SPINUP_GROUP_MASK (0x03)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
* IOC Config Pages
|
||||
@@ -1343,6 +1412,9 @@ typedef struct _MPI2_CONFIG_PAGE_BIOS_1 {
|
||||
#define MPI2_BIOSPAGE1_PAGEVERSION (0x07)
|
||||
|
||||
/*values for BIOS Page 1 BiosOptions field */
|
||||
#define MPI2_BIOSPAGE1_OPTIONS_ADVANCED_CONFIG (0x00004000)
|
||||
|
||||
#define MPI2_BIOSPAGE1_OPTIONS_PNS_MASK (0x00003800)
|
||||
#define MPI2_BIOSPAGE1_OPTIONS_PNS_MASK (0x00003800)
|
||||
#define MPI2_BIOSPAGE1_OPTIONS_PNS_PBDHL (0x00000000)
|
||||
#define MPI2_BIOSPAGE1_OPTIONS_PNS_ENCSLOSURE (0x00000800)
|
||||
@@ -1492,6 +1564,8 @@ typedef struct _MPI2_CONFIG_PAGE_BIOS_2 {
|
||||
|
||||
/*BIOS Page 3 */
|
||||
|
||||
#define MPI2_BIOSPAGE3_NUM_ADAPTER (4)
|
||||
|
||||
typedef struct _MPI2_ADAPTER_INFO {
|
||||
U8 PciBusNumber; /*0x00 */
|
||||
U8 PciDeviceAndFunctionNumber; /*0x01 */
|
||||
@@ -1502,17 +1576,26 @@ typedef struct _MPI2_ADAPTER_INFO {
|
||||
#define MPI2_ADAPTER_INFO_FLAGS_EMBEDDED (0x0001)
|
||||
#define MPI2_ADAPTER_INFO_FLAGS_INIT_STATUS (0x0002)
|
||||
|
||||
typedef struct _MPI2_ADAPTER_ORDER_AUX {
|
||||
U64 WWID; /* 0x00 */
|
||||
U32 Reserved1; /* 0x08 */
|
||||
U32 Reserved2; /* 0x0C */
|
||||
} MPI2_ADAPTER_ORDER_AUX, *PTR_MPI2_ADAPTER_ORDER_AUX,
|
||||
Mpi2AdapterOrderAux_t, *pMpi2AdapterOrderAux_t;
|
||||
|
||||
|
||||
typedef struct _MPI2_CONFIG_PAGE_BIOS_3 {
|
||||
MPI2_CONFIG_PAGE_HEADER Header; /*0x00 */
|
||||
U32 GlobalFlags; /*0x04 */
|
||||
U32 BiosVersion; /*0x08 */
|
||||
MPI2_ADAPTER_INFO AdapterOrder[4]; /*0x0C */
|
||||
MPI2_ADAPTER_INFO AdapterOrder[MPI2_BIOSPAGE3_NUM_ADAPTER];
|
||||
U32 Reserved1; /*0x1C */
|
||||
MPI2_ADAPTER_ORDER_AUX AdapterOrderAux[MPI2_BIOSPAGE3_NUM_ADAPTER];
|
||||
} MPI2_CONFIG_PAGE_BIOS_3,
|
||||
*PTR_MPI2_CONFIG_PAGE_BIOS_3,
|
||||
Mpi2BiosPage3_t, *pMpi2BiosPage3_t;
|
||||
|
||||
#define MPI2_BIOSPAGE3_PAGEVERSION (0x00)
|
||||
#define MPI2_BIOSPAGE3_PAGEVERSION (0x01)
|
||||
|
||||
/*values for BIOS Page 3 GlobalFlags */
|
||||
#define MPI2_BIOSPAGE3_FLAGS_PAUSE_ON_ERROR (0x00000002)
|
||||
@@ -2006,6 +2089,8 @@ typedef struct _MPI2_CONFIG_PAGE_SASIOUNIT_0 {
|
||||
#define MPI2_SASIOUNIT0_PORTFLAGS_AUTO_PORT_CONFIG (0x01)
|
||||
|
||||
/*values for SAS IO Unit Page 0 PhyFlags */
|
||||
#define MPI2_SASIOUNIT0_PHYFLAGS_INIT_PERSIST_CONNECT (0x40)
|
||||
#define MPI2_SASIOUNIT0_PHYFLAGS_TARG_PERSIST_CONNECT (0x20)
|
||||
#define MPI2_SASIOUNIT0_PHYFLAGS_ZONING_ENABLED (0x10)
|
||||
#define MPI2_SASIOUNIT0_PHYFLAGS_PHY_DISABLED (0x08)
|
||||
|
||||
@@ -2108,6 +2193,7 @@ typedef struct _MPI2_CONFIG_PAGE_SASIOUNIT_1 {
|
||||
#define MPI2_SASIOUNIT1_CONTROL_CLEAR_AFFILIATION (0x0001)
|
||||
|
||||
/*values for SAS IO Unit Page 1 AdditionalControlFlags */
|
||||
#define MPI2_SASIOUNIT1_ACONTROL_DA_PERSIST_CONNECT (0x0100)
|
||||
#define MPI2_SASIOUNIT1_ACONTROL_MULTI_PORT_DOMAIN_ILLEGAL (0x0080)
|
||||
#define MPI2_SASIOUNIT1_ACONTROL_SATA_ASYNCHROUNOUS_NOTIFICATION (0x0040)
|
||||
#define MPI2_SASIOUNIT1_ACONTROL_INVALID_TOPOLOGY_CORRECTION (0x0020)
|
||||
@@ -2125,6 +2211,8 @@ typedef struct _MPI2_CONFIG_PAGE_SASIOUNIT_1 {
|
||||
#define MPI2_SASIOUNIT1_PORT_FLAGS_AUTO_PORT_CONFIG (0x01)
|
||||
|
||||
/*values for SAS IO Unit Page 1 PhyFlags */
|
||||
#define MPI2_SASIOUNIT1_PHYFLAGS_INIT_PERSIST_CONNECT (0x40)
|
||||
#define MPI2_SASIOUNIT1_PHYFLAGS_TARG_PERSIST_CONNECT (0x20)
|
||||
#define MPI2_SASIOUNIT1_PHYFLAGS_ZONING_ENABLE (0x10)
|
||||
#define MPI2_SASIOUNIT1_PHYFLAGS_PHY_DISABLE (0x08)
|
||||
|
||||
@@ -2144,7 +2232,7 @@ typedef struct _MPI2_CONFIG_PAGE_SASIOUNIT_1 {
|
||||
*SAS IO Unit Page 1 ControllerPhyDeviceInfo values */
|
||||
|
||||
|
||||
/*SAS IO Unit Page 4 */
|
||||
/*SAS IO Unit Page 4 (for MPI v2.5 and earlier) */
|
||||
|
||||
typedef struct _MPI2_SAS_IOUNIT4_SPINUP_GROUP {
|
||||
U8 MaxTargetSpinup; /*0x00 */
|
||||
@@ -2715,6 +2803,7 @@ typedef struct _MPI2_CONFIG_PAGE_SAS_DEV_0 {
|
||||
#define MPI2_SAS_DEVICE0_FLAGS_SATA_NCQ_SUPPORTED (0x0020)
|
||||
#define MPI2_SAS_DEVICE0_FLAGS_SATA_FUA_SUPPORTED (0x0010)
|
||||
#define MPI2_SAS_DEVICE0_FLAGS_PORT_SELECTOR_ATTACH (0x0008)
|
||||
#define MPI2_SAS_DEVICE0_FLAGS_PERSIST_CAPABLE (0x0004)
|
||||
#define MPI2_SAS_DEVICE0_FLAGS_ENCL_LEVEL_VALID (0x0002)
|
||||
#define MPI2_SAS_DEVICE0_FLAGS_DEVICE_PRESENT (0x0001)
|
||||
|
||||
@@ -2922,6 +3011,19 @@ typedef struct _MPI2_SASPHY3_PHY_EVENT_CONFIG {
|
||||
#define MPI2_SASPHY3_EVENT_CODE_MISALIGNED_MUX_PRIMITIVE (0xD1)
|
||||
#define MPI2_SASPHY3_EVENT_CODE_RX_AIP (0xD2)
|
||||
|
||||
/*Following codes are product specific and in MPI v2.6 and later */
|
||||
#define MPI2_SASPHY3_EVENT_CODE_LCARB_WAIT_TIME (0xD3)
|
||||
#define MPI2_SASPHY3_EVENT_CODE_RCVD_CONN_RESP_WAIT_TIME (0xD4)
|
||||
#define MPI2_SASPHY3_EVENT_CODE_LCCONN_TIME (0xD5)
|
||||
#define MPI2_SASPHY3_EVENT_CODE_SSP_TX_START_TRANSMIT (0xD6)
|
||||
#define MPI2_SASPHY3_EVENT_CODE_SATA_TX_START (0xD7)
|
||||
#define MPI2_SASPHY3_EVENT_CODE_SMP_TX_START_TRANSMT (0xD8)
|
||||
#define MPI2_SASPHY3_EVENT_CODE_TX_SMP_BREAK_CONN (0xD9)
|
||||
#define MPI2_SASPHY3_EVENT_CODE_SSP_RX_START_RECEIVE (0xDA)
|
||||
#define MPI2_SASPHY3_EVENT_CODE_SATA_RX_START_RECEIVE (0xDB)
|
||||
#define MPI2_SASPHY3_EVENT_CODE_SMP_RX_START_RECEIVE (0xDC)
|
||||
|
||||
|
||||
/*values for the CounterType field */
|
||||
#define MPI2_SASPHY3_COUNTER_TYPE_WRAPPING (0x00)
|
||||
#define MPI2_SASPHY3_COUNTER_TYPE_SATURATING (0x01)
|
||||
|
Reference in New Issue
Block a user