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 | |
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>
-rw-r--r-- | drivers/scsi/mpt2sas/mpi/mpi2.h | 12 | ||||
-rw-r--r-- | drivers/scsi/mpt2sas/mpi/mpi2_cnfg.h | 29 | ||||
-rw-r--r-- | drivers/scsi/mpt2sas/mpi/mpi2_init.h | 8 | ||||
-rw-r--r-- | drivers/scsi/mpt2sas/mpi/mpi2_ioc.h | 74 | ||||
-rw-r--r-- | drivers/scsi/mpt2sas/mpi/mpi2_raid.h | 8 | ||||
-rw-r--r-- | drivers/scsi/mpt2sas/mpi/mpi2_sas.h | 2 | ||||
-rw-r--r-- | drivers/scsi/mpt2sas/mpi/mpi2_tool.h | 44 | ||||
-rw-r--r-- | drivers/scsi/mpt2sas/mpi/mpi2_type.h | 2 |
8 files changed, 148 insertions, 31 deletions
diff --git a/drivers/scsi/mpt2sas/mpi/mpi2.h b/drivers/scsi/mpt2sas/mpi/mpi2.h index 7b14a015c903..088eefa67da8 100644 --- a/drivers/scsi/mpt2sas/mpi/mpi2.h +++ b/drivers/scsi/mpt2sas/mpi/mpi2.h | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (c) 2000-2013 LSI Corporation. | 2 | * Copyright (c) 2000-2014 LSI Corporation. |
3 | * | 3 | * |
4 | * | 4 | * |
5 | * Name: mpi2.h | 5 | * Name: 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.28 | 11 | * mpi2.h Version: 02.00.32 |
12 | * | 12 | * |
13 | * Version History | 13 | * Version History |
14 | * --------------- | 14 | * --------------- |
@@ -78,6 +78,11 @@ | |||
78 | * 07-10-12 02.00.26 Bumped MPI2_HEADER_VERSION_UNIT. | 78 | * 07-10-12 02.00.26 Bumped MPI2_HEADER_VERSION_UNIT. |
79 | * 07-26-12 02.00.27 Bumped MPI2_HEADER_VERSION_UNIT. | 79 | * 07-26-12 02.00.27 Bumped MPI2_HEADER_VERSION_UNIT. |
80 | * 11-27-12 02.00.28 Bumped MPI2_HEADER_VERSION_UNIT. | 80 | * 11-27-12 02.00.28 Bumped MPI2_HEADER_VERSION_UNIT. |
81 | * 12-20-12 02.00.29 Bumped MPI2_HEADER_VERSION_UNIT. | ||
82 | * Added MPI25_SUP_REPLY_POST_HOST_INDEX_OFFSET. | ||
83 | * 04-09-13 02.00.30 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. | ||
81 | * -------------------------------------------------------------------------- | 86 | * -------------------------------------------------------------------------- |
82 | */ | 87 | */ |
83 | 88 | ||
@@ -103,7 +108,7 @@ | |||
103 | #define MPI2_VERSION_02_00 (0x0200) | 108 | #define MPI2_VERSION_02_00 (0x0200) |
104 | 109 | ||
105 | /* versioning for this MPI header set */ | 110 | /* versioning for this MPI header set */ |
106 | #define MPI2_HEADER_VERSION_UNIT (0x1C) | 111 | #define MPI2_HEADER_VERSION_UNIT (0x20) |
107 | #define MPI2_HEADER_VERSION_DEV (0x00) | 112 | #define MPI2_HEADER_VERSION_DEV (0x00) |
108 | #define MPI2_HEADER_VERSION_UNIT_MASK (0xFF00) | 113 | #define MPI2_HEADER_VERSION_UNIT_MASK (0xFF00) |
109 | #define MPI2_HEADER_VERSION_UNIT_SHIFT (8) | 114 | #define MPI2_HEADER_VERSION_UNIT_SHIFT (8) |
@@ -263,6 +268,7 @@ typedef volatile struct _MPI2_SYSTEM_INTERFACE_REGS | |||
263 | #define MPI2_REPLY_POST_HOST_INDEX_MASK (0x00FFFFFF) | 268 | #define MPI2_REPLY_POST_HOST_INDEX_MASK (0x00FFFFFF) |
264 | #define MPI2_RPHI_MSIX_INDEX_MASK (0xFF000000) | 269 | #define MPI2_RPHI_MSIX_INDEX_MASK (0xFF000000) |
265 | #define MPI2_RPHI_MSIX_INDEX_SHIFT (24) | 270 | #define MPI2_RPHI_MSIX_INDEX_SHIFT (24) |
271 | #define MPI25_SUP_REPLY_POST_HOST_INDEX_OFFSET (0x0000030C) /* MPI v2.5 only */ | ||
266 | 272 | ||
267 | /* | 273 | /* |
268 | * Defines for the HCBSize and address | 274 | * Defines for the HCBSize and address |
diff --git a/drivers/scsi/mpt2sas/mpi/mpi2_cnfg.h b/drivers/scsi/mpt2sas/mpi/mpi2_cnfg.h index 88cb7f828bbd..510ef0dc8d7b 100644 --- a/drivers/scsi/mpt2sas/mpi/mpi2_cnfg.h +++ b/drivers/scsi/mpt2sas/mpi/mpi2_cnfg.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_cnfg.h | 5 | * Name: mpi2_cnfg.h |
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.23 | 9 | * mpi2_cnfg.h Version: 02.00.26 |
10 | * | 10 | * |
11 | * Version History | 11 | * Version History |
12 | * --------------- | 12 | * --------------- |
@@ -150,7 +150,13 @@ | |||
150 | * Added UEFIVersion field to BIOS Page 1 and defined new | 150 | * Added UEFIVersion field to BIOS Page 1 and defined new |
151 | * BiosOptions bits. | 151 | * BiosOptions bits. |
152 | * 11-27-12 02.00.23 Added MPI2_MANPAGE7_FLAG_EVENTREPLAY_SLOT_ORDER. | 152 | * 11-27-12 02.00.23 Added MPI2_MANPAGE7_FLAG_EVENTREPLAY_SLOT_ORDER. |
153 | * Added MPI2_BIOSPAGE1_OPTIONS_MASK_OEM_ID. | 153 | * Added MPI2_BIOSPAGE1_OPTIONS_MASK_OEM_ID. |
154 | * 12-20-12 02.00.24 Marked MPI2_SASIOUNIT1_CONTROL_CLEAR_AFFILIATION as | ||
155 | * obsolete for MPI v2.5 and later. | ||
156 | * Added some defines for 12G SAS speeds. | ||
157 | * 04-09-13 02.00.25 Added MPI2_IOUNITPAGE1_ATA_SECURITY_FREEZE_LOCK. | ||
158 | * Fixed MPI2_IOUNITPAGE5_DMA_CAP_MASK_MAX_REQUESTS to | ||
159 | * match the specification. | ||
154 | * -------------------------------------------------------------------------- | 160 | * -------------------------------------------------------------------------- |
155 | */ | 161 | */ |
156 | 162 | ||
@@ -773,6 +779,7 @@ typedef struct _MPI2_CONFIG_PAGE_IO_UNIT_1 | |||
773 | #define MPI2_IOUNITPAGE1_PAGEVERSION (0x04) | 779 | #define MPI2_IOUNITPAGE1_PAGEVERSION (0x04) |
774 | 780 | ||
775 | /* IO Unit Page 1 Flags defines */ | 781 | /* IO Unit Page 1 Flags defines */ |
782 | #define MPI2_IOUNITPAGE1_ATA_SECURITY_FREEZE_LOCK (0x00004000) | ||
776 | #define MPI2_IOUNITPAGE1_ENABLE_HOST_BASED_DISCOVERY (0x00000800) | 783 | #define MPI2_IOUNITPAGE1_ENABLE_HOST_BASED_DISCOVERY (0x00000800) |
777 | #define MPI2_IOUNITPAGE1_MASK_SATA_WRITE_CACHE (0x00000600) | 784 | #define MPI2_IOUNITPAGE1_MASK_SATA_WRITE_CACHE (0x00000600) |
778 | #define MPI2_IOUNITPAGE1_SATA_WRITE_CACHE_SHIFT (9) | 785 | #define MPI2_IOUNITPAGE1_SATA_WRITE_CACHE_SHIFT (9) |
@@ -844,7 +851,7 @@ typedef struct _MPI2_CONFIG_PAGE_IO_UNIT_5 { | |||
844 | #define MPI2_IOUNITPAGE5_PAGEVERSION (0x00) | 851 | #define MPI2_IOUNITPAGE5_PAGEVERSION (0x00) |
845 | 852 | ||
846 | /* defines for IO Unit Page 5 DmaEngineCapabilities field */ | 853 | /* defines for IO Unit Page 5 DmaEngineCapabilities field */ |
847 | #define MPI2_IOUNITPAGE5_DMA_CAP_MASK_MAX_REQUESTS (0xFF00) | 854 | #define MPI2_IOUNITPAGE5_DMA_CAP_MASK_MAX_REQUESTS (0xFFFF0000) |
848 | #define MPI2_IOUNITPAGE5_DMA_CAP_SHIFT_MAX_REQUESTS (16) | 855 | #define MPI2_IOUNITPAGE5_DMA_CAP_SHIFT_MAX_REQUESTS (16) |
849 | 856 | ||
850 | #define MPI2_IOUNITPAGE5_DMA_CAP_EEDP (0x0008) | 857 | #define MPI2_IOUNITPAGE5_DMA_CAP_EEDP (0x0008) |
@@ -885,13 +892,17 @@ typedef struct _MPI2_CONFIG_PAGE_IO_UNIT_7 { | |||
885 | U16 IOCTemperature; /* 0x10 */ | 892 | U16 IOCTemperature; /* 0x10 */ |
886 | U8 IOCTemperatureUnits; /* 0x12 */ | 893 | U8 IOCTemperatureUnits; /* 0x12 */ |
887 | U8 IOCSpeed; /* 0x13 */ | 894 | U8 IOCSpeed; /* 0x13 */ |
888 | U16 BoardTemperature; /* 0x14 */ | 895 | U16 BoardTemperature; /* 0x14 */ |
889 | U8 BoardTemperatureUnits; /* 0x16 */ | 896 | U8 BoardTemperatureUnits; /* 0x16 */ |
890 | U8 Reserved3; /* 0x17 */ | 897 | U8 Reserved3; /* 0x17 */ |
898 | U32 Reserved4; /* 0x18 */ | ||
899 | U32 Reserved5; /* 0x1C */ | ||
900 | U32 Reserved6; /* 0x20 */ | ||
901 | U32 Reserved7; /* 0x24 */ | ||
891 | } MPI2_CONFIG_PAGE_IO_UNIT_7, MPI2_POINTER PTR_MPI2_CONFIG_PAGE_IO_UNIT_7, | 902 | } MPI2_CONFIG_PAGE_IO_UNIT_7, MPI2_POINTER PTR_MPI2_CONFIG_PAGE_IO_UNIT_7, |
892 | Mpi2IOUnitPage7_t, MPI2_POINTER pMpi2IOUnitPage7_t; | 903 | Mpi2IOUnitPage7_t, MPI2_POINTER pMpi2IOUnitPage7_t; |
893 | 904 | ||
894 | #define MPI2_IOUNITPAGE7_PAGEVERSION (0x02) | 905 | #define MPI2_IOUNITPAGE7_PAGEVERSION (0x04) |
895 | 906 | ||
896 | /* defines for IO Unit Page 7 PCIeWidth field */ | 907 | /* defines for IO Unit Page 7 PCIeWidth field */ |
897 | #define MPI2_IOUNITPAGE7_PCIE_WIDTH_X1 (0x01) | 908 | #define MPI2_IOUNITPAGE7_PCIE_WIDTH_X1 (0x01) |
@@ -1801,6 +1812,7 @@ typedef struct _MPI2_CONFIG_PAGE_RD_PDISK_1 | |||
1801 | #define MPI2_SAS_PRATE_MAX_RATE_1_5 (0x80) | 1812 | #define MPI2_SAS_PRATE_MAX_RATE_1_5 (0x80) |
1802 | #define MPI2_SAS_PRATE_MAX_RATE_3_0 (0x90) | 1813 | #define MPI2_SAS_PRATE_MAX_RATE_3_0 (0x90) |
1803 | #define MPI2_SAS_PRATE_MAX_RATE_6_0 (0xA0) | 1814 | #define MPI2_SAS_PRATE_MAX_RATE_6_0 (0xA0) |
1815 | #define MPI25_SAS_PRATE_MAX_RATE_12_0 (0xB0) | ||
1804 | #define MPI2_SAS_PRATE_MIN_RATE_MASK (0x0F) | 1816 | #define MPI2_SAS_PRATE_MIN_RATE_MASK (0x0F) |
1805 | #define MPI2_SAS_PRATE_MIN_RATE_NOT_PROGRAMMABLE (0x00) | 1817 | #define MPI2_SAS_PRATE_MIN_RATE_NOT_PROGRAMMABLE (0x00) |
1806 | #define MPI2_SAS_PRATE_MIN_RATE_1_5 (0x08) | 1818 | #define MPI2_SAS_PRATE_MIN_RATE_1_5 (0x08) |
@@ -1813,6 +1825,7 @@ typedef struct _MPI2_CONFIG_PAGE_RD_PDISK_1 | |||
1813 | #define MPI2_SAS_HWRATE_MAX_RATE_1_5 (0x80) | 1825 | #define MPI2_SAS_HWRATE_MAX_RATE_1_5 (0x80) |
1814 | #define MPI2_SAS_HWRATE_MAX_RATE_3_0 (0x90) | 1826 | #define MPI2_SAS_HWRATE_MAX_RATE_3_0 (0x90) |
1815 | #define MPI2_SAS_HWRATE_MAX_RATE_6_0 (0xA0) | 1827 | #define MPI2_SAS_HWRATE_MAX_RATE_6_0 (0xA0) |
1828 | #define MPI25_SAS_HWRATE_MAX_RATE_12_0 (0xB0) | ||
1816 | #define MPI2_SAS_HWRATE_MIN_RATE_MASK (0x0F) | 1829 | #define MPI2_SAS_HWRATE_MIN_RATE_MASK (0x0F) |
1817 | #define MPI2_SAS_HWRATE_MIN_RATE_1_5 (0x08) | 1830 | #define MPI2_SAS_HWRATE_MIN_RATE_1_5 (0x08) |
1818 | #define MPI2_SAS_HWRATE_MIN_RATE_3_0 (0x09) | 1831 | #define MPI2_SAS_HWRATE_MIN_RATE_3_0 (0x09) |
diff --git a/drivers/scsi/mpt2sas/mpi/mpi2_init.h b/drivers/scsi/mpt2sas/mpi/mpi2_init.h index 9d284dae6553..eea1a16b13ec 100644 --- a/drivers/scsi/mpt2sas/mpi/mpi2_init.h +++ b/drivers/scsi/mpt2sas/mpi/mpi2_init.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_init.h | 5 | * Name: mpi2_init.h |
6 | * Title: MPI SCSI initiator mode messages and structures | 6 | * Title: MPI SCSI initiator mode messages and structures |
7 | * Creation Date: June 23, 2006 | 7 | * Creation Date: June 23, 2006 |
8 | * | 8 | * |
9 | * mpi2_init.h Version: 02.00.14 | 9 | * mpi2_init.h Version: 02.00.15 |
10 | * | 10 | * |
11 | * Version History | 11 | * Version History |
12 | * --------------- | 12 | * --------------- |
@@ -37,6 +37,8 @@ | |||
37 | * 02-06-12 02.00.13 Added alternate defines for Task Priority / Command | 37 | * 02-06-12 02.00.13 Added alternate defines for Task Priority / Command |
38 | * Priority to match SAM-4. | 38 | * Priority to match SAM-4. |
39 | * 07-10-12 02.00.14 Added MPI2_SCSIIO_CONTROL_SHIFT_DATADIRECTION. | 39 | * 07-10-12 02.00.14 Added MPI2_SCSIIO_CONTROL_SHIFT_DATADIRECTION. |
40 | * 04-09-13 02.00.15 Added SCSIStatusQualifier field to MPI2_SCSI_IO_REPLY, | ||
41 | * replacing the Reserved4 field. | ||
40 | * -------------------------------------------------------------------------- | 42 | * -------------------------------------------------------------------------- |
41 | */ | 43 | */ |
42 | 44 | ||
@@ -234,7 +236,7 @@ typedef struct _MPI2_SCSI_IO_REPLY | |||
234 | U32 SenseCount; /* 0x18 */ | 236 | U32 SenseCount; /* 0x18 */ |
235 | U32 ResponseInfo; /* 0x1C */ | 237 | U32 ResponseInfo; /* 0x1C */ |
236 | U16 TaskTag; /* 0x20 */ | 238 | U16 TaskTag; /* 0x20 */ |
237 | U16 Reserved4; /* 0x22 */ | 239 | U16 SCSIStatusQualifier; /* 0x22 */ |
238 | U32 BidirectionalTransferCount; /* 0x24 */ | 240 | U32 BidirectionalTransferCount; /* 0x24 */ |
239 | U32 Reserved5; /* 0x28 */ | 241 | U32 Reserved5; /* 0x28 */ |
240 | U32 Reserved6; /* 0x2C */ | 242 | U32 Reserved6; /* 0x2C */ |
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 | ****************************************************************************/ |
diff --git a/drivers/scsi/mpt2sas/mpi/mpi2_raid.h b/drivers/scsi/mpt2sas/mpi/mpi2_raid.h index 0d202a2c6db7..7efa58ff0d34 100644 --- a/drivers/scsi/mpt2sas/mpi/mpi2_raid.h +++ b/drivers/scsi/mpt2sas/mpi/mpi2_raid.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_raid.h | 5 | * Name: mpi2_raid.h |
6 | * Title: MPI Integrated RAID messages and structures | 6 | * Title: MPI Integrated RAID messages and structures |
7 | * Creation Date: April 26, 2007 | 7 | * Creation Date: April 26, 2007 |
8 | * | 8 | * |
9 | * mpi2_raid.h Version: 02.00.09 | 9 | * mpi2_raid.h Version: 02.00.10 |
10 | * | 10 | * |
11 | * Version History | 11 | * Version History |
12 | * --------------- | 12 | * --------------- |
@@ -29,6 +29,7 @@ | |||
29 | * 02-06-12 02.00.08 Added MPI2_RAID_ACTION_PHYSDISK_HIDDEN. | 29 | * 02-06-12 02.00.08 Added MPI2_RAID_ACTION_PHYSDISK_HIDDEN. |
30 | * 07-26-12 02.00.09 Added ElapsedSeconds field to MPI2_RAID_VOL_INDICATOR. | 30 | * 07-26-12 02.00.09 Added ElapsedSeconds field to MPI2_RAID_VOL_INDICATOR. |
31 | * Added MPI2_RAID_VOL_FLAGS_ELAPSED_SECONDS_VALID define. | 31 | * Added MPI2_RAID_VOL_FLAGS_ELAPSED_SECONDS_VALID define. |
32 | * 04-17-13 02.00.10 Added MPI25_RAID_ACTION_ADATA_ALLOW_PI. | ||
32 | * -------------------------------------------------------------------------- | 33 | * -------------------------------------------------------------------------- |
33 | */ | 34 | */ |
34 | 35 | ||
@@ -45,6 +46,9 @@ | |||
45 | * RAID Action messages | 46 | * RAID Action messages |
46 | ****************************************************************************/ | 47 | ****************************************************************************/ |
47 | 48 | ||
49 | /* ActionDataWord defines for use with MPI2_RAID_ACTION_CREATE_VOLUME action */ | ||
50 | #define MPI25_RAID_ACTION_ADATA_ALLOW_PI (0x80000000) | ||
51 | |||
48 | /* ActionDataWord defines for use with MPI2_RAID_ACTION_DELETE_VOLUME action */ | 52 | /* ActionDataWord defines for use with MPI2_RAID_ACTION_DELETE_VOLUME action */ |
49 | #define MPI2_RAID_ACTION_ADATA_KEEP_LBA0 (0x00000000) | 53 | #define MPI2_RAID_ACTION_ADATA_KEEP_LBA0 (0x00000000) |
50 | #define MPI2_RAID_ACTION_ADATA_ZERO_LBA0 (0x00000001) | 54 | #define MPI2_RAID_ACTION_ADATA_ZERO_LBA0 (0x00000001) |
diff --git a/drivers/scsi/mpt2sas/mpi/mpi2_sas.h b/drivers/scsi/mpt2sas/mpi/mpi2_sas.h index 50b39ccd526a..45b6fa10b803 100644 --- a/drivers/scsi/mpt2sas/mpi/mpi2_sas.h +++ b/drivers/scsi/mpt2sas/mpi/mpi2_sas.h | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (c) 2000-2013 LSI Corporation. | 2 | * Copyright (c) 2000-2014 LSI Corporation. |
3 | * | 3 | * |
4 | * | 4 | * |
5 | * Name: mpi2_sas.h | 5 | * Name: mpi2_sas.h |
diff --git a/drivers/scsi/mpt2sas/mpi/mpi2_tool.h b/drivers/scsi/mpt2sas/mpi/mpi2_tool.h index 11b2ac4e7c6e..9be03ed46180 100644 --- a/drivers/scsi/mpt2sas/mpi/mpi2_tool.h +++ b/drivers/scsi/mpt2sas/mpi/mpi2_tool.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_tool.h | 5 | * Name: mpi2_tool.h |
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.10 | 9 | * mpi2_tool.h Version: 02.00.11 |
10 | * | 10 | * |
11 | * Version History | 11 | * Version History |
12 | * --------------- | 12 | * --------------- |
@@ -29,6 +29,7 @@ | |||
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 | * -------------------------------------------------------------------------- | 33 | * -------------------------------------------------------------------------- |
33 | */ | 34 | */ |
34 | 35 | ||
@@ -48,6 +49,7 @@ | |||
48 | #define MPI2_TOOLBOX_ISTWI_READ_WRITE_TOOL (0x03) | 49 | #define MPI2_TOOLBOX_ISTWI_READ_WRITE_TOOL (0x03) |
49 | #define MPI2_TOOLBOX_BEACON_TOOL (0x05) | 50 | #define MPI2_TOOLBOX_BEACON_TOOL (0x05) |
50 | #define MPI2_TOOLBOX_DIAGNOSTIC_CLI_TOOL (0x06) | 51 | #define MPI2_TOOLBOX_DIAGNOSTIC_CLI_TOOL (0x06) |
52 | #define MPI2_TOOLBOX_TEXT_DISPLAY_TOOL (0x07) | ||
51 | 53 | ||
52 | 54 | ||
53 | /**************************************************************************** | 55 | /**************************************************************************** |
@@ -321,6 +323,44 @@ typedef struct _MPI2_TOOLBOX_DIAGNOSTIC_CLI_REPLY { | |||
321 | MPI2_POINTER pMpi2ToolboxDiagnosticCliReply_t; | 323 | MPI2_POINTER pMpi2ToolboxDiagnosticCliReply_t; |
322 | 324 | ||
323 | 325 | ||
326 | /**************************************************************************** | ||
327 | * Toolbox Console Text Display Tool | ||
328 | ****************************************************************************/ | ||
329 | |||
330 | /* Toolbox Console Text Display Tool request message */ | ||
331 | typedef struct _MPI2_TOOLBOX_TEXT_DISPLAY_REQUEST { | ||
332 | U8 Tool; /* 0x00 */ | ||
333 | U8 Reserved1; /* 0x01 */ | ||
334 | U8 ChainOffset; /* 0x02 */ | ||
335 | U8 Function; /* 0x03 */ | ||
336 | U16 Reserved2; /* 0x04 */ | ||
337 | U8 Reserved3; /* 0x06 */ | ||
338 | U8 MsgFlags; /* 0x07 */ | ||
339 | U8 VP_ID; /* 0x08 */ | ||
340 | U8 VF_ID; /* 0x09 */ | ||
341 | U16 Reserved4; /* 0x0A */ | ||
342 | U8 Console; /* 0x0C */ | ||
343 | U8 Flags; /* 0x0D */ | ||
344 | U16 Reserved6; /* 0x0E */ | ||
345 | U8 TextToDisplay[4]; /* 0x10 */ | ||
346 | } MPI2_TOOLBOX_TEXT_DISPLAY_REQUEST, | ||
347 | MPI2_POINTER PTR_MPI2_TOOLBOX_TEXT_DISPLAY_REQUEST, | ||
348 | Mpi2ToolboxTextDisplayRequest_t, | ||
349 | MPI2_POINTER pMpi2ToolboxTextDisplayRequest_t; | ||
350 | |||
351 | /* defines for the Console field */ | ||
352 | #define MPI2_TOOLBOX_CONSOLE_TYPE_MASK (0xF0) | ||
353 | #define MPI2_TOOLBOX_CONSOLE_TYPE_DEFAULT (0x00) | ||
354 | #define MPI2_TOOLBOX_CONSOLE_TYPE_UART (0x10) | ||
355 | #define MPI2_TOOLBOX_CONSOLE_TYPE_ETHERNET (0x20) | ||
356 | |||
357 | #define MPI2_TOOLBOX_CONSOLE_NUMBER_MASK (0x0F) | ||
358 | |||
359 | /* defines for the Flags field */ | ||
360 | #define MPI2_TOOLBOX_CONSOLE_FLAG_TIMESTAMP (0x01) | ||
361 | |||
362 | |||
363 | |||
324 | /***************************************************************************** | 364 | /***************************************************************************** |
325 | * | 365 | * |
326 | * Diagnostic Buffer Messages | 366 | * Diagnostic Buffer Messages |
diff --git a/drivers/scsi/mpt2sas/mpi/mpi2_type.h b/drivers/scsi/mpt2sas/mpi/mpi2_type.h index 0b128b68a5ea..6b0dcdd02f68 100644 --- a/drivers/scsi/mpt2sas/mpi/mpi2_type.h +++ b/drivers/scsi/mpt2sas/mpi/mpi2_type.h | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (c) 2000-2013 LSI Corporation. | 2 | * Copyright (c) 2000-2014 LSI Corporation. |
3 | * | 3 | * |
4 | * | 4 | * |
5 | * Name: mpi2_type.h | 5 | * Name: mpi2_type.h |