diff options
Diffstat (limited to 'drivers/message/fusion/lsi/mpi_ioc.h')
-rw-r--r-- | drivers/message/fusion/lsi/mpi_ioc.h | 246 |
1 files changed, 183 insertions, 63 deletions
diff --git a/drivers/message/fusion/lsi/mpi_ioc.h b/drivers/message/fusion/lsi/mpi_ioc.h index 82445d18b4d5..f91eb4efe8cc 100644 --- a/drivers/message/fusion/lsi/mpi_ioc.h +++ b/drivers/message/fusion/lsi/mpi_ioc.h | |||
@@ -1,12 +1,12 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (c) 2000-2003 LSI Logic Corporation. | 2 | * Copyright (c) 2000-2005 LSI Logic Corporation. |
3 | * | 3 | * |
4 | * | 4 | * |
5 | * Name: mpi_ioc.h | 5 | * Name: mpi_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: August 11, 2000 | 7 | * Creation Date: August 11, 2000 |
8 | * | 8 | * |
9 | * mpi_ioc.h Version: 01.05.xx | 9 | * mpi_ioc.h Version: 01.05.08 |
10 | * | 10 | * |
11 | * Version History | 11 | * Version History |
12 | * --------------- | 12 | * --------------- |
@@ -57,6 +57,30 @@ | |||
57 | * Added AliasIndex to EVENT_DATA_LOGOUT structure. | 57 | * Added AliasIndex to EVENT_DATA_LOGOUT structure. |
58 | * 04-01-03 01.02.07 Added defines for MPI_FW_HEADER_SIGNATURE_. | 58 | * 04-01-03 01.02.07 Added defines for MPI_FW_HEADER_SIGNATURE_. |
59 | * 06-26-03 01.02.08 Added new values to the product family defines. | 59 | * 06-26-03 01.02.08 Added new values to the product family defines. |
60 | * 04-29-04 01.02.09 Added IOCCapabilities field to MSG_IOC_FACTS_REPLY and | ||
61 | * added related defines. | ||
62 | * 05-11-04 01.03.01 Original release for MPI v1.3. | ||
63 | * 08-19-04 01.05.01 Added four new fields to MSG_IOC_INIT. | ||
64 | * Added three new fields to MSG_IOC_FACTS_REPLY. | ||
65 | * Defined four new bits for the IOCCapabilities field of | ||
66 | * the IOCFacts reply. | ||
67 | * Added two new PortTypes for the PortFacts reply. | ||
68 | * Added six new events along with their EventData | ||
69 | * structures. | ||
70 | * Added a new MsgFlag to the FwDownload request to | ||
71 | * indicate last segment. | ||
72 | * Defined a new image type of boot loader. | ||
73 | * Added FW family codes for SAS product families. | ||
74 | * 10-05-04 01.05.02 Added ReplyFifoHostSignalingAddr field to | ||
75 | * MSG_IOC_FACTS_REPLY. | ||
76 | * 12-07-04 01.05.03 Added more defines for SAS Discovery Error event. | ||
77 | * 12-09-04 01.05.04 Added Unsupported device to SAS Device event. | ||
78 | * 01-15-05 01.05.05 Added event data for SAS SES Event. | ||
79 | * 02-09-05 01.05.06 Added MPI_FW_UPLOAD_ITYPE_FW_BACKUP define. | ||
80 | * 02-22-05 01.05.07 Added Host Page Buffer Persistent flag to IOC Facts | ||
81 | * Reply and IOC Init Request. | ||
82 | * 03-11-05 01.05.08 Added family code for 1068E family. | ||
83 | * Removed IOCFacts Reply EEDP Capability bit. | ||
60 | * -------------------------------------------------------------------------- | 84 | * -------------------------------------------------------------------------- |
61 | */ | 85 | */ |
62 | 86 | ||
@@ -90,20 +114,37 @@ typedef struct _MSG_IOC_INIT | |||
90 | U32 HostMfaHighAddr; /* 10h */ | 114 | U32 HostMfaHighAddr; /* 10h */ |
91 | U32 SenseBufferHighAddr; /* 14h */ | 115 | U32 SenseBufferHighAddr; /* 14h */ |
92 | U32 ReplyFifoHostSignalingAddr; /* 18h */ | 116 | U32 ReplyFifoHostSignalingAddr; /* 18h */ |
117 | SGE_SIMPLE_UNION HostPageBufferSGE; /* 1Ch */ | ||
118 | U16 MsgVersion; /* 28h */ | ||
119 | U16 HeaderVersion; /* 2Ah */ | ||
93 | } MSG_IOC_INIT, MPI_POINTER PTR_MSG_IOC_INIT, | 120 | } MSG_IOC_INIT, MPI_POINTER PTR_MSG_IOC_INIT, |
94 | IOCInit_t, MPI_POINTER pIOCInit_t; | 121 | IOCInit_t, MPI_POINTER pIOCInit_t; |
95 | 122 | ||
96 | /* WhoInit values */ | 123 | /* WhoInit values */ |
97 | #define MPI_WHOINIT_NO_ONE (0x00) | 124 | #define MPI_WHOINIT_NO_ONE (0x00) |
98 | #define MPI_WHOINIT_SYSTEM_BIOS (0x01) | 125 | #define MPI_WHOINIT_SYSTEM_BIOS (0x01) |
99 | #define MPI_WHOINIT_ROM_BIOS (0x02) | 126 | #define MPI_WHOINIT_ROM_BIOS (0x02) |
100 | #define MPI_WHOINIT_PCI_PEER (0x03) | 127 | #define MPI_WHOINIT_PCI_PEER (0x03) |
101 | #define MPI_WHOINIT_HOST_DRIVER (0x04) | 128 | #define MPI_WHOINIT_HOST_DRIVER (0x04) |
102 | #define MPI_WHOINIT_MANUFACTURER (0x05) | 129 | #define MPI_WHOINIT_MANUFACTURER (0x05) |
103 | 130 | ||
104 | /* Flags values */ | 131 | /* Flags values */ |
105 | #define MPI_IOCINIT_FLAGS_DISCARD_FW_IMAGE (0x01) | 132 | #define MPI_IOCINIT_FLAGS_HOST_PAGE_BUFFER_PERSISTENT (0x04) |
106 | #define MPI_IOCINIT_FLAGS_REPLY_FIFO_HOST_SIGNAL (0x02) | 133 | #define MPI_IOCINIT_FLAGS_REPLY_FIFO_HOST_SIGNAL (0x02) |
134 | #define MPI_IOCINIT_FLAGS_DISCARD_FW_IMAGE (0x01) | ||
135 | |||
136 | /* MsgVersion */ | ||
137 | #define MPI_IOCINIT_MSGVERSION_MAJOR_MASK (0xFF00) | ||
138 | #define MPI_IOCINIT_MSGVERSION_MAJOR_SHIFT (8) | ||
139 | #define MPI_IOCINIT_MSGVERSION_MINOR_MASK (0x00FF) | ||
140 | #define MPI_IOCINIT_MSGVERSION_MINOR_SHIFT (0) | ||
141 | |||
142 | /* HeaderVersion */ | ||
143 | #define MPI_IOCINIT_HEADERVERSION_UNIT_MASK (0xFF00) | ||
144 | #define MPI_IOCINIT_HEADERVERSION_UNIT_SHIFT (8) | ||
145 | #define MPI_IOCINIT_HEADERVERSION_DEV_MASK (0x00FF) | ||
146 | #define MPI_IOCINIT_HEADERVERSION_DEV_SHIFT (0) | ||
147 | |||
107 | 148 | ||
108 | typedef struct _MSG_IOC_INIT_REPLY | 149 | typedef struct _MSG_IOC_INIT_REPLY |
109 | { | 150 | { |
@@ -187,32 +228,39 @@ typedef struct _MSG_IOC_FACTS_REPLY | |||
187 | MPI_FW_VERSION FWVersion; /* 38h */ | 228 | MPI_FW_VERSION FWVersion; /* 38h */ |
188 | U16 HighPriorityQueueDepth; /* 3Ch */ | 229 | U16 HighPriorityQueueDepth; /* 3Ch */ |
189 | U16 Reserved2; /* 3Eh */ | 230 | U16 Reserved2; /* 3Eh */ |
231 | SGE_SIMPLE_UNION HostPageBufferSGE; /* 40h */ | ||
232 | U32 ReplyFifoHostSignalingAddr; /* 4Ch */ | ||
190 | } MSG_IOC_FACTS_REPLY, MPI_POINTER PTR_MSG_IOC_FACTS_REPLY, | 233 | } MSG_IOC_FACTS_REPLY, MPI_POINTER PTR_MSG_IOC_FACTS_REPLY, |
191 | IOCFactsReply_t, MPI_POINTER pIOCFactsReply_t; | 234 | IOCFactsReply_t, MPI_POINTER pIOCFactsReply_t; |
192 | 235 | ||
193 | #define MPI_IOCFACTS_MSGVERSION_MAJOR_MASK (0xFF00) | 236 | #define MPI_IOCFACTS_MSGVERSION_MAJOR_MASK (0xFF00) |
194 | #define MPI_IOCFACTS_MSGVERSION_MINOR_MASK (0x00FF) | 237 | #define MPI_IOCFACTS_MSGVERSION_MAJOR_SHIFT (8) |
238 | #define MPI_IOCFACTS_MSGVERSION_MINOR_MASK (0x00FF) | ||
239 | #define MPI_IOCFACTS_MSGVERSION_MINOR_SHIFT (0) | ||
195 | 240 | ||
196 | #define MPI_IOCFACTS_HEADERVERSION_UNIT_MASK (0xFF00) | 241 | #define MPI_IOCFACTS_HDRVERSION_UNIT_MASK (0xFF00) |
197 | #define MPI_IOCFACTS_HEADERVERSION_DEV_MASK (0x00FF) | 242 | #define MPI_IOCFACTS_HDRVERSION_UNIT_SHIFT (8) |
243 | #define MPI_IOCFACTS_HDRVERSION_DEV_MASK (0x00FF) | ||
244 | #define MPI_IOCFACTS_HDRVERSION_DEV_SHIFT (0) | ||
198 | 245 | ||
199 | #define MPI_IOCFACTS_EXCEPT_CONFIG_CHECKSUM_FAIL (0x0001) | 246 | #define MPI_IOCFACTS_EXCEPT_CONFIG_CHECKSUM_FAIL (0x0001) |
200 | #define MPI_IOCFACTS_EXCEPT_RAID_CONFIG_INVALID (0x0002) | 247 | #define MPI_IOCFACTS_EXCEPT_RAID_CONFIG_INVALID (0x0002) |
201 | #define MPI_IOCFACTS_EXCEPT_FW_CHECKSUM_FAIL (0x0004) | 248 | #define MPI_IOCFACTS_EXCEPT_FW_CHECKSUM_FAIL (0x0004) |
202 | #define MPI_IOCFACTS_EXCEPT_PERSISTENT_TABLE_FULL (0x0008) | 249 | #define MPI_IOCFACTS_EXCEPT_PERSISTENT_TABLE_FULL (0x0008) |
203 | 250 | ||
204 | #define MPI_IOCFACTS_FLAGS_FW_DOWNLOAD_BOOT (0x01) | 251 | #define MPI_IOCFACTS_FLAGS_FW_DOWNLOAD_BOOT (0x01) |
252 | #define MPI_IOCFACTS_FLAGS_REPLY_FIFO_HOST_SIGNAL (0x02) | ||
253 | #define MPI_IOCFACTS_FLAGS_HOST_PAGE_BUFFER_PERSISTENT (0x04) | ||
205 | 254 | ||
206 | #define MPI_IOCFACTS_EVENTSTATE_DISABLED (0x00) | 255 | #define MPI_IOCFACTS_EVENTSTATE_DISABLED (0x00) |
207 | #define MPI_IOCFACTS_EVENTSTATE_ENABLED (0x01) | 256 | #define MPI_IOCFACTS_EVENTSTATE_ENABLED (0x01) |
208 | 257 | ||
209 | #define MPI_IOCFACTS_CAPABILITY_HIGH_PRI_Q (0x00000001) | 258 | #define MPI_IOCFACTS_CAPABILITY_HIGH_PRI_Q (0x00000001) |
210 | #define MPI_IOCFACTS_CAPABILITY_REPLY_HOST_SIGNAL (0x00000002) | 259 | #define MPI_IOCFACTS_CAPABILITY_REPLY_HOST_SIGNAL (0x00000002) |
211 | #define MPI_IOCFACTS_CAPABILITY_QUEUE_FULL_HANDLING (0x00000004) | 260 | #define MPI_IOCFACTS_CAPABILITY_QUEUE_FULL_HANDLING (0x00000004) |
212 | #define MPI_IOCFACTS_CAPABILITY_DIAG_TRACE_BUFFER (0x00000008) | 261 | #define MPI_IOCFACTS_CAPABILITY_DIAG_TRACE_BUFFER (0x00000008) |
213 | #define MPI_IOCFACTS_CAPABILITY_SNAPSHOT_BUFFER (0x00000010) | 262 | #define MPI_IOCFACTS_CAPABILITY_SNAPSHOT_BUFFER (0x00000010) |
214 | #define MPI_IOCFACTS_CAPABILITY_EXTENDED_BUFFER (0x00000020) | 263 | #define MPI_IOCFACTS_CAPABILITY_EXTENDED_BUFFER (0x00000020) |
215 | #define MPI_IOCFACTS_CAPABILITY_EEDP (0x00000040) | ||
216 | 264 | ||
217 | 265 | ||
218 | 266 | ||
@@ -408,6 +456,8 @@ typedef struct _MSG_EVENT_ACK_REPLY | |||
408 | #define MPI_EVENT_SAS_DEVICE_STATUS_CHANGE (0x0000000F) | 456 | #define MPI_EVENT_SAS_DEVICE_STATUS_CHANGE (0x0000000F) |
409 | #define MPI_EVENT_SAS_SES (0x00000010) | 457 | #define MPI_EVENT_SAS_SES (0x00000010) |
410 | #define MPI_EVENT_PERSISTENT_TABLE_FULL (0x00000011) | 458 | #define MPI_EVENT_PERSISTENT_TABLE_FULL (0x00000011) |
459 | #define MPI_EVENT_SAS_PHY_LINK_STATUS (0x00000012) | ||
460 | #define MPI_EVENT_SAS_DISCOVERY_ERROR (0x00000013) | ||
411 | 461 | ||
412 | /* AckRequired field values */ | 462 | /* AckRequired field values */ |
413 | 463 | ||
@@ -467,6 +517,10 @@ typedef struct _EVENT_DATA_SAS_DEVICE_STATUS_CHANGE | |||
467 | U8 ASCQ; /* 05h */ | 517 | U8 ASCQ; /* 05h */ |
468 | U16 DevHandle; /* 06h */ | 518 | U16 DevHandle; /* 06h */ |
469 | U32 DeviceInfo; /* 08h */ | 519 | U32 DeviceInfo; /* 08h */ |
520 | U16 ParentDevHandle; /* 0Ch */ | ||
521 | U8 PhyNum; /* 0Eh */ | ||
522 | U8 Reserved1; /* 0Fh */ | ||
523 | U64 SASAddress; /* 10h */ | ||
470 | } EVENT_DATA_SAS_DEVICE_STATUS_CHANGE, | 524 | } EVENT_DATA_SAS_DEVICE_STATUS_CHANGE, |
471 | MPI_POINTER PTR_EVENT_DATA_SAS_DEVICE_STATUS_CHANGE, | 525 | MPI_POINTER PTR_EVENT_DATA_SAS_DEVICE_STATUS_CHANGE, |
472 | MpiEventDataSasDeviceStatusChange_t, | 526 | MpiEventDataSasDeviceStatusChange_t, |
@@ -477,6 +531,8 @@ typedef struct _EVENT_DATA_SAS_DEVICE_STATUS_CHANGE | |||
477 | #define MPI_EVENT_SAS_DEV_STAT_RC_NOT_RESPONDING (0x04) | 531 | #define MPI_EVENT_SAS_DEV_STAT_RC_NOT_RESPONDING (0x04) |
478 | #define MPI_EVENT_SAS_DEV_STAT_RC_SMART_DATA (0x05) | 532 | #define MPI_EVENT_SAS_DEV_STAT_RC_SMART_DATA (0x05) |
479 | #define MPI_EVENT_SAS_DEV_STAT_RC_NO_PERSIST_ADDED (0x06) | 533 | #define MPI_EVENT_SAS_DEV_STAT_RC_NO_PERSIST_ADDED (0x06) |
534 | #define MPI_EVENT_SAS_DEV_STAT_RC_UNSUPPORTED (0x07) | ||
535 | |||
480 | 536 | ||
481 | /* SCSI Event data for Queue Full event */ | 537 | /* SCSI Event data for Queue Full event */ |
482 | 538 | ||
@@ -488,6 +544,35 @@ typedef struct _EVENT_DATA_QUEUE_FULL | |||
488 | } EVENT_DATA_QUEUE_FULL, MPI_POINTER PTR_EVENT_DATA_QUEUE_FULL, | 544 | } EVENT_DATA_QUEUE_FULL, MPI_POINTER PTR_EVENT_DATA_QUEUE_FULL, |
489 | EventDataQueueFull_t, MPI_POINTER pEventDataQueueFull_t; | 545 | EventDataQueueFull_t, MPI_POINTER pEventDataQueueFull_t; |
490 | 546 | ||
547 | /* MPI Integrated RAID Event data */ | ||
548 | |||
549 | typedef struct _EVENT_DATA_RAID | ||
550 | { | ||
551 | U8 VolumeID; /* 00h */ | ||
552 | U8 VolumeBus; /* 01h */ | ||
553 | U8 ReasonCode; /* 02h */ | ||
554 | U8 PhysDiskNum; /* 03h */ | ||
555 | U8 ASC; /* 04h */ | ||
556 | U8 ASCQ; /* 05h */ | ||
557 | U16 Reserved; /* 06h */ | ||
558 | U32 SettingsStatus; /* 08h */ | ||
559 | } EVENT_DATA_RAID, MPI_POINTER PTR_EVENT_DATA_RAID, | ||
560 | MpiEventDataRaid_t, MPI_POINTER pMpiEventDataRaid_t; | ||
561 | |||
562 | /* MPI Integrated RAID Event data ReasonCode values */ | ||
563 | #define MPI_EVENT_RAID_RC_VOLUME_CREATED (0x00) | ||
564 | #define MPI_EVENT_RAID_RC_VOLUME_DELETED (0x01) | ||
565 | #define MPI_EVENT_RAID_RC_VOLUME_SETTINGS_CHANGED (0x02) | ||
566 | #define MPI_EVENT_RAID_RC_VOLUME_STATUS_CHANGED (0x03) | ||
567 | #define MPI_EVENT_RAID_RC_VOLUME_PHYSDISK_CHANGED (0x04) | ||
568 | #define MPI_EVENT_RAID_RC_PHYSDISK_CREATED (0x05) | ||
569 | #define MPI_EVENT_RAID_RC_PHYSDISK_DELETED (0x06) | ||
570 | #define MPI_EVENT_RAID_RC_PHYSDISK_SETTINGS_CHANGED (0x07) | ||
571 | #define MPI_EVENT_RAID_RC_PHYSDISK_STATUS_CHANGED (0x08) | ||
572 | #define MPI_EVENT_RAID_RC_DOMAIN_VAL_NEEDED (0x09) | ||
573 | #define MPI_EVENT_RAID_RC_SMART_DATA (0x0A) | ||
574 | #define MPI_EVENT_RAID_RC_REPLACE_ACTION_STARTED (0x0B) | ||
575 | |||
491 | /* MPI Link Status Change Event data */ | 576 | /* MPI Link Status Change Event data */ |
492 | 577 | ||
493 | typedef struct _EVENT_DATA_LINK_STATUS | 578 | typedef struct _EVENT_DATA_LINK_STATUS |
@@ -535,35 +620,63 @@ typedef struct _EVENT_DATA_LOGOUT | |||
535 | 620 | ||
536 | #define MPI_EVENT_LOGOUT_ALL_ALIASES (0xFF) | 621 | #define MPI_EVENT_LOGOUT_ALL_ALIASES (0xFF) |
537 | 622 | ||
623 | /* SAS SES Event data */ | ||
538 | 624 | ||
539 | /* MPI Integrated RAID Event data */ | 625 | typedef struct _EVENT_DATA_SAS_SES |
540 | |||
541 | typedef struct _EVENT_DATA_RAID | ||
542 | { | 626 | { |
543 | U8 VolumeID; /* 00h */ | 627 | U8 PhyNum; /* 00h */ |
544 | U8 VolumeBus; /* 01h */ | 628 | U8 Port; /* 01h */ |
545 | U8 ReasonCode; /* 02h */ | 629 | U8 PortWidth; /* 02h */ |
546 | U8 PhysDiskNum; /* 03h */ | 630 | U8 Reserved1; /* 04h */ |
547 | U8 ASC; /* 04h */ | 631 | } EVENT_DATA_SAS_SES, MPI_POINTER PTR_EVENT_DATA_SAS_SES, |
548 | U8 ASCQ; /* 05h */ | 632 | MpiEventDataSasSes_t, MPI_POINTER pMpiEventDataSasSes_t; |
549 | U16 Reserved; /* 06h */ | ||
550 | U32 SettingsStatus; /* 08h */ | ||
551 | } EVENT_DATA_RAID, MPI_POINTER PTR_EVENT_DATA_RAID, | ||
552 | MpiEventDataRaid_t, MPI_POINTER pMpiEventDataRaid_t; | ||
553 | 633 | ||
554 | /* MPI Integrated RAID Event data ReasonCode values */ | 634 | /* SAS Phy Link Status Event data */ |
555 | #define MPI_EVENT_RAID_RC_VOLUME_CREATED (0x00) | 635 | |
556 | #define MPI_EVENT_RAID_RC_VOLUME_DELETED (0x01) | 636 | typedef struct _EVENT_DATA_SAS_PHY_LINK_STATUS |
557 | #define MPI_EVENT_RAID_RC_VOLUME_SETTINGS_CHANGED (0x02) | 637 | { |
558 | #define MPI_EVENT_RAID_RC_VOLUME_STATUS_CHANGED (0x03) | 638 | U8 PhyNum; /* 00h */ |
559 | #define MPI_EVENT_RAID_RC_VOLUME_PHYSDISK_CHANGED (0x04) | 639 | U8 LinkRates; /* 01h */ |
560 | #define MPI_EVENT_RAID_RC_PHYSDISK_CREATED (0x05) | 640 | U16 DevHandle; /* 02h */ |
561 | #define MPI_EVENT_RAID_RC_PHYSDISK_DELETED (0x06) | 641 | U64 SASAddress; /* 04h */ |
562 | #define MPI_EVENT_RAID_RC_PHYSDISK_SETTINGS_CHANGED (0x07) | 642 | } EVENT_DATA_SAS_PHY_LINK_STATUS, MPI_POINTER PTR_EVENT_DATA_SAS_PHY_LINK_STATUS, |
563 | #define MPI_EVENT_RAID_RC_PHYSDISK_STATUS_CHANGED (0x08) | 643 | MpiEventDataSasPhyLinkStatus_t, MPI_POINTER pMpiEventDataSasPhyLinkStatus_t; |
564 | #define MPI_EVENT_RAID_RC_DOMAIN_VAL_NEEDED (0x09) | 644 | |
565 | #define MPI_EVENT_RAID_RC_SMART_DATA (0x0A) | 645 | /* defines for the LinkRates field of the SAS PHY Link Status event */ |
566 | #define MPI_EVENT_RAID_RC_REPLACE_ACTION_STARTED (0x0B) | 646 | #define MPI_EVENT_SAS_PLS_LR_CURRENT_MASK (0xF0) |
647 | #define MPI_EVENT_SAS_PLS_LR_CURRENT_SHIFT (4) | ||
648 | #define MPI_EVENT_SAS_PLS_LR_PREVIOUS_MASK (0x0F) | ||
649 | #define MPI_EVENT_SAS_PLS_LR_PREVIOUS_SHIFT (0) | ||
650 | #define MPI_EVENT_SAS_PLS_LR_RATE_UNKNOWN (0x00) | ||
651 | #define MPI_EVENT_SAS_PLS_LR_RATE_PHY_DISABLED (0x01) | ||
652 | #define MPI_EVENT_SAS_PLS_LR_RATE_FAILED_SPEED_NEGOTIATION (0x02) | ||
653 | #define MPI_EVENT_SAS_PLS_LR_RATE_SATA_OOB_COMPLETE (0x03) | ||
654 | #define MPI_EVENT_SAS_PLS_LR_RATE_1_5 (0x08) | ||
655 | #define MPI_EVENT_SAS_PLS_LR_RATE_3_0 (0x09) | ||
656 | |||
657 | /* SAS Discovery Errror Event data */ | ||
658 | |||
659 | typedef struct _EVENT_DATA_DISCOVERY_ERROR | ||
660 | { | ||
661 | U32 DiscoveryStatus; /* 00h */ | ||
662 | U8 Port; /* 04h */ | ||
663 | U8 Reserved1; /* 05h */ | ||
664 | U16 Reserved2; /* 06h */ | ||
665 | } EVENT_DATA_DISCOVERY_ERROR, MPI_POINTER PTR_EVENT_DATA_DISCOVERY_ERROR, | ||
666 | EventDataDiscoveryError_t, MPI_POINTER pEventDataDiscoveryError_t; | ||
667 | |||
668 | #define MPI_EVENT_DSCVRY_ERR_DS_LOOP_DETECTED (0x00000001) | ||
669 | #define MPI_EVENT_DSCVRY_ERR_DS_UNADDRESSABLE_DEVICE (0x00000002) | ||
670 | #define MPI_EVENT_DSCVRY_ERR_DS_MULTIPLE_PORTS (0x00000004) | ||
671 | #define MPI_EVENT_DSCVRY_ERR_DS_EXPANDER_ERR (0x00000008) | ||
672 | #define MPI_EVENT_DSCVRY_ERR_DS_SMP_TIMEOUT (0x00000010) | ||
673 | #define MPI_EVENT_DSCVRY_ERR_DS_OUT_ROUTE_ENTRIES (0x00000020) | ||
674 | #define MPI_EVENT_DSCVRY_ERR_DS_INDEX_NOT_EXIST (0x00000040) | ||
675 | #define MPI_EVENT_DSCVRY_ERR_DS_SMP_FUNCTION_FAILED (0x00000080) | ||
676 | #define MPI_EVENT_DSCVRY_ERR_DS_SMP_CRC_ERROR (0x00000100) | ||
677 | #define MPI_EVENT_DSCVRY_ERR_DS_MULTPL_SUBTRACTIVE (0x00000200) | ||
678 | #define MPI_EVENT_DSCVRY_ERR_DS_TABLE_TO_TABLE (0x00000400) | ||
679 | #define MPI_EVENT_DSCVRY_ERR_DS_MULTPL_PATHS (0x00000800) | ||
567 | 680 | ||
568 | 681 | ||
569 | /***************************************************************************** | 682 | /***************************************************************************** |
@@ -589,11 +702,13 @@ typedef struct _MSG_FW_DOWNLOAD | |||
589 | } MSG_FW_DOWNLOAD, MPI_POINTER PTR_MSG_FW_DOWNLOAD, | 702 | } MSG_FW_DOWNLOAD, MPI_POINTER PTR_MSG_FW_DOWNLOAD, |
590 | FWDownload_t, MPI_POINTER pFWDownload_t; | 703 | FWDownload_t, MPI_POINTER pFWDownload_t; |
591 | 704 | ||
592 | #define MPI_FW_DOWNLOAD_ITYPE_RESERVED (0x00) | 705 | #define MPI_FW_DOWNLOAD_MSGFLGS_LAST_SEGMENT (0x01) |
593 | #define MPI_FW_DOWNLOAD_ITYPE_FW (0x01) | 706 | |
594 | #define MPI_FW_DOWNLOAD_ITYPE_BIOS (0x02) | 707 | #define MPI_FW_DOWNLOAD_ITYPE_RESERVED (0x00) |
595 | #define MPI_FW_DOWNLOAD_ITYPE_NVDATA (0x03) | 708 | #define MPI_FW_DOWNLOAD_ITYPE_FW (0x01) |
596 | #define MPI_FW_DOWNLOAD_ITYPE_BOOTLOADER (0x04) | 709 | #define MPI_FW_DOWNLOAD_ITYPE_BIOS (0x02) |
710 | #define MPI_FW_DOWNLOAD_ITYPE_NVDATA (0x03) | ||
711 | #define MPI_FW_DOWNLOAD_ITYPE_BOOTLOADER (0x04) | ||
597 | 712 | ||
598 | 713 | ||
599 | typedef struct _FWDownloadTCSGE | 714 | typedef struct _FWDownloadTCSGE |
@@ -647,6 +762,7 @@ typedef struct _MSG_FW_UPLOAD | |||
647 | #define MPI_FW_UPLOAD_ITYPE_BIOS_FLASH (0x02) | 762 | #define MPI_FW_UPLOAD_ITYPE_BIOS_FLASH (0x02) |
648 | #define MPI_FW_UPLOAD_ITYPE_NVDATA (0x03) | 763 | #define MPI_FW_UPLOAD_ITYPE_NVDATA (0x03) |
649 | #define MPI_FW_UPLOAD_ITYPE_BOOTLOADER (0x04) | 764 | #define MPI_FW_UPLOAD_ITYPE_BOOTLOADER (0x04) |
765 | #define MPI_FW_UPLOAD_ITYPE_FW_BACKUP (0x05) | ||
650 | 766 | ||
651 | typedef struct _FWUploadTCSGE | 767 | typedef struct _FWUploadTCSGE |
652 | { | 768 | { |
@@ -723,6 +839,7 @@ typedef struct _MPI_FW_HEADER | |||
723 | #define MPI_FW_HEADER_PID_PROD_IM_SCSI (0x0400) | 839 | #define MPI_FW_HEADER_PID_PROD_IM_SCSI (0x0400) |
724 | #define MPI_FW_HEADER_PID_PROD_IS_SCSI (0x0500) | 840 | #define MPI_FW_HEADER_PID_PROD_IS_SCSI (0x0500) |
725 | #define MPI_FW_HEADER_PID_PROD_CTX_SCSI (0x0600) | 841 | #define MPI_FW_HEADER_PID_PROD_CTX_SCSI (0x0600) |
842 | #define MPI_FW_HEADER_PID_PROD_IR_SCSI (0x0700) | ||
726 | 843 | ||
727 | #define MPI_FW_HEADER_PID_FAMILY_MASK (0x00FF) | 844 | #define MPI_FW_HEADER_PID_FAMILY_MASK (0x00FF) |
728 | /* SCSI */ | 845 | /* SCSI */ |
@@ -740,13 +857,16 @@ typedef struct _MPI_FW_HEADER | |||
740 | #define MPI_FW_HEADER_PID_FAMILY_1020TA0_SCSI (0x000C) | 857 | #define MPI_FW_HEADER_PID_FAMILY_1020TA0_SCSI (0x000C) |
741 | /* Fibre Channel */ | 858 | /* Fibre Channel */ |
742 | #define MPI_FW_HEADER_PID_FAMILY_909_FC (0x0000) | 859 | #define MPI_FW_HEADER_PID_FAMILY_909_FC (0x0000) |
743 | #define MPI_FW_HEADER_PID_FAMILY_919_FC (0x0001) | 860 | #define MPI_FW_HEADER_PID_FAMILY_919_FC (0x0001) /* 919 and 929 */ |
744 | #define MPI_FW_HEADER_PID_FAMILY_919X_FC (0x0002) | 861 | #define MPI_FW_HEADER_PID_FAMILY_919X_FC (0x0002) /* 919X and 929X */ |
745 | #define MPI_FW_HEADER_PID_FAMILY_919XL_FC (0x0003) | 862 | #define MPI_FW_HEADER_PID_FAMILY_919XL_FC (0x0003) /* 919XL and 929XL */ |
746 | #define MPI_FW_HEADER_PID_FAMILY_949_FC (0x0004) | 863 | #define MPI_FW_HEADER_PID_FAMILY_939X_FC (0x0004) /* 939X and 949X */ |
747 | #define MPI_FW_HEADER_PID_FAMILY_959_FC (0x0005) | 864 | #define MPI_FW_HEADER_PID_FAMILY_959_FC (0x0005) |
748 | /* SAS */ | 865 | /* SAS */ |
749 | #define MPI_FW_HEADER_PID_FAMILY_1064_SAS (0x0001) | 866 | #define MPI_FW_HEADER_PID_FAMILY_1064_SAS (0x0001) |
867 | #define MPI_FW_HEADER_PID_FAMILY_1068_SAS (0x0002) | ||
868 | #define MPI_FW_HEADER_PID_FAMILY_1078_SAS (0x0003) | ||
869 | #define MPI_FW_HEADER_PID_FAMILY_106xE_SAS (0x0004) /* 1068E, 1066E, and 1064E */ | ||
750 | 870 | ||
751 | typedef struct _MPI_EXT_IMAGE_HEADER | 871 | typedef struct _MPI_EXT_IMAGE_HEADER |
752 | { | 872 | { |