diff options
author | Sreekanth Reddy <sreekanth.reddy@avagotech.com> | 2014-09-12 06:05:17 -0400 |
---|---|---|
committer | Christoph Hellwig <hch@lst.de> | 2014-09-16 12:14:13 -0400 |
commit | ff4637d6d1f2f4fdf014404b5b4b1d1e4adc6283 (patch) | |
tree | 046e1a2e85065534868a44bb951d133a366e99a6 /drivers/scsi/mpt2sas/mpi/mpi2_ioc.h | |
parent | 4e1f20ae4f92706518d6c18b13da8c2bc28339c7 (diff) |
mpt2sas: MPI2 Rev Y (2.00.17) and Rev Z (2.00.18) specifications
Below is the change set in MPI2 Rev Y specification and in 2.00.17 header files
1) Added SCSIStatusQualifier to SCSI IO Error Reply message.
2) Added ATA Security Freeze Lock to IO Unit Page 1 Flags field.
Below is the change set in MPI2 Rev Z specification and in 2.00.19 header files
1) Added reserved fields to IO Unit Page 7 for future use.
2) Added optional functionality to IOCInit Request so that
the host may specify a separate base address for each
Reply Descriptor Post Queue. IOC support for this is
indicated using a new IOCCapabilities bit in the IOCFacts Reply.
3) Added Toolbox Console Text Display Tool
The host uses the Console Text Display Tool to send a string to
IOC's Console using different console types (eg: UART serial terminal or Ethernet terminal).
The copyright in the mpi files is updated for year 2014
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>
Diffstat (limited to 'drivers/scsi/mpt2sas/mpi/mpi2_ioc.h')
-rw-r--r-- | drivers/scsi/mpt2sas/mpi/mpi2_ioc.h | 74 |
1 files changed, 63 insertions, 11 deletions
diff --git a/drivers/scsi/mpt2sas/mpi/mpi2_ioc.h b/drivers/scsi/mpt2sas/mpi/mpi2_ioc.h index d159c5f24aab..2c3b0f28576b 100644 --- a/drivers/scsi/mpt2sas/mpi/mpi2_ioc.h +++ b/drivers/scsi/mpt2sas/mpi/mpi2_ioc.h | |||
@@ -1,12 +1,12 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (c) 2000-2013 LSI Corporation. | 2 | * Copyright (c) 2000-2014 LSI Corporation. |
3 | * | 3 | * |
4 | * | 4 | * |
5 | * Name: mpi2_ioc.h | 5 | * Name: mpi2_ioc.h |
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.22 | 9 | * mpi2_ioc.h Version: 02.00.23 |
10 | * | 10 | * |
11 | * Version History | 11 | * Version History |
12 | * --------------- | 12 | * --------------- |
@@ -121,6 +121,11 @@ | |||
121 | * 07-26-12 02.00.22 Added MPI2_IOCFACTS_EXCEPT_PARTIAL_MEMORY_FAILURE. | 121 | * 07-26-12 02.00.22 Added MPI2_IOCFACTS_EXCEPT_PARTIAL_MEMORY_FAILURE. |
122 | * Added ElapsedSeconds field to | 122 | * Added ElapsedSeconds field to |
123 | * MPI2_EVENT_DATA_IR_OPERATION_STATUS. | 123 | * MPI2_EVENT_DATA_IR_OPERATION_STATUS. |
124 | * 08-19-13 02.00.23 For IOCInit, added MPI2_IOCINIT_MSGFLAG_RDPQ_ARRAY_MODE | ||
125 | * and MPI2_IOC_INIT_RDPQ_ARRAY_ENTRY. | ||
126 | * Added MPI2_IOCFACTS_CAPABILITY_RDPQ_ARRAY_CAPABLE. | ||
127 | * Added MPI2_FW_DOWNLOAD_ITYPE_PUBLIC_KEY. | ||
128 | * Added Encrypted Hash Extended Image. | ||
124 | * -------------------------------------------------------------------------- | 129 | * -------------------------------------------------------------------------- |
125 | */ | 130 | */ |
126 | 131 | ||
@@ -177,6 +182,9 @@ typedef struct _MPI2_IOC_INIT_REQUEST | |||
177 | #define MPI2_WHOINIT_HOST_DRIVER (0x04) | 182 | #define MPI2_WHOINIT_HOST_DRIVER (0x04) |
178 | #define MPI2_WHOINIT_MANUFACTURER (0x05) | 183 | #define MPI2_WHOINIT_MANUFACTURER (0x05) |
179 | 184 | ||
185 | /* MsgFlags */ | ||
186 | #define MPI2_IOCINIT_MSGFLAG_RDPQ_ARRAY_MODE (0x01) | ||
187 | |||
180 | /* MsgVersion */ | 188 | /* MsgVersion */ |
181 | #define MPI2_IOCINIT_MSGVERSION_MAJOR_MASK (0xFF00) | 189 | #define MPI2_IOCINIT_MSGVERSION_MAJOR_MASK (0xFF00) |
182 | #define MPI2_IOCINIT_MSGVERSION_MAJOR_SHIFT (8) | 190 | #define MPI2_IOCINIT_MSGVERSION_MAJOR_SHIFT (8) |
@@ -189,9 +197,17 @@ typedef struct _MPI2_IOC_INIT_REQUEST | |||
189 | #define MPI2_IOCINIT_HDRVERSION_DEV_MASK (0x00FF) | 197 | #define MPI2_IOCINIT_HDRVERSION_DEV_MASK (0x00FF) |
190 | #define MPI2_IOCINIT_HDRVERSION_DEV_SHIFT (0) | 198 | #define MPI2_IOCINIT_HDRVERSION_DEV_SHIFT (0) |
191 | 199 | ||
192 | /* minimum depth for the Reply Descriptor Post Queue */ | 200 | /* minimum depth for a Reply Descriptor Post Queue */ |
193 | #define MPI2_RDPQ_DEPTH_MIN (16) | 201 | #define MPI2_RDPQ_DEPTH_MIN (16) |
194 | 202 | ||
203 | /* Reply Descriptor Post Queue Array Entry */ | ||
204 | typedef struct _MPI2_IOC_INIT_RDPQ_ARRAY_ENTRY { | ||
205 | U64 RDPQBaseAddress; /* 0x00 */ | ||
206 | U32 Reserved1; /* 0x08 */ | ||
207 | U32 Reserved2; /* 0x0C */ | ||
208 | } MPI2_IOC_INIT_RDPQ_ARRAY_ENTRY, | ||
209 | MPI2_POINTER PTR_MPI2_IOC_INIT_RDPQ_ARRAY_ENTRY, | ||
210 | Mpi2IOCInitRDPQArrayEntry, MPI2_POINTER pMpi2IOCInitRDPQArrayEntry; | ||
195 | 211 | ||
196 | /* IOCInit Reply message */ | 212 | /* IOCInit Reply message */ |
197 | typedef struct _MPI2_IOC_INIT_REPLY | 213 | typedef struct _MPI2_IOC_INIT_REPLY |
@@ -307,6 +323,7 @@ typedef struct _MPI2_IOC_FACTS_REPLY | |||
307 | /* ProductID field uses MPI2_FW_HEADER_PID_ */ | 323 | /* ProductID field uses MPI2_FW_HEADER_PID_ */ |
308 | 324 | ||
309 | /* IOCCapabilities */ | 325 | /* IOCCapabilities */ |
326 | #define MPI2_IOCFACTS_CAPABILITY_RDPQ_ARRAY_CAPABLE (0x00040000) | ||
310 | #define MPI2_IOCFACTS_CAPABILITY_HOST_BASED_DISCOVERY (0x00010000) | 327 | #define MPI2_IOCFACTS_CAPABILITY_HOST_BASED_DISCOVERY (0x00010000) |
311 | #define MPI2_IOCFACTS_CAPABILITY_MSI_X_INDEX (0x00008000) | 328 | #define MPI2_IOCFACTS_CAPABILITY_MSI_X_INDEX (0x00008000) |
312 | #define MPI2_IOCFACTS_CAPABILITY_RAID_ACCELERATOR (0x00004000) | 329 | #define MPI2_IOCFACTS_CAPABILITY_RAID_ACCELERATOR (0x00004000) |
@@ -1153,6 +1170,7 @@ typedef struct _MPI2_FW_DOWNLOAD_REQUEST | |||
1153 | #define MPI2_FW_DOWNLOAD_ITYPE_MEGARAID (0x09) | 1170 | #define MPI2_FW_DOWNLOAD_ITYPE_MEGARAID (0x09) |
1154 | #define MPI2_FW_DOWNLOAD_ITYPE_COMPLETE (0x0A) | 1171 | #define MPI2_FW_DOWNLOAD_ITYPE_COMPLETE (0x0A) |
1155 | #define MPI2_FW_DOWNLOAD_ITYPE_COMMON_BOOT_BLOCK (0x0B) | 1172 | #define MPI2_FW_DOWNLOAD_ITYPE_COMMON_BOOT_BLOCK (0x0B) |
1173 | #define MPI2_FW_DOWNLOAD_ITYPE_PUBLIC_KEY (0x0C) | ||
1156 | #define MPI2_FW_DOWNLOAD_ITYPE_MIN_PRODUCT_SPECIFIC (0xF0) | 1174 | #define MPI2_FW_DOWNLOAD_ITYPE_MIN_PRODUCT_SPECIFIC (0xF0) |
1157 | 1175 | ||
1158 | /* FWDownload TransactionContext Element */ | 1176 | /* FWDownload TransactionContext Element */ |
@@ -1379,14 +1397,15 @@ typedef struct _MPI2_EXT_IMAGE_HEADER | |||
1379 | #define MPI2_EXT_IMAGE_HEADER_SIZE (0x40) | 1397 | #define MPI2_EXT_IMAGE_HEADER_SIZE (0x40) |
1380 | 1398 | ||
1381 | /* defines for the ImageType field */ | 1399 | /* defines for the ImageType field */ |
1382 | #define MPI2_EXT_IMAGE_TYPE_UNSPECIFIED (0x00) | 1400 | #define MPI2_EXT_IMAGE_TYPE_UNSPECIFIED (0x00) |
1383 | #define MPI2_EXT_IMAGE_TYPE_FW (0x01) | 1401 | #define MPI2_EXT_IMAGE_TYPE_FW (0x01) |
1384 | #define MPI2_EXT_IMAGE_TYPE_NVDATA (0x03) | 1402 | #define MPI2_EXT_IMAGE_TYPE_NVDATA (0x03) |
1385 | #define MPI2_EXT_IMAGE_TYPE_BOOTLOADER (0x04) | 1403 | #define MPI2_EXT_IMAGE_TYPE_BOOTLOADER (0x04) |
1386 | #define MPI2_EXT_IMAGE_TYPE_INITIALIZATION (0x05) | 1404 | #define MPI2_EXT_IMAGE_TYPE_INITIALIZATION (0x05) |
1387 | #define MPI2_EXT_IMAGE_TYPE_FLASH_LAYOUT (0x06) | 1405 | #define MPI2_EXT_IMAGE_TYPE_FLASH_LAYOUT (0x06) |
1388 | #define MPI2_EXT_IMAGE_TYPE_SUPPORTED_DEVICES (0x07) | 1406 | #define MPI2_EXT_IMAGE_TYPE_SUPPORTED_DEVICES (0x07) |
1389 | #define MPI2_EXT_IMAGE_TYPE_MEGARAID (0x08) | 1407 | #define MPI2_EXT_IMAGE_TYPE_MEGARAID (0x08) |
1408 | #define MPI2_EXT_IMAGE_TYPE_ENCRYPTED_HASH (0x09) | ||
1390 | #define MPI2_EXT_IMAGE_TYPE_MIN_PRODUCT_SPECIFIC (0x80) | 1409 | #define MPI2_EXT_IMAGE_TYPE_MIN_PRODUCT_SPECIFIC (0x80) |
1391 | #define MPI2_EXT_IMAGE_TYPE_MAX_PRODUCT_SPECIFIC (0xFF) | 1410 | #define MPI2_EXT_IMAGE_TYPE_MAX_PRODUCT_SPECIFIC (0xFF) |
1392 | #define MPI2_EXT_IMAGE_TYPE_MAX \ | 1411 | #define MPI2_EXT_IMAGE_TYPE_MAX \ |
@@ -1555,6 +1574,39 @@ typedef struct _MPI2_INIT_IMAGE_FOOTER | |||
1555 | #define MPI2_INIT_IMAGE_RESETVECTOR_OFFSET (0x14) | 1574 | #define MPI2_INIT_IMAGE_RESETVECTOR_OFFSET (0x14) |
1556 | 1575 | ||
1557 | 1576 | ||
1577 | /* Encrypted Hash Extended Image Data */ | ||
1578 | |||
1579 | typedef struct _MPI25_ENCRYPTED_HASH_ENTRY { | ||
1580 | U8 HashImageType; /* 0x00 */ | ||
1581 | U8 HashAlgorithm; /* 0x01 */ | ||
1582 | U8 EncryptionAlgorithm; /* 0x02 */ | ||
1583 | U8 Reserved1; /* 0x03 */ | ||
1584 | U32 Reserved2; /* 0x04 */ | ||
1585 | U32 EncryptedHash[1]; /* 0x08 */ | ||
1586 | } MPI25_ENCRYPTED_HASH_ENTRY, MPI2_POINTER PTR_MPI25_ENCRYPTED_HASH_ENTRY, | ||
1587 | Mpi25EncryptedHashEntry_t, MPI2_POINTER pMpi25EncryptedHashEntry_t; | ||
1588 | |||
1589 | /* values for HashImageType */ | ||
1590 | #define MPI25_HASH_IMAGE_TYPE_UNUSED (0x00) | ||
1591 | #define MPI25_HASH_IMAGE_TYPE_FIRMWARE (0x01) | ||
1592 | |||
1593 | /* values for HashAlgorithm */ | ||
1594 | #define MPI25_HASH_ALGORITHM_UNUSED (0x00) | ||
1595 | #define MPI25_HASH_ALGORITHM_SHA256 (0x01) | ||
1596 | |||
1597 | /* values for EncryptionAlgorithm */ | ||
1598 | #define MPI25_ENCRYPTION_ALG_UNUSED (0x00) | ||
1599 | #define MPI25_ENCRYPTION_ALG_RSA256 (0x01) | ||
1600 | |||
1601 | typedef struct _MPI25_ENCRYPTED_HASH_DATA { | ||
1602 | U8 ImageVersion; /* 0x00 */ | ||
1603 | U8 NumHash; /* 0x01 */ | ||
1604 | U16 Reserved1; /* 0x02 */ | ||
1605 | U32 Reserved2; /* 0x04 */ | ||
1606 | MPI25_ENCRYPTED_HASH_ENTRY EncryptedHashEntry[1]; /* 0x08 */ | ||
1607 | } MPI25_ENCRYPTED_HASH_DATA, MPI2_POINTER PTR_MPI25_ENCRYPTED_HASH_DATA, | ||
1608 | Mpi25EncryptedHashData_t, MPI2_POINTER pMpi25EncryptedHashData_t; | ||
1609 | |||
1558 | /**************************************************************************** | 1610 | /**************************************************************************** |
1559 | * PowerManagementControl message | 1611 | * PowerManagementControl message |
1560 | ****************************************************************************/ | 1612 | ****************************************************************************/ |