aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSreekanth Reddy <sreekanth.reddy@avagotech.com>2015-01-12 01:08:55 -0500
committerChristoph Hellwig <hch@lst.de>2015-01-12 07:15:35 -0500
commitcb16ef384f15d33a53b4db47878aa818be059d77 (patch)
tree92daa0af65a290598bb4f56c8219a56bbb459a89
parent0128d5cf8f85c93b3c70ff03299c2839f3e6d21e (diff)
mpt2sas: MPI2 Rev AA (2.00.19) specifications
Below is the changeset from the MPI specification and 2.00.34 header files: 1) Defined additional bits in the BiosOptions field of BIOS Page 1 to allow for finer control of X86 BIOS and UEFI BSD. 2) For the Clean Tool, reserved bit 26 of the Flags field for product specific use. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@avagotech.com> Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
-rw-r--r--drivers/scsi/mpt2sas/mpi/mpi2.h4
-rw-r--r--drivers/scsi/mpt2sas/mpi/mpi2_cnfg.h38
-rw-r--r--drivers/scsi/mpt2sas/mpi/mpi2_ioc.h4
-rw-r--r--drivers/scsi/mpt2sas/mpi/mpi2_tool.h6
4 files changed, 41 insertions, 11 deletions
diff --git a/drivers/scsi/mpt2sas/mpi/mpi2.h b/drivers/scsi/mpt2sas/mpi/mpi2.h
index 088eefa67da8..76cde3fa5d62 100644
--- a/drivers/scsi/mpt2sas/mpi/mpi2.h
+++ b/drivers/scsi/mpt2sas/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.32 11 * mpi2.h Version: 02.00.34
12 * 12 *
13 * Version History 13 * Version History
14 * --------------- 14 * ---------------
@@ -83,6 +83,8 @@
83 * 04-09-13 02.00.30 Bumped MPI2_HEADER_VERSION_UNIT. 83 * 04-09-13 02.00.30 Bumped MPI2_HEADER_VERSION_UNIT.
84 * 04-17-13 02.00.31 Bumped MPI2_HEADER_VERSION_UNIT. 84 * 04-17-13 02.00.31 Bumped MPI2_HEADER_VERSION_UNIT.
85 * 08-19-13 02.00.32 Bumped MPI2_HEADER_VERSION_UNIT. 85 * 08-19-13 02.00.32 Bumped MPI2_HEADER_VERSION_UNIT.
86 * 12-05-13 02.00.33 Bumped MPI2_HEADER_VERSION_UNIT.
87 * 01-08-14 02.00.34 Bumped MPI2_HEADER_VERSION_UNIT.
86 * -------------------------------------------------------------------------- 88 * --------------------------------------------------------------------------
87 */ 89 */
88 90
diff --git a/drivers/scsi/mpt2sas/mpi/mpi2_cnfg.h b/drivers/scsi/mpt2sas/mpi/mpi2_cnfg.h
index 510ef0dc8d7b..f055310ab427 100644
--- a/drivers/scsi/mpt2sas/mpi/mpi2_cnfg.h
+++ b/drivers/scsi/mpt2sas/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.26 9 * mpi2_cnfg.h Version: 02.00.28
10 * 10 *
11 * Version History 11 * Version History
12 * --------------- 12 * ---------------
@@ -157,6 +157,18 @@
157 * 04-09-13 02.00.25 Added MPI2_IOUNITPAGE1_ATA_SECURITY_FREEZE_LOCK. 157 * 04-09-13 02.00.25 Added MPI2_IOUNITPAGE1_ATA_SECURITY_FREEZE_LOCK.
158 * Fixed MPI2_IOUNITPAGE5_DMA_CAP_MASK_MAX_REQUESTS to 158 * Fixed MPI2_IOUNITPAGE5_DMA_CAP_MASK_MAX_REQUESTS to
159 * match the specification. 159 * match the specification.
160 * 12-05-13 02.00.27 Added MPI2_MANPAGE7_FLAG_BASE_ENCLOSURE_LEVEL for
161 * MPI2_CONFIG_PAGE_MAN_7.
162 * Added EnclosureLevel and ConnectorName fields to
163 * MPI2_CONFIG_PAGE_SAS_DEV_0.
164 * Added MPI2_SAS_DEVICE0_FLAGS_ENCL_LEVEL_VALID for
165 * MPI2_CONFIG_PAGE_SAS_DEV_0.
166 * Added EnclosureLevel field to
167 * MPI2_CONFIG_PAGE_SAS_ENCLOSURE_0.
168 * Added MPI2_SAS_ENCLS0_FLAGS_ENCL_LEVEL_VALID for
169 * MPI2_CONFIG_PAGE_SAS_ENCLOSURE_0.
170 * 01-08-14 02.00.28 Added more defines for the BiosOptions field of
171 * MPI2_CONFIG_PAGE_BIOS_1.
160 * -------------------------------------------------------------------------- 172 * --------------------------------------------------------------------------
161 */ 173 */
162 174
@@ -706,6 +718,7 @@ typedef struct _MPI2_CONFIG_PAGE_MAN_7
706#define MPI2_MANUFACTURING7_PAGEVERSION (0x01) 718#define MPI2_MANUFACTURING7_PAGEVERSION (0x01)
707 719
708/* defines for the Flags field */ 720/* defines for the Flags field */
721#define MPI2_MANPAGE7_FLAG_BASE_ENCLOSURE_LEVEL (0x00000008)
709#define MPI2_MANPAGE7_FLAG_EVENTREPLAY_SLOT_ORDER (0x00000002) 722#define MPI2_MANPAGE7_FLAG_EVENTREPLAY_SLOT_ORDER (0x00000002)
710#define MPI2_MANPAGE7_FLAG_USE_SLOT_INFO (0x00000001) 723#define MPI2_MANPAGE7_FLAG_USE_SLOT_INFO (0x00000001)
711 724
@@ -1235,9 +1248,17 @@ typedef struct _MPI2_CONFIG_PAGE_BIOS_1
1235} MPI2_CONFIG_PAGE_BIOS_1, MPI2_POINTER PTR_MPI2_CONFIG_PAGE_BIOS_1, 1248} MPI2_CONFIG_PAGE_BIOS_1, MPI2_POINTER PTR_MPI2_CONFIG_PAGE_BIOS_1,
1236 Mpi2BiosPage1_t, MPI2_POINTER pMpi2BiosPage1_t; 1249 Mpi2BiosPage1_t, MPI2_POINTER pMpi2BiosPage1_t;
1237 1250
1238#define MPI2_BIOSPAGE1_PAGEVERSION (0x05) 1251#define MPI2_BIOSPAGE1_PAGEVERSION (0x06)
1239 1252
1240/* values for BIOS Page 1 BiosOptions field */ 1253/* values for BIOS Page 1 BiosOptions field */
1254#define MPI2_BIOSPAGE1_OPTIONS_X86_DISABLE_BIOS (0x00000400)
1255
1256#define MPI2_BIOSPAGE1_OPTIONS_MASK_REGISTRATION_UEFI_BSD (0x00000300)
1257#define MPI2_BIOSPAGE1_OPTIONS_USE_BIT0_REGISTRATION_UEFI_BSD (0x00000000)
1258#define MPI2_BIOSPAGE1_OPTIONS_FULL_REGISTRATION_UEFI_BSD (0x00000100)
1259#define MPI2_BIOSPAGE1_OPTIONS_ADAPTER_REGISTRATION_UEFI_BSD (0x00000200)
1260#define MPI2_BIOSPAGE1_OPTIONS_DISABLE_REGISTRATION_UEFI_BSD (0x00000300)
1261
1241#define MPI2_BIOSPAGE1_OPTIONS_MASK_OEM_ID (0x000000F0) 1262#define MPI2_BIOSPAGE1_OPTIONS_MASK_OEM_ID (0x000000F0)
1242#define MPI2_BIOSPAGE1_OPTIONS_LSI_OEM_ID (0x00000000) 1263#define MPI2_BIOSPAGE1_OPTIONS_LSI_OEM_ID (0x00000000)
1243 1264
@@ -2420,13 +2441,13 @@ typedef struct _MPI2_CONFIG_PAGE_SAS_DEV_0
2420 U8 PortGroups; /* 0x2C */ 2441 U8 PortGroups; /* 0x2C */
2421 U8 DmaGroup; /* 0x2D */ 2442 U8 DmaGroup; /* 0x2D */
2422 U8 ControlGroup; /* 0x2E */ 2443 U8 ControlGroup; /* 0x2E */
2423 U8 Reserved1; /* 0x2F */ 2444 U8 EnclosureLevel; /* 0x2F */
2424 U32 Reserved2; /* 0x30 */ 2445 U8 ConnectorName[4]; /* 0x30 */
2425 U32 Reserved3; /* 0x34 */ 2446 U32 Reserved3; /* 0x34 */
2426} MPI2_CONFIG_PAGE_SAS_DEV_0, MPI2_POINTER PTR_MPI2_CONFIG_PAGE_SAS_DEV_0, 2447} MPI2_CONFIG_PAGE_SAS_DEV_0, MPI2_POINTER PTR_MPI2_CONFIG_PAGE_SAS_DEV_0,
2427 Mpi2SasDevicePage0_t, MPI2_POINTER pMpi2SasDevicePage0_t; 2448 Mpi2SasDevicePage0_t, MPI2_POINTER pMpi2SasDevicePage0_t;
2428 2449
2429#define MPI2_SASDEVICE0_PAGEVERSION (0x08) 2450#define MPI2_SASDEVICE0_PAGEVERSION (0x09)
2430 2451
2431/* values for SAS Device Page 0 AccessStatus field */ 2452/* values for SAS Device Page 0 AccessStatus field */
2432#define MPI2_SAS_DEVICE0_ASTATUS_NO_ERRORS (0x00) 2453#define MPI2_SAS_DEVICE0_ASTATUS_NO_ERRORS (0x00)
@@ -2464,6 +2485,7 @@ typedef struct _MPI2_CONFIG_PAGE_SAS_DEV_0
2464#define MPI2_SAS_DEVICE0_FLAGS_SATA_NCQ_SUPPORTED (0x0020) 2485#define MPI2_SAS_DEVICE0_FLAGS_SATA_NCQ_SUPPORTED (0x0020)
2465#define MPI2_SAS_DEVICE0_FLAGS_SATA_FUA_SUPPORTED (0x0010) 2486#define MPI2_SAS_DEVICE0_FLAGS_SATA_FUA_SUPPORTED (0x0010)
2466#define MPI2_SAS_DEVICE0_FLAGS_PORT_SELECTOR_ATTACH (0x0008) 2487#define MPI2_SAS_DEVICE0_FLAGS_PORT_SELECTOR_ATTACH (0x0008)
2488#define MPI2_SAS_DEVICE0_FLAGS_ENCL_LEVEL_VALID (0x0002)
2467#define MPI2_SAS_DEVICE0_FLAGS_DEVICE_PRESENT (0x0001) 2489#define MPI2_SAS_DEVICE0_FLAGS_DEVICE_PRESENT (0x0001)
2468 2490
2469 2491
@@ -2732,7 +2754,8 @@ typedef struct _MPI2_CONFIG_PAGE_SAS_ENCLOSURE_0
2732 U16 EnclosureHandle; /* 0x16 */ 2754 U16 EnclosureHandle; /* 0x16 */
2733 U16 NumSlots; /* 0x18 */ 2755 U16 NumSlots; /* 0x18 */
2734 U16 StartSlot; /* 0x1A */ 2756 U16 StartSlot; /* 0x1A */
2735 U16 Reserved2; /* 0x1C */ 2757 U8 Reserved2; /* 0x1C */
2758 U8 EnclosureLevel; /* 0x1D */
2736 U16 SEPDevHandle; /* 0x1E */ 2759 U16 SEPDevHandle; /* 0x1E */
2737 U32 Reserved3; /* 0x20 */ 2760 U32 Reserved3; /* 0x20 */
2738 U32 Reserved4; /* 0x24 */ 2761 U32 Reserved4; /* 0x24 */
@@ -2740,9 +2763,10 @@ typedef struct _MPI2_CONFIG_PAGE_SAS_ENCLOSURE_0
2740 MPI2_POINTER PTR_MPI2_CONFIG_PAGE_SAS_ENCLOSURE_0, 2763 MPI2_POINTER PTR_MPI2_CONFIG_PAGE_SAS_ENCLOSURE_0,
2741 Mpi2SasEnclosurePage0_t, MPI2_POINTER pMpi2SasEnclosurePage0_t; 2764 Mpi2SasEnclosurePage0_t, MPI2_POINTER pMpi2SasEnclosurePage0_t;
2742 2765
2743#define MPI2_SASENCLOSURE0_PAGEVERSION (0x03) 2766#define MPI2_SASENCLOSURE0_PAGEVERSION (0x04)
2744 2767
2745/* values for SAS Enclosure Page 0 Flags field */ 2768/* values for SAS Enclosure Page 0 Flags field */
2769#define MPI2_SAS_ENCLS0_FLAGS_ENCL_LEVEL_VALID (0x0010)
2746#define MPI2_SAS_ENCLS0_FLAGS_MNG_MASK (0x000F) 2770#define MPI2_SAS_ENCLS0_FLAGS_MNG_MASK (0x000F)
2747#define MPI2_SAS_ENCLS0_FLAGS_MNG_UNKNOWN (0x0000) 2771#define MPI2_SAS_ENCLS0_FLAGS_MNG_UNKNOWN (0x0000)
2748#define MPI2_SAS_ENCLS0_FLAGS_MNG_IOC_SES (0x0001) 2772#define MPI2_SAS_ENCLS0_FLAGS_MNG_IOC_SES (0x0001)
diff --git a/drivers/scsi/mpt2sas/mpi/mpi2_ioc.h b/drivers/scsi/mpt2sas/mpi/mpi2_ioc.h
index 2c3b0f28576b..b02de48be204 100644
--- a/drivers/scsi/mpt2sas/mpi/mpi2_ioc.h
+++ b/drivers/scsi/mpt2sas/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.23 9 * mpi2_ioc.h Version: 02.00.24
10 * 10 *
11 * Version History 11 * Version History
12 * --------------- 12 * ---------------
@@ -126,6 +126,7 @@
126 * Added MPI2_IOCFACTS_CAPABILITY_RDPQ_ARRAY_CAPABLE. 126 * Added MPI2_IOCFACTS_CAPABILITY_RDPQ_ARRAY_CAPABLE.
127 * Added MPI2_FW_DOWNLOAD_ITYPE_PUBLIC_KEY. 127 * Added MPI2_FW_DOWNLOAD_ITYPE_PUBLIC_KEY.
128 * Added Encrypted Hash Extended Image. 128 * Added Encrypted Hash Extended Image.
129 * 12-05-13 02.00.24 Added MPI25_HASH_IMAGE_TYPE_BIOS.
129 * -------------------------------------------------------------------------- 130 * --------------------------------------------------------------------------
130 */ 131 */
131 132
@@ -1589,6 +1590,7 @@ Mpi25EncryptedHashEntry_t, MPI2_POINTER pMpi25EncryptedHashEntry_t;
1589/* values for HashImageType */ 1590/* values for HashImageType */
1590#define MPI25_HASH_IMAGE_TYPE_UNUSED (0x00) 1591#define MPI25_HASH_IMAGE_TYPE_UNUSED (0x00)
1591#define MPI25_HASH_IMAGE_TYPE_FIRMWARE (0x01) 1592#define MPI25_HASH_IMAGE_TYPE_FIRMWARE (0x01)
1593#define MPI25_HASH_IMAGE_TYPE_BIOS (0x02)
1592 1594
1593/* values for HashAlgorithm */ 1595/* values for HashAlgorithm */
1594#define MPI25_HASH_ALGORITHM_UNUSED (0x00) 1596#define MPI25_HASH_ALGORITHM_UNUSED (0x00)
diff --git a/drivers/scsi/mpt2sas/mpi/mpi2_tool.h b/drivers/scsi/mpt2sas/mpi/mpi2_tool.h
index 9be03ed46180..659b8ac83ceb 100644
--- a/drivers/scsi/mpt2sas/mpi/mpi2_tool.h
+++ b/drivers/scsi/mpt2sas/mpi/mpi2_tool.h
@@ -6,7 +6,7 @@
6 * Title: MPI diagnostic tool structures and definitions 6 * Title: MPI diagnostic tool structures and definitions
7 * Creation Date: March 26, 2007 7 * Creation Date: March 26, 2007
8 * 8 *
9 * mpi2_tool.h Version: 02.00.11 9 * mpi2_tool.h Version: 02.00.12
10 * 10 *
11 * Version History 11 * Version History
12 * --------------- 12 * ---------------
@@ -29,7 +29,8 @@
29 * MPI2_TOOLBOX_ISTWI_READ_WRITE_REQUEST. 29 * MPI2_TOOLBOX_ISTWI_READ_WRITE_REQUEST.
30 * 07-26-12 02.00.10 Modified MPI2_TOOLBOX_DIAGNOSTIC_CLI_REQUEST so that 30 * 07-26-12 02.00.10 Modified MPI2_TOOLBOX_DIAGNOSTIC_CLI_REQUEST so that
31 * it uses MPI Chain SGE as well as MPI Simple SGE. 31 * it uses MPI Chain SGE as well as MPI Simple SGE.
32 * 08-19-13 02.00.11 Added MPI2_TOOLBOX_TEXT_DISPLAY_TOOL and related info. 32 * 08-19-13 02.00.11 Added MPI2_TOOLBOX_TEXT_DISPLAY_TOOL and related info.
33 * 01-08-14 02.00.12 Added MPI2_TOOLBOX_CLEAN_BIT26_PRODUCT_SPECIFIC.
33 * -------------------------------------------------------------------------- 34 * --------------------------------------------------------------------------
34 */ 35 */
35 36
@@ -101,6 +102,7 @@ typedef struct _MPI2_TOOLBOX_CLEAN_REQUEST
101#define MPI2_TOOLBOX_CLEAN_OTHER_PERSIST_PAGES (0x20000000) 102#define MPI2_TOOLBOX_CLEAN_OTHER_PERSIST_PAGES (0x20000000)
102#define MPI2_TOOLBOX_CLEAN_FW_CURRENT (0x10000000) 103#define MPI2_TOOLBOX_CLEAN_FW_CURRENT (0x10000000)
103#define MPI2_TOOLBOX_CLEAN_FW_BACKUP (0x08000000) 104#define MPI2_TOOLBOX_CLEAN_FW_BACKUP (0x08000000)
105#define MPI2_TOOLBOX_CLEAN_BIT26_PRODUCT_SPECIFIC (0x04000000)
104#define MPI2_TOOLBOX_CLEAN_MEGARAID (0x02000000) 106#define MPI2_TOOLBOX_CLEAN_MEGARAID (0x02000000)
105#define MPI2_TOOLBOX_CLEAN_INITIALIZATION (0x01000000) 107#define MPI2_TOOLBOX_CLEAN_INITIALIZATION (0x01000000)
106#define MPI2_TOOLBOX_CLEAN_FLASH (0x00000004) 108#define MPI2_TOOLBOX_CLEAN_FLASH (0x00000004)