xref: /freebsd/sys/dev/mpr/mpi/mpi2_history.txt (revision 325151a3)
1/*-
2 * Copyright (c) 2012-2015 LSI Corp.
3 * Copyright (c) 2013-2015 Avago Technologies
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 * 1. Redistributions of source code must retain the above copyright
10 *    notice, this list of conditions and the following disclaimer.
11 * 2. Redistributions in binary form must reproduce the above copyright
12 *    notice, this list of conditions and the following disclaimer in the
13 *    documentation and/or other materials provided with the distribution.
14 * 3. Neither the name of the author nor the names of any co-contributors
15 *    may be used to endorse or promote products derived from this software
16 *    without specific prior written permission.
17 *
18 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
19 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
22 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28 * SUCH DAMAGE.
29 *
30 * Avago Technologies (LSI) MPT-Fusion Host Adapter FreeBSD
31 *
32 * $FreeBSD$
33 */
34
35 ==============================
36 Fusion-MPT MPI 2.0 / 2.5 Header File Change History
37 ==============================
38
39 Copyright (c) 2000-2015 LSI Corporation.
40 Copyright (c) 2013-2015 Avago Technologies
41
42 ---------------------------------------
43 Header Set Release Version:    02.00.33
44 Header Set Release Date:       12-05-13
45 ---------------------------------------
46
47 Filename               Current version     Prior version
48 ----------             ---------------     -------------
49 mpi2.h                 02.00.33            02.00.32
50 mpi2_cnfg.h            02.00.27            02.00.26
51 mpi2_init.h            02.00.15            02.00.15
52 mpi2_ioc.h             02.00.24            02.00.23
53 mpi2_raid.h            02.00.10            02.00.10
54 mpi2_sas.h             02.00.08            02.00.08
55 mpi2_targ.h            02.00.06            02.00.06
56 mpi2_tool.h            02.00.11            02.00.11
57 mpi2_type.h            02.00.00            02.00.00
58 mpi2_ra.h              02.00.00            02.00.00
59 mpi2_hbd.h             02.00.02            02.00.02
60 mpi2_history.txt       02.00.33            02.00.32
61
62
63 *  Date      Version   Description
64 *  --------  --------  ------------------------------------------------------
65
66mpi2.h
67 *  04-30-07  02.00.00  Corresponds to Fusion-MPT MPI Specification Rev A.
68 *  06-04-07  02.00.01  Bumped MPI2_HEADER_VERSION_UNIT.
69 *  06-26-07  02.00.02  Bumped MPI2_HEADER_VERSION_UNIT.
70 *  08-31-07  02.00.03  Bumped MPI2_HEADER_VERSION_UNIT.
71 *                      Moved ReplyPostHostIndex register to offset 0x6C of the
72 *                      MPI2_SYSTEM_INTERFACE_REGS and modified the define for
73 *                      MPI2_REPLY_POST_HOST_INDEX_OFFSET.
74 *                      Added union of request descriptors.
75 *                      Added union of reply descriptors.
76 *  10-31-07  02.00.04  Bumped MPI2_HEADER_VERSION_UNIT.
77 *                      Added define for MPI2_VERSION_02_00.
78 *                      Fixed the size of the FunctionDependent5 field in the
79 *                      MPI2_DEFAULT_REPLY structure.
80 *  12-18-07  02.00.05  Bumped MPI2_HEADER_VERSION_UNIT.
81 *                      Removed the MPI-defined Fault Codes and extended the
82 *                      product specific codes up to 0xEFFF.
83 *                      Added a sixth key value for the WriteSequence register
84 *                      and changed the flush value to 0x0.
85 *                      Added message function codes for Diagnostic Buffer Post
86 *                      and Diagnsotic Release.
87 *                      New IOCStatus define: MPI2_IOCSTATUS_DIAGNOSTIC_RELEASED
88 *                      Moved MPI2_VERSION_UNION from mpi2_ioc.h.
89 *  02-29-08  02.00.06  Bumped MPI2_HEADER_VERSION_UNIT.
90 *  03-03-08  02.00.07  Bumped MPI2_HEADER_VERSION_UNIT.
91 *  05-21-08  02.00.08  Bumped MPI2_HEADER_VERSION_UNIT.
92 *                      Added #defines for marking a reply descriptor as unused.
93 *  06-27-08  02.00.09  Bumped MPI2_HEADER_VERSION_UNIT.
94 *  10-02-08  02.00.10  Bumped MPI2_HEADER_VERSION_UNIT.
95 *                      Moved LUN field defines from mpi2_init.h.
96 *  01-19-09  02.00.11  Bumped MPI2_HEADER_VERSION_UNIT.
97 *  05-06-09  02.00.12  Bumped MPI2_HEADER_VERSION_UNIT.
98 *                      In all request and reply descriptors, replaced VF_ID
99 *                      field with MSIxIndex field.
100 *                      Removed DevHandle field from
101 *                      MPI2_SCSI_IO_SUCCESS_REPLY_DESCRIPTOR and made those
102 *                      bytes reserved.
103 *                      Added RAID Accelerator functionality.
104 *  07-30-09  02.00.13  Bumped MPI2_HEADER_VERSION_UNIT.
105 *  10-28-09  02.00.14  Bumped MPI2_HEADER_VERSION_UNIT.
106 *                      Added MSI-x index mask and shift for Reply Post Host
107 *                      Index register.
108 *                      Added function code for Host Based Discovery Action.
109 *  02-10-10  02.00.15  Bumped MPI2_HEADER_VERSION_UNIT.
110 *                      Added define for MPI2_FUNCTION_PWR_MGMT_CONTROL.
111 *                      Added defines for product-specific range of message
112 *                      function codes, 0xF0 to 0xFF.
113 *  05-12-10  02.00.16  Bumped MPI2_HEADER_VERSION_UNIT.
114 *                      Added alternative defines for the SGE Direction bit.
115 *  08-11-10  02.00.17  Bumped MPI2_HEADER_VERSION_UNIT.
116 *  11-10-10  02.00.18  Bumped MPI2_HEADER_VERSION_UNIT.
117 *                      Added MPI2_IEEE_SGE_FLAGS_SYSTEMPLBCPI_ADDR define.
118 *  02-23-11  02.00.19  Bumped MPI2_HEADER_VERSION_UNIT.
119 *                      Added MPI2_FUNCTION_SEND_HOST_MESSAGE.
120 *  03-09-11  02.00.20  Bumped MPI2_HEADER_VERSION_UNIT.
121 *  05-25-11  02.00.21  Bumped MPI2_HEADER_VERSION_UNIT.
122 *  08-24-11  02.00.22  Bumped MPI2_HEADER_VERSION_UNIT.
123 *  11-18-11  02.00.23  Bumped MPI2_HEADER_VERSION_UNIT.
124 *                      Incorporating additions for MPI v2.5.
125 *  02-06-12  02.00.24  Bumped MPI2_HEADER_VERSION_UNIT.
126 *  03-29-12  02.00.25  Bumped MPI2_HEADER_VERSION_UNIT.
127 *                      Added Hard Reset delay timings.
128 *  07-10-12  02.00.26  Bumped MPI2_HEADER_VERSION_UNIT.
129 *  07-26-12  02.00.27  Bumped MPI2_HEADER_VERSION_UNIT.
130 *  11-27-12  02.00.28  Bumped MPI2_HEADER_VERSION_UNIT.
131 *  12-20-12  02.00.29  Bumped MPI2_HEADER_VERSION_UNIT.
132 *                      Added MPI25_SUP_REPLY_POST_HOST_INDEX_OFFSET.
133 *  04-09-13  02.00.30  Bumped MPI2_HEADER_VERSION_UNIT.
134 *  04-17-13  02.00.31  Bumped MPI2_HEADER_VERSION_UNIT.
135 *  08-19-13  02.00.32  Bumped MPI2_HEADER_VERSION_UNIT.
136 *  12-05-13  02.00.33  Bumped MPI2_HEADER_VERSION_UNIT.
137 *  --------------------------------------------------------------------------
138
139mpi2_cnfg.h
140 *  04-30-07  02.00.00  Corresponds to Fusion-MPT MPI Specification Rev A.
141 *  06-04-07  02.00.01  Added defines for SAS IO Unit Page 2 PhyFlags.
142 *                      Added Manufacturing Page 11.
143 *                      Added MPI2_SAS_EXPANDER0_FLAGS_CONNECTOR_END_DEVICE
144 *                      define.
145 *  06-26-07  02.00.02  Adding generic structure for product-specific
146 *                      Manufacturing pages: MPI2_CONFIG_PAGE_MANUFACTURING_PS.
147 *                      Rework of BIOS Page 2 configuration page.
148 *                      Fixed MPI2_BIOSPAGE2_BOOT_DEVICE to be a union of the
149 *                      forms.
150 *                      Added configuration pages IOC Page 8 and Driver
151 *                      Persistent Mapping Page 0.
152 *  08-31-07  02.00.03  Modified configuration pages dealing with Integrated
153 *                      RAID (Manufacturing Page 4, RAID Volume Pages 0 and 1,
154 *                      RAID Physical Disk Pages 0 and 1, RAID Configuration
155 *                      Page 0).
156 *                      Added new value for AccessStatus field of SAS Device
157 *                      Page 0 (_SATA_NEEDS_INITIALIZATION).
158 *  10-31-07  02.00.04  Added missing SEPDevHandle field to
159 *                      MPI2_CONFIG_PAGE_SAS_ENCLOSURE_0.
160 *  12-18-07  02.00.05  Modified IO Unit Page 0 to use 32-bit version fields for
161 *                      NVDATA.
162 *                      Modified IOC Page 7 to use masks and added field for
163 *                      SASBroadcastPrimitiveMasks.
164 *                      Added MPI2_CONFIG_PAGE_BIOS_4.
165 *                      Added MPI2_CONFIG_PAGE_LOG_0.
166 *  02-29-08  02.00.06  Modified various names to make them 32-character unique.
167 *                      Added SAS Device IDs.
168 *                      Updated Integrated RAID configuration pages including
169 *                      Manufacturing Page 4, IOC Page 6, and RAID Configuration
170 *                      Page 0.
171 *  05-21-08  02.00.07  Added define MPI2_MANPAGE4_MIX_SSD_SAS_SATA.
172 *                      Added define MPI2_MANPAGE4_PHYSDISK_128MB_COERCION.
173 *                      Fixed define MPI2_IOCPAGE8_FLAGS_ENCLOSURE_SLOT_MAPPING.
174 *                      Added missing MaxNumRoutedSasAddresses field to
175 *                      MPI2_CONFIG_PAGE_EXPANDER_0.
176 *                      Added SAS Port Page 0.
177 *                      Modified structure layout for
178 *                      MPI2_CONFIG_PAGE_DRIVER_MAPPING_0.
179 *  06-27-08  02.00.08  Changed MPI2_CONFIG_PAGE_RD_PDISK_1 to use
180 *                      MPI2_RAID_PHYS_DISK1_PATH_MAX to size the array.
181 *  10-02-08  02.00.09  Changed MPI2_RAID_PGAD_CONFIGNUM_MASK from 0x0000FFFF
182 *                      to 0x000000FF.
183 *                      Added two new values for the Physical Disk Coercion Size
184 *                      bits in the Flags field of Manufacturing Page 4.
185 *                      Added product-specific Manufacturing pages 16 to 31.
186 *                      Modified Flags bits for controlling write cache on SATA
187 *                      drives in IO Unit Page 1.
188 *                      Added new bit to AdditionalControlFlags of SAS IO Unit
189 *                      Page 1 to control Invalid Topology Correction.
190 *                      Added SupportedPhysDisks field to RAID Volume Page 1 and
191 *                      added related defines.
192 *                      Added additional defines for RAID Volume Page 0
193 *                      VolumeStatusFlags field.
194 *                      Modified meaning of RAID Volume Page 0 VolumeSettings
195 *                      define for auto-configure of hot-swap drives.
196 *                      Added PhysDiskAttributes field (and related defines) to
197 *                      RAID Physical Disk Page 0.
198 *                      Added MPI2_SAS_PHYINFO_PHY_VACANT define.
199 *                      Added three new DiscoveryStatus bits for SAS IO Unit
200 *                      Page 0 and SAS Expander Page 0.
201 *                      Removed multiplexing information from SAS IO Unit pages.
202 *                      Added BootDeviceWaitTime field to SAS IO Unit Page 4.
203 *                      Removed Zone Address Resolved bit from PhyInfo and from
204 *                      Expander Page 0 Flags field.
205 *                      Added two new AccessStatus values to SAS Device Page 0
206 *                      for indicating routing problems. Added 3 reserved words
207 *                      to this page.
208 *  01-19-09  02.00.10  Fixed defines for GPIOVal field of IO Unit Page 3.
209 *                      Inserted missing reserved field into structure for IOC
210 *                      Page 6.
211 *                      Added more pending task bits to RAID Volume Page 0
212 *                      VolumeStatusFlags defines.
213 *                      Added MPI2_PHYSDISK0_STATUS_FLAG_NOT_CERTIFIED define.
214 *                      Added a new DiscoveryStatus bit for SAS IO Unit Page 0
215 *                      and SAS Expander Page 0 to flag a downstream initiator
216 *                      when in simplified routing mode.
217 *                      Removed SATA Init Failure defines for DiscoveryStatus
218 *                      fields of SAS IO Unit Page 0 and SAS Expander Page 0.
219 *                      Added MPI2_SAS_DEVICE0_ASTATUS_DEVICE_BLOCKED define.
220 *                      Added PortGroups, DmaGroup, and ControlGroup fields to
221 *                      SAS Device Page 0.
222 *  05-06-09  02.00.11  Added structures and defines for IO Unit Page 5 and IO
223 *                      Unit Page 6.
224 *                      Added expander reduced functionality data to SAS
225 *                      Expander Page 0.
226 *                      Added SAS PHY Page 2 and SAS PHY Page 3.
227 *  07-30-09  02.00.12  Added IO Unit Page 7.
228 *                      Added new device ids.
229 *                      Added SAS IO Unit Page 5.
230 *                      Added partial and slumber power management capable flags
231 *                      to SAS Device Page 0 Flags field.
232 *                      Added PhyInfo defines for power condition.
233 *                      Added Ethernet configuration pages.
234 *  10-28-09  02.00.13  Added MPI2_IOUNITPAGE1_ENABLE_HOST_BASED_DISCOVERY.
235 *                      Added SAS PHY Page 4 structure and defines.
236 *  02-10-10  02.00.14  Modified the comments for the configuration page
237 *                      structures that contain an array of data. The host
238 *                      should use the "count" field in the page data (e.g. the
239 *                      NumPhys field) to determine the number of valid elements
240 *                      in the array.
241 *                      Added/modified some MPI2_MFGPAGE_DEVID_SAS defines.
242 *                      Added PowerManagementCapabilities to IO Unit Page 7.
243 *                      Added PortWidthModGroup field to
244 *                      MPI2_SAS_IO_UNIT5_PHY_PM_SETTINGS.
245 *                      Added MPI2_CONFIG_PAGE_SASIOUNIT_6 and related defines.
246 *                      Added MPI2_CONFIG_PAGE_SASIOUNIT_7 and related defines.
247 *                      Added MPI2_CONFIG_PAGE_SASIOUNIT_8 and related defines.
248 *  05-12-10  02.00.15  Added MPI2_RAIDVOL0_STATUS_FLAG_VOL_NOT_CONSISTENT
249 *                      define.
250 *                      Added MPI2_PHYSDISK0_INCOMPATIBLE_MEDIA_TYPE define.
251 *                      Added MPI2_SAS_NEG_LINK_RATE_UNSUPPORTED_PHY define.
252 *  08-11-10  02.00.16  Removed IO Unit Page 1 device path (multi-pathing)
253 *                      defines.
254 *  11-10-10  02.00.17  Added ReceptacleID field (replacing Reserved1) to
255 *                      MPI2_MANPAGE7_CONNECTOR_INFO and reworked defines for
256 *                      the Pinout field.
257 *                      Added BoardTemperature and BoardTemperatureUnits fields
258 *                      to MPI2_CONFIG_PAGE_IO_UNIT_7.
259 *                      Added MPI2_CONFIG_EXTPAGETYPE_EXT_MANUFACTURING define
260 *                      and MPI2_CONFIG_PAGE_EXT_MAN_PS structure.
261 *  02-23-11  02.00.18  Added ProxyVF_ID field to MPI2_CONFIG_REQUEST.
262 *                      Added IO Unit Page 8, IO Unit Page 9,
263 *                      and IO Unit Page 10.
264 *                      Added SASNotifyPrimitiveMasks field to
265 *                      MPI2_CONFIG_PAGE_IOC_7.
266 *  03-09-11  02.00.19  Fixed IO Unit Page 10 (to match the spec).
267 *  05-25-11  02.00.20  Cleaned up a few comments.
268 *  08-24-11  02.00.21  Marked the IO Unit Page 7 PowerManagementCapabilities
269 *                      for PCIe link as obsolete.
270 *                      Added SpinupFlags field containing a Disable Spin-up bit
271 *                      to the MPI2_SAS_IOUNIT4_SPINUP_GROUP fields of SAS IO
272 *                      Unit Page 4.
273 *  11-18-11  02.00.22  Added define MPI2_IOCPAGE6_CAP_FLAGS_4K_SECTORS_SUPPORT.
274 *                      Added UEFIVersion field to BIOS Page 1 and defined new
275 *                      BiosOptions bits.
276 *                      Incorporating additions for MPI v2.5.
277 *  11-27-12  02.00.23  Added MPI2_MANPAGE7_FLAG_EVENTREPLAY_SLOT_ORDER.
278 *                      Added MPI2_BIOSPAGE1_OPTIONS_MASK_OEM_ID.
279 *  12-20-12  02.00.24  Marked MPI2_SASIOUNIT1_CONTROL_CLEAR_AFFILIATION as
280 *                      obsolete for MPI v2.5 and later.
281 *                      Added some defines for 12G SAS speeds.
282 *  04-09-13  02.00.25  Added MPI2_IOUNITPAGE1_ATA_SECURITY_FREEZE_LOCK.
283 *                      Fixed MPI2_IOUNITPAGE5_DMA_CAP_MASK_MAX_REQUESTS to
284 *                      match the specification.
285 *  08-19-13  02.00.26  Added reserved words to MPI2_CONFIG_PAGE_IO_UNIT_7 for
286 *                      future use.
287 *  12-05-13  02.00.27  Added MPI2_MANPAGE7_FLAG_BASE_ENCLOSURE_LEVEL for
288 *                      MPI2_CONFIG_PAGE_MAN_7.
289 *                      Added EnclosureLevel and ConnectorName fields to
290 *                      MPI2_CONFIG_PAGE_SAS_DEV_0.
291 *                      Added MPI2_SAS_DEVICE0_FLAGS_ENCL_LEVEL_VALID for
292 *                      MPI2_CONFIG_PAGE_SAS_DEV_0.
293 *                      Added EnclosureLevel field to
294 *                      MPI2_CONFIG_PAGE_SAS_ENCLOSURE_0.
295 *                      Added MPI2_SAS_ENCLS0_FLAGS_ENCL_LEVEL_VALID for
296 *                      MPI2_CONFIG_PAGE_SAS_ENCLOSURE_0.
297 *  --------------------------------------------------------------------------
298
299mpi2_init.h
300 *  04-30-07  02.00.00  Corresponds to Fusion-MPT MPI Specification Rev A.
301 *  10-31-07  02.00.01  Fixed name for pMpi2SCSITaskManagementRequest_t.
302 *  12-18-07  02.00.02  Modified Task Management Target Reset Method defines.
303 *  02-29-08  02.00.03  Added Query Task Set and Query Unit Attention.
304 *  03-03-08  02.00.04  Fixed name of struct _MPI2_SCSI_TASK_MANAGE_REPLY.
305 *  05-21-08  02.00.05  Fixed typo in name of Mpi2SepRequest_t.
306 *  10-02-08  02.00.06  Removed Untagged and No Disconnect values from SCSI IO
307 *                      Control field Task Attribute flags.
308 *                      Moved LUN field defines to mpi2.h becasue they are
309 *                      common to many structures.
310 *  05-06-09  02.00.07  Changed task management type of Query Unit Attention to
311 *                      Query Asynchronous Event.
312 *                      Defined two new bits in the SlotStatus field of the SCSI
313 *                      Enclosure Processor Request and Reply.
314 *  10-28-09  02.00.08  Added defines for decoding the ResponseInfo bytes for
315 *                      both SCSI IO Error Reply and SCSI Task Management Reply.
316 *                      Added ResponseInfo field to MPI2_SCSI_TASK_MANAGE_REPLY.
317 *                      Added MPI2_SCSITASKMGMT_RSP_TM_OVERLAPPED_TAG define.
318 *  02-10-10  02.00.09  Removed unused structure that had "#if 0" around it.
319 *  05-12-10  02.00.10  Added optional vendor-unique region to SCSI IO Request.
320 *  11-10-10  02.00.11  Added MPI2_SCSIIO_NUM_SGLOFFSETS define.
321 *  11-18-11  02.00.12  Incorporating additions for MPI v2.5.
322 *  02-06-12  02.00.13  Added alternate defines for Task Priority / Command
323 *                      Priority to match SAM-4.
324 *                      Added EEDPErrorOffset to MPI2_SCSI_IO_REPLY.
325 *  07-10-12  02.00.14  Added MPI2_SCSIIO_CONTROL_SHIFT_DATADIRECTION.
326 *  --------------------------------------------------------------------------
327
328mpi2_ioc.h
329 *  04-30-07  02.00.00  Corresponds to Fusion-MPT MPI Specification Rev A.
330 *  06-04-07  02.00.01  In IOCFacts Reply structure, renamed MaxDevices to
331 *                      MaxTargets.
332 *                      Added TotalImageSize field to FWDownload Request.
333 *                      Added reserved words to FWUpload Request.
334 *  06-26-07  02.00.02  Added IR Configuration Change List Event.
335 *  08-31-07  02.00.03  Removed SystemReplyQueueDepth field from the IOCInit
336 *                      request and replaced it with
337 *                      ReplyDescriptorPostQueueDepth and ReplyFreeQueueDepth.
338 *                      Replaced the MinReplyQueueDepth field of the IOCFacts
339 *                      reply with MaxReplyDescriptorPostQueueDepth.
340 *                      Added MPI2_RDPQ_DEPTH_MIN define to specify the minimum
341 *                      depth for the Reply Descriptor Post Queue.
342 *                      Added SASAddress field to Initiator Device Table
343 *                      Overflow Event data.
344 *  10-31-07  02.00.04  Added ReasonCode MPI2_EVENT_SAS_INIT_RC_NOT_RESPONDING
345 *                      for SAS Initiator Device Status Change Event data.
346 *                      Modified Reason Code defines for SAS Topology Change
347 *                      List Event data, including adding a bit for PHY Vacant
348 *                      status, and adding a mask for the Reason Code.
349 *                      Added define for
350 *                      MPI2_EVENT_SAS_TOPO_ES_DELAY_NOT_RESPONDING.
351 *                      Added define for MPI2_EXT_IMAGE_TYPE_MEGARAID.
352 *  12-18-07  02.00.05  Added Boot Status defines for the IOCExceptions field of
353 *                      the IOCFacts Reply.
354 *                      Removed MPI2_IOCFACTS_CAPABILITY_EXTENDED_BUFFER define.
355 *                      Moved MPI2_VERSION_UNION to mpi2.h.
356 *                      Changed MPI2_EVENT_NOTIFICATION_REQUEST to use masks
357 *                      instead of enables, and added SASBroadcastPrimitiveMasks
358 *                      field.
359 *                      Added Log Entry Added Event and related structure.
360 *  02-29-08  02.00.06  Added define MPI2_IOCFACTS_CAPABILITY_INTEGRATED_RAID.
361 *                      Removed define MPI2_IOCFACTS_PROTOCOL_SMP_TARGET.
362 *                      Added MaxVolumes and MaxPersistentEntries fields to
363 *                      IOCFacts reply.
364 *                      Added ProtocalFlags and IOCCapabilities fields to
365 *                      MPI2_FW_IMAGE_HEADER.
366 *                      Removed MPI2_PORTENABLE_FLAGS_ENABLE_SINGLE_PORT.
367 *  03-03-08  02.00.07  Fixed MPI2_FW_IMAGE_HEADER by changing Reserved26 to
368 *                      a U16 (from a U32).
369 *                      Removed extra 's' from EventMasks name.
370 *  06-27-08  02.00.08  Fixed an offset in a comment.
371 *  10-02-08  02.00.09  Removed SystemReplyFrameSize from MPI2_IOC_INIT_REQUEST.
372 *                      Removed CurReplyFrameSize from MPI2_IOC_FACTS_REPLY and
373 *                      renamed MinReplyFrameSize to ReplyFrameSize.
374 *                      Added MPI2_IOCFACTS_EXCEPT_IR_FOREIGN_CONFIG_MAX.
375 *                      Added two new RAIDOperation values for Integrated RAID
376 *                      Operations Status Event data.
377 *                      Added four new IR Configuration Change List Event data
378 *                      ReasonCode values.
379 *                      Added two new ReasonCode defines for SAS Device Status
380 *                      Change Event data.
381 *                      Added three new DiscoveryStatus bits for the SAS
382 *                      Discovery event data.
383 *                      Added Multiplexing Status Change bit to the PhyStatus
384 *                      field of the SAS Topology Change List event data.
385 *                      Removed define for MPI2_INIT_IMAGE_BOOTFLAGS_XMEMCOPY.
386 *                      BootFlags are now product-specific.
387 *                      Added defines for the indivdual signature bytes
388 *                      for MPI2_INIT_IMAGE_FOOTER.
389 *  01-19-09  02.00.10  Added MPI2_IOCFACTS_CAPABILITY_EVENT_REPLAY define.
390 *                      Added MPI2_EVENT_SAS_DISC_DS_DOWNSTREAM_INITIATOR
391 *                      define.
392 *                      Added MPI2_EVENT_SAS_DEV_STAT_RC_SATA_INIT_FAILURE
393 *                      define.
394 *                      Removed MPI2_EVENT_SAS_DISC_DS_SATA_INIT_FAILURE define.
395 *  05-06-09  02.00.11  Added MPI2_IOCFACTS_CAPABILITY_RAID_ACCELERATOR define.
396 *                      Added MPI2_IOCFACTS_CAPABILITY_MSI_X_INDEX define.
397 *                      Added two new reason codes for SAS Device Status Change
398 *                      Event.
399 *                      Added new event: SAS PHY Counter.
400 *  07-30-09  02.00.12  Added GPIO Interrupt event define and structure.
401 *                      Added MPI2_IOCFACTS_CAPABILITY_EXTENDED_BUFFER define.
402 *                      Added new product id family for 2208.
403 *  10-28-09  02.00.13  Added HostMSIxVectors field to MPI2_IOC_INIT_REQUEST.
404 *                      Added MaxMSIxVectors field to MPI2_IOC_FACTS_REPLY.
405 *                      Added MinDevHandle field to MPI2_IOC_FACTS_REPLY.
406 *                      Added MPI2_IOCFACTS_CAPABILITY_HOST_BASED_DISCOVERY.
407 *                      Added MPI2_EVENT_HOST_BASED_DISCOVERY_PHY define.
408 *                      Added MPI2_EVENT_SAS_TOPO_ES_NO_EXPANDER define.
409 *                      Added Host Based Discovery Phy Event data.
410 *                      Added defines for ProductID Product field
411 *                      (MPI2_FW_HEADER_PID_).
412 *                      Modified values for SAS ProductID Family
413 *                      (MPI2_FW_HEADER_PID_FAMILY_).
414 *  02-10-10  02.00.14  Added SAS Quiesce Event structure and defines.
415 *                      Added PowerManagementControl Request structures and
416 *                      defines.
417 *  05-12-10  02.00.15  Marked Task Set Full Event as obsolete.
418 *                      Added MPI2_EVENT_SAS_TOPO_LR_UNSUPPORTED_PHY define.
419 *  11-10-10  02.00.16  Added MPI2_FW_DOWNLOAD_ITYPE_MIN_PRODUCT_SPECIFIC.
420 *  02-23-11  02.00.17  Added SAS NOTIFY Primitive event, and added
421 *                      SASNotifyPrimitiveMasks field to
422 *                      MPI2_EVENT_NOTIFICATION_REQUEST.
423 *                      Added Temperature Threshold Event.
424 *                      Added Host Message Event.
425 *                      Added Send Host Message request and reply.
426 *  05-25-11  02.00.18  For Extended Image Header, added
427 *                      MPI2_EXT_IMAGE_TYPE_MIN_PRODUCT_SPECIFIC and
428 *                      MPI2_EXT_IMAGE_TYPE_MAX_PRODUCT_SPECIFIC defines.
429 *                      Deprecated MPI2_EXT_IMAGE_TYPE_MAX define.
430 *  08-24-11  02.00.19  Added PhysicalPort field to
431 *                      MPI2_EVENT_DATA_SAS_DEVICE_STATUS_CHANGE structure.
432 *                      Marked MPI2_PM_CONTROL_FEATURE_PCIE_LINK as obsolete.
433 *  11-18-11  02.00.20  Incorporating additions for MPI v2.5.
434 *  03-29-12  02.00.21  Added a product specific range to event values.
435 *  07-26-12  02.00.22  Added MPI2_IOCFACTS_EXCEPT_PARTIAL_MEMORY_FAILURE.
436 *                      Added ElapsedSeconds field to
437 *                      MPI2_EVENT_DATA_IR_OPERATION_STATUS.
438 *  08-19-13  02.00.23  For IOCInit, added MPI2_IOCINIT_MSGFLAG_RDPQ_ARRAY_MODE
439 *                      and MPI2_IOC_INIT_RDPQ_ARRAY_ENTRY.
440 *                      Added MPI2_IOCFACTS_CAPABILITY_RDPQ_ARRAY_CAPABLE.
441 *                      Added MPI2_FW_DOWNLOAD_ITYPE_PUBLIC_KEY.
442 *                      Added Encrypted Hash Extended Image.
443 *  12-05-13  02.00.24  Added MPI25_HASH_IMAGE_TYPE_BIOS.
444 *  --------------------------------------------------------------------------
445
446mpi2_raid.h
447 *  04-30-07  02.00.00  Corresponds to Fusion-MPT MPI Specification Rev A.
448 *  08-31-07  02.00.01  Modifications to RAID Action request and reply,
449 *                      including the Actions and ActionData.
450 *  02-29-08  02.00.02  Added MPI2_RAID_ACTION_ADATA_DISABL_FULL_REBUILD.
451 *  05-21-08  02.00.03  Added MPI2_RAID_VOL_CREATION_NUM_PHYSDISKS so that
452 *                      the PhysDisk array in MPI2_RAID_VOLUME_CREATION_STRUCT
453 *                      can be sized by the build environment.
454 *  07-30-09  02.00.04  Added proper define for the Use Default Settings bit of
455 *                      VolumeCreationFlags and marked the old one as obsolete.
456 *  05-12-10  02.00.05  Added MPI2_RAID_VOL_FLAGS_OP_MDC define.
457 *  08-24-10  02.00.06  Added MPI2_RAID_ACTION_COMPATIBILITY_CHECK along with
458 *                      related structures and defines.
459 *                      Added product-specific range to RAID Action values.
460 *  11-18-11  02.00.07  Incorporating additions for MPI v2.5.
461 *  02-06-12  02.00.08  Added MPI2_RAID_ACTION_PHYSDISK_HIDDEN.
462 *  07-26-12  02.00.09  Added ElapsedSeconds field to MPI2_RAID_VOL_INDICATOR.
463 *                      Added MPI2_RAID_VOL_FLAGS_ELAPSED_SECONDS_VALID define.
464 *  04-17-13  02.00.10  Added MPI25_RAID_ACTION_ADATA_ALLOW_PI.
465 *  --------------------------------------------------------------------------
466
467mpi2_sas.h
468 *  04-30-07  02.00.00  Corresponds to Fusion-MPT MPI Specification Rev A.
469 *  06-26-07  02.00.01  Added Clear All Persistent Operation to SAS IO Unit
470 *                      Control Request.
471 *  10-02-08  02.00.02  Added Set IOC Parameter Operation to SAS IO Unit Control
472 *                      Request.
473 *  10-28-09  02.00.03  Changed the type of SGL in MPI2_SATA_PASSTHROUGH_REQUEST
474 *                      to MPI2_SGE_IO_UNION since it supports chained SGLs.
475 *  05-12-10  02.00.04  Modified some comments.
476 *  08-11-10  02.00.05  Added NCQ operations to SAS IO Unit Control.
477 *  11-18-11  02.00.06  Incorporating additions for MPI v2.5.
478 *  07-10-12  02.00.07  Added MPI2_SATA_PT_SGE_UNION for use in the SATA
479 *                      Passthrough Request message.
480 *  08-19-13  02.00.08  Made MPI2_SAS_OP_TRANSMIT_PORT_SELECT_SIGNAL obsolete
481 *                      for anything newer than MPI v2.0.
482 *  --------------------------------------------------------------------------
483
484mpi2_targ.h
485 *  04-30-07  02.00.00  Corresponds to Fusion-MPT MPI Specification Rev A.
486 *  08-31-07  02.00.01  Added Command Buffer Data Location Address Space bits to
487 *                      BufferPostFlags field of CommandBufferPostBase Request.
488 *  02-29-08  02.00.02  Modified various names to make them 32-character unique.
489 *  10-02-08  02.00.03  Removed NextCmdBufferOffset from
490 *                      MPI2_TARGET_CMD_BUF_POST_BASE_REQUEST.
491 *                      Target Status Send Request only takes a single SGE for
492 *                      response data.
493 *  02-10-10  02.00.04  Added comment to MPI2_TARGET_SSP_RSP_IU structure.
494 *  11-18-11  02.00.05  Incorporating additions for MPI v2.5.
495 *  11-27-12  02.00.06  Added InitiatorDevHandle field to MPI2_TARGET_MODE_ABORT
496 *                      request message structure.
497 *                      Added AbortType MPI2_TARGET_MODE_ABORT_DEVHANDLE and
498 *                      MPI2_TARGET_MODE_ABORT_ALL_COMMANDS.
499 *  --------------------------------------------------------------------------
500
501mpi2_tool.h
502 *  04-30-07  02.00.00  Corresponds to Fusion-MPT MPI Specification Rev A.
503 *  12-18-07  02.00.01  Added Diagnostic Buffer Post and Diagnostic Release
504 *                      structures and defines.
505 *  02-29-08  02.00.02  Modified various names to make them 32-character unique.
506 *  05-06-09  02.00.03  Added ISTWI Read Write Tool and Diagnostic CLI Tool.
507 *  07-30-09  02.00.04  Added ExtendedType field to DiagnosticBufferPost request
508 *                      and reply messages.
509 *                      Added MPI2_DIAG_BUF_TYPE_EXTENDED.
510 *                      Incremented MPI2_DIAG_BUF_TYPE_COUNT.
511 *  05-12-10  02.00.05  Added Diagnostic Data Upload tool.
512 *  08-11-10  02.00.06  Added defines that were missing for Diagnostic Buffer
513 *                      Post Request.
514 *  05-25-11  02.00.07  Added Flags field and related defines to
515 *                      MPI2_TOOLBOX_ISTWI_READ_WRITE_REQUEST.
516 *  11-18-11  02.00.08  Incorporating additions for MPI v2.5.
517 *  07-10-12  02.00.09  Add MPI v2.5 Toolbox Diagnostic CLI Tool Request
518 *                      message.
519 *  07-26-12  02.00.10  Modified MPI2_TOOLBOX_DIAGNOSTIC_CLI_REQUEST so that
520 *                      it uses MPI Chain SGE as well as MPI Simple SGE.
521 *  08-19-13  02.00.11  Added MPI2_TOOLBOX_TEXT_DISPLAY_TOOL and related info.
522 *  --------------------------------------------------------------------------
523
524mpi2_type.h
525 *  04-30-07  02.00.00  Corresponds to Fusion-MPT MPI Specification Rev A.
526 *  --------------------------------------------------------------------------
527
528mpi2_ra.h
529 *  05-06-09  02.00.00  Initial version.
530 *  --------------------------------------------------------------------------
531
532mpi2_hbd.h
533 *  10-28-09  02.00.00  Initial version.
534 *  08-11-10  02.00.01  Removed PortGroups, DmaGroup, and ControlGroup from
535 *                      HBD Action request, replaced by AdditionalInfo field.
536 *  11-18-11  02.00.02  Incorporating additions for MPI v2.5.
537 *  --------------------------------------------------------------------------
538
539
540mpi2_history.txt         Parts list history
541
542Filename     02.00.33  02.00.32  02.00.31  02.00.30
543----------   --------  --------  --------  --------
544mpi2.h       02.00.33  02.00.32  02.00.31  02.00.30
545mpi2_cnfg.h  02.00.27  02.00.26  02.00.25  02.00.25
546mpi2_init.h  02.00.15  02.00.15  02.00.15  02.00.15
547mpi2_ioc.h   02.00.24  02.00.23  02.00.22  02.00.22
548mpi2_raid.h  02.00.10  02.00.10  02.00.10  02.00.09
549mpi2_sas.h   02.00.08  02.00.08  02.00.07  02.00.07
550mpi2_targ.h  02.00.06  02.00.06  02.00.06  02.00.06
551mpi2_tool.h  02.00.11  02.00.11  02.00.10  02.00.10
552mpi2_type.h  02.00.00  02.00.00  02.00.00  02.00.00
553mpi2_ra.h    02.00.00  02.00.00  02.00.00  02.00.00
554mpi2_hbd.h   02.00.02  02.00.02  02.00.02  02.00.02
555
556Filename     02.00.29  02.00.28  02.00.27  02.00.26  02.00.25  02.00.24
557----------   --------  --------  --------  --------  --------  --------
558mpi2.h       02.00.29  02.00.28  02.00.27  02.00.26  02.00.25  02.00.24
559mpi2_cnfg.h  02.00.24  02.00.23  02.00.22  02.00.22  02.00.22  02.00.22
560mpi2_init.h  02.00.14  02.00.14  02.00.14  02.00.14  02.00.13  02.00.13
561mpi2_ioc.h   02.00.22  02.00.22  02.00.22  02.00.21  02.00.21  02.00.20
562mpi2_raid.h  02.00.09  02.00.09  02.00.09  02.00.08  02.00.08  02.00.08
563mpi2_sas.h   02.00.07  02.00.07  02.00.07  02.00.07  02.00.06  02.00.06
564mpi2_targ.h  02.00.06  02.00.06  02.00.05  02.00.05  02.00.05  02.00.05
565mpi2_tool.h  02.00.10  02.00.10  02.00.10  02.00.09  02.00.08  02.00.08
566mpi2_type.h  02.00.00  02.00.00  02.00.00  02.00.00  02.00.00  02.00.00
567mpi2_ra.h    02.00.00  02.00.00  02.00.00  02.00.00  02.00.00  02.00.00
568mpi2_hbd.h   02.00.02  02.00.02  02.00.02  02.00.02  02.00.02  02.00.02
569
570Filename     02.00.23  02.00.22  02.00.21  02.00.20  02.00.19  02.00.18
571----------   --------  --------  --------  --------  --------  --------
572mpi2.h       02.00.23  02.00.22  02.00.21  02.00.20  02.00.19  02.00.18
573mpi2_cnfg.h  02.00.22  02.00.21  02.00.20  02.00.19  02.00.18  02.00.17
574mpi2_init.h  02.00.12  02.00.11  02.00.11  02.00.11  02.00.11  02.00.11
575mpi2_ioc.h   02.00.20  02.00.19  02.00.18  02.00.17  02.00.17  02.00.16
576mpi2_raid.h  02.00.07  02.00.06  02.00.05  02.00.05  02.00.05  02.00.05
577mpi2_sas.h   02.00.06  02.00.05  02.00.05  02.00.05  02.00.05  02.00.05
578mpi2_targ.h  02.00.05  02.00.04  02.00.04  02.00.04  02.00.04  02.00.04
579mpi2_tool.h  02.00.08  02.00.07  02.00.07  02.00.06  02.00.06  02.00.06
580mpi2_type.h  02.00.00  02.00.00  02.00.00  02.00.00  02.00.00  02.00.00
581mpi2_ra.h    02.00.00  02.00.00  02.00.00  02.00.00  02.00.00  02.00.00
582mpi2_hbd.h   02.00.02  02.00.01  02.00.01  02.00.01  02.00.01  02.00.01
583
584Filename     02.00.17  02.00.16  02.00.15  02.00.14  02.00.13  02.00.12
585----------   --------  --------  --------  --------  --------  --------
586mpi2.h       02.00.17  02.00.16  02.00.15  02.00.14  02.00.13  02.00.12
587mpi2_cnfg.h  02.00.16  02.00.15  02.00.14  02.00.13  02.00.12  02.00.11
588mpi2_init.h  02.00.10  02.00.10  02.00.09  02.00.08  02.00.07  02.00.07
589mpi2_ioc.h   02.00.15  02.00.15  02.00.14  02.00.13  02.00.12  02.00.11
590mpi2_raid.h  02.00.05  02.00.05  02.00.04  02.00.04  02.00.04  02.00.03
591mpi2_sas.h   02.00.05  02.00.04  02.00.03  02.00.03  02.00.02  02.00.02
592mpi2_targ.h  02.00.04  02.00.04  02.00.04  02.00.03  02.00.03  02.00.03
593mpi2_tool.h  02.00.06  02.00.05  02.00.04  02.00.04  02.00.04  02.00.03
594mpi2_type.h  02.00.00  02.00.00  02.00.00  02.00.00  02.00.00  02.00.00
595mpi2_ra.h    02.00.00  02.00.00  02.00.00  02.00.00  02.00.00  02.00.00
596mpi2_hbd.h   02.00.01  02.00.00  02.00.00  02.00.00
597
598Filename     02.00.11  02.00.10  02.00.09  02.00.08  02.00.07  02.00.06
599----------   --------  --------  --------  --------  --------  --------
600mpi2.h       02.00.11  02.00.10  02.00.09  02.00.08  02.00.07  02.00.06
601mpi2_cnfg.h  02.00.10  02.00.09  02.00.08  02.00.07  02.00.06  02.00.06
602mpi2_init.h  02.00.06  02.00.06  02.00.05  02.00.05  02.00.04  02.00.03
603mpi2_ioc.h   02.00.10  02.00.09  02.00.08  02.00.07  02.00.07  02.00.06
604mpi2_raid.h  02.00.03  02.00.03  02.00.03  02.00.03  02.00.02  02.00.02
605mpi2_sas.h   02.00.02  02.00.02  02.00.01  02.00.01  02.00.01  02.00.01
606mpi2_targ.h  02.00.03  02.00.03  02.00.02  02.00.02  02.00.02  02.00.02
607mpi2_tool.h  02.00.02  02.00.02  02.00.02  02.00.02  02.00.02  02.00.02
608mpi2_type.h  02.00.00  02.00.00  02.00.00  02.00.00  02.00.00  02.00.00
609
610Filename     02.00.05  02.00.04  02.00.03  02.00.02  02.00.01  02.00.00
611----------   --------  --------  --------  --------  --------  --------
612mpi2.h       02.00.05  02.00.04  02.00.03  02.00.02  02.00.01  02.00.00
613mpi2_cnfg.h  02.00.05  02.00.04  02.00.03  02.00.02  02.00.01  02.00.00
614mpi2_init.h  02.00.02  02.00.01  02.00.00  02.00.00  02.00.00  02.00.00
615mpi2_ioc.h   02.00.05  02.00.04  02.00.03  02.00.02  02.00.01  02.00.00
616mpi2_raid.h  02.00.01  02.00.01  02.00.01  02.00.00  02.00.00  02.00.00
617mpi2_sas.h   02.00.01  02.00.01  02.00.01  02.00.01  02.00.00  02.00.00
618mpi2_targ.h  02.00.01  02.00.01  02.00.01  02.00.00  02.00.00  02.00.00
619mpi2_tool.h  02.00.01  02.00.00  02.00.00  02.00.00  02.00.00  02.00.00
620mpi2_type.h  02.00.00  02.00.00  02.00.00  02.00.00  02.00.00  02.00.00
621
622