diff options
author | Moore, Eric <Eric.Moore@lsil.com> | 2006-01-13 18:25:23 -0500 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.(none)> | 2006-01-14 11:55:08 -0500 |
commit | 4b915a73663fe0951077ebcdaf02337ff2bddcfc (patch) | |
tree | 7a088360af29db0e2454ca324a8cf3c0e4e3e5d1 /drivers/message/fusion/lsi/mpi_ioc.h | |
parent | 816aa907b909177bdf6e6e6b0d00c5e5a6e2be8c (diff) |
[SCSI] fusion - mpi header udpate
This updates mpi headers in fusion drivers to version 1.5.12.
Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/message/fusion/lsi/mpi_ioc.h')
-rw-r--r-- | drivers/message/fusion/lsi/mpi_ioc.h | 122 |
1 files changed, 121 insertions, 1 deletions
diff --git a/drivers/message/fusion/lsi/mpi_ioc.h b/drivers/message/fusion/lsi/mpi_ioc.h index 93b70e2b426..2c5f43fa7c7 100644 --- a/drivers/message/fusion/lsi/mpi_ioc.h +++ b/drivers/message/fusion/lsi/mpi_ioc.h | |||
@@ -6,7 +6,7 @@ | |||
6 | * Title: MPI IOC, Port, Event, FW Download, and FW Upload messages | 6 | * Title: MPI IOC, Port, Event, FW Download, and FW Upload messages |
7 | * Creation Date: August 11, 2000 | 7 | * Creation Date: August 11, 2000 |
8 | * | 8 | * |
9 | * mpi_ioc.h Version: 01.05.09 | 9 | * mpi_ioc.h Version: 01.05.10 |
10 | * | 10 | * |
11 | * Version History | 11 | * Version History |
12 | * --------------- | 12 | * --------------- |
@@ -83,6 +83,10 @@ | |||
83 | * Removed IOCFacts Reply EEDP Capability bit. | 83 | * Removed IOCFacts Reply EEDP Capability bit. |
84 | * 06-24-05 01.05.09 Added 5 new IOCFacts Reply IOCCapabilities bits. | 84 | * 06-24-05 01.05.09 Added 5 new IOCFacts Reply IOCCapabilities bits. |
85 | * Added Max SATA Targets to SAS Discovery Error event. | 85 | * Added Max SATA Targets to SAS Discovery Error event. |
86 | * 08-30-05 01.05.10 Added 4 new events and their event data structures. | ||
87 | * Added new ReasonCode value for SAS Device Status Change | ||
88 | * event. | ||
89 | * Added new family code for FC949E. | ||
86 | * -------------------------------------------------------------------------- | 90 | * -------------------------------------------------------------------------- |
87 | */ | 91 | */ |
88 | 92 | ||
@@ -464,6 +468,10 @@ typedef struct _MSG_EVENT_ACK_REPLY | |||
464 | #define MPI_EVENT_PERSISTENT_TABLE_FULL (0x00000011) | 468 | #define MPI_EVENT_PERSISTENT_TABLE_FULL (0x00000011) |
465 | #define MPI_EVENT_SAS_PHY_LINK_STATUS (0x00000012) | 469 | #define MPI_EVENT_SAS_PHY_LINK_STATUS (0x00000012) |
466 | #define MPI_EVENT_SAS_DISCOVERY_ERROR (0x00000013) | 470 | #define MPI_EVENT_SAS_DISCOVERY_ERROR (0x00000013) |
471 | #define MPI_EVENT_IR_RESYNC_UPDATE (0x00000014) | ||
472 | #define MPI_EVENT_IR2 (0x00000015) | ||
473 | #define MPI_EVENT_SAS_DISCOVERY (0x00000016) | ||
474 | #define MPI_EVENT_LOG_ENTRY_ADDED (0x00000021) | ||
467 | 475 | ||
468 | /* AckRequired field values */ | 476 | /* AckRequired field values */ |
469 | 477 | ||
@@ -480,6 +488,29 @@ typedef struct _EVENT_DATA_EVENT_CHANGE | |||
480 | } EVENT_DATA_EVENT_CHANGE, MPI_POINTER PTR_EVENT_DATA_EVENT_CHANGE, | 488 | } EVENT_DATA_EVENT_CHANGE, MPI_POINTER PTR_EVENT_DATA_EVENT_CHANGE, |
481 | EventDataEventChange_t, MPI_POINTER pEventDataEventChange_t; | 489 | EventDataEventChange_t, MPI_POINTER pEventDataEventChange_t; |
482 | 490 | ||
491 | /* LogEntryAdded Event data */ | ||
492 | |||
493 | /* this structure matches MPI_LOG_0_ENTRY in mpi_cnfg.h */ | ||
494 | #define MPI_EVENT_DATA_LOG_ENTRY_DATA_LENGTH (0x1C) | ||
495 | typedef struct _EVENT_DATA_LOG_ENTRY | ||
496 | { | ||
497 | U32 TimeStamp; /* 00h */ | ||
498 | U32 Reserved1; /* 04h */ | ||
499 | U16 LogSequence; /* 08h */ | ||
500 | U16 LogEntryQualifier; /* 0Ah */ | ||
501 | U8 LogData[MPI_EVENT_DATA_LOG_ENTRY_DATA_LENGTH]; /* 0Ch */ | ||
502 | } EVENT_DATA_LOG_ENTRY, MPI_POINTER PTR_EVENT_DATA_LOG_ENTRY, | ||
503 | MpiEventDataLogEntry_t, MPI_POINTER pMpiEventDataLogEntry_t; | ||
504 | |||
505 | typedef struct _EVENT_DATA_LOG_ENTRY_ADDED | ||
506 | { | ||
507 | U16 LogSequence; /* 00h */ | ||
508 | U16 Reserved1; /* 02h */ | ||
509 | U32 Reserved2; /* 04h */ | ||
510 | EVENT_DATA_LOG_ENTRY LogEntry; /* 08h */ | ||
511 | } EVENT_DATA_LOG_ENTRY_ADDED, MPI_POINTER PTR_EVENT_DATA_LOG_ENTRY_ADDED, | ||
512 | MpiEventDataLogEntryAdded_t, MPI_POINTER pMpiEventDataLogEntryAdded_t; | ||
513 | |||
483 | /* SCSI Event data for Port, Bus and Device forms */ | 514 | /* SCSI Event data for Port, Bus and Device forms */ |
484 | 515 | ||
485 | typedef struct _EVENT_DATA_SCSI | 516 | typedef struct _EVENT_DATA_SCSI |
@@ -538,6 +569,7 @@ typedef struct _EVENT_DATA_SAS_DEVICE_STATUS_CHANGE | |||
538 | #define MPI_EVENT_SAS_DEV_STAT_RC_SMART_DATA (0x05) | 569 | #define MPI_EVENT_SAS_DEV_STAT_RC_SMART_DATA (0x05) |
539 | #define MPI_EVENT_SAS_DEV_STAT_RC_NO_PERSIST_ADDED (0x06) | 570 | #define MPI_EVENT_SAS_DEV_STAT_RC_NO_PERSIST_ADDED (0x06) |
540 | #define MPI_EVENT_SAS_DEV_STAT_RC_UNSUPPORTED (0x07) | 571 | #define MPI_EVENT_SAS_DEV_STAT_RC_UNSUPPORTED (0x07) |
572 | #define MPI_EVENT_SAS_DEV_STAT_RC_INTERNAL_DEVICE_RESET (0x08) | ||
541 | 573 | ||
542 | 574 | ||
543 | /* SCSI Event data for Queue Full event */ | 575 | /* SCSI Event data for Queue Full event */ |
@@ -579,6 +611,79 @@ typedef struct _EVENT_DATA_RAID | |||
579 | #define MPI_EVENT_RAID_RC_SMART_DATA (0x0A) | 611 | #define MPI_EVENT_RAID_RC_SMART_DATA (0x0A) |
580 | #define MPI_EVENT_RAID_RC_REPLACE_ACTION_STARTED (0x0B) | 612 | #define MPI_EVENT_RAID_RC_REPLACE_ACTION_STARTED (0x0B) |
581 | 613 | ||
614 | |||
615 | /* MPI Integrated RAID Resync Update Event data */ | ||
616 | |||
617 | typedef struct _MPI_EVENT_DATA_IR_RESYNC_UPDATE | ||
618 | { | ||
619 | U8 VolumeID; /* 00h */ | ||
620 | U8 VolumeBus; /* 01h */ | ||
621 | U8 ResyncComplete; /* 02h */ | ||
622 | U8 Reserved1; /* 03h */ | ||
623 | U32 Reserved2; /* 04h */ | ||
624 | } MPI_EVENT_DATA_IR_RESYNC_UPDATE, | ||
625 | MPI_POINTER PTR_MPI_EVENT_DATA_IR_RESYNC_UPDATE, | ||
626 | MpiEventDataIrResyncUpdate_t, MPI_POINTER pMpiEventDataIrResyncUpdate_t; | ||
627 | |||
628 | /* MPI IR2 Event data */ | ||
629 | |||
630 | /* MPI_LD_STATE or MPI_PD_STATE */ | ||
631 | typedef struct _IR2_STATE_CHANGED | ||
632 | { | ||
633 | U16 PreviousState; /* 00h */ | ||
634 | U16 NewState; /* 02h */ | ||
635 | } IR2_STATE_CHANGED, MPI_POINTER PTR_IR2_STATE_CHANGED; | ||
636 | |||
637 | typedef struct _IR2_PD_INFO | ||
638 | { | ||
639 | U16 DeviceHandle; /* 00h */ | ||
640 | U8 TruncEnclosureHandle; /* 02h */ | ||
641 | U8 TruncatedSlot; /* 03h */ | ||
642 | } IR2_PD_INFO, MPI_POINTER PTR_IR2_PD_INFO; | ||
643 | |||
644 | typedef union _MPI_IR2_RC_EVENT_DATA | ||
645 | { | ||
646 | IR2_STATE_CHANGED StateChanged; | ||
647 | U32 Lba; | ||
648 | IR2_PD_INFO PdInfo; | ||
649 | } MPI_IR2_RC_EVENT_DATA, MPI_POINTER PTR_MPI_IR2_RC_EVENT_DATA; | ||
650 | |||
651 | typedef struct _MPI_EVENT_DATA_IR2 | ||
652 | { | ||
653 | U8 TargetID; /* 00h */ | ||
654 | U8 Bus; /* 01h */ | ||
655 | U8 ReasonCode; /* 02h */ | ||
656 | U8 PhysDiskNum; /* 03h */ | ||
657 | MPI_IR2_RC_EVENT_DATA IR2EventData; /* 04h */ | ||
658 | } MPI_EVENT_DATA_IR2, MPI_POINTER PTR_MPI_EVENT_DATA_IR2, | ||
659 | MpiEventDataIR2_t, MPI_POINTER pMpiEventDataIR2_t; | ||
660 | |||
661 | /* MPI IR2 Event data ReasonCode values */ | ||
662 | #define MPI_EVENT_IR2_RC_LD_STATE_CHANGED (0x01) | ||
663 | #define MPI_EVENT_IR2_RC_PD_STATE_CHANGED (0x02) | ||
664 | #define MPI_EVENT_IR2_RC_BAD_BLOCK_TABLE_FULL (0x03) | ||
665 | #define MPI_EVENT_IR2_RC_PD_INSERTED (0x04) | ||
666 | #define MPI_EVENT_IR2_RC_PD_REMOVED (0x05) | ||
667 | #define MPI_EVENT_IR2_RC_FOREIGN_CFG_DETECTED (0x06) | ||
668 | #define MPI_EVENT_IR2_RC_REBUILD_MEDIUM_ERROR (0x07) | ||
669 | |||
670 | /* defines for logical disk states */ | ||
671 | #define MPI_LD_STATE_OPTIMAL (0x00) | ||
672 | #define MPI_LD_STATE_DEGRADED (0x01) | ||
673 | #define MPI_LD_STATE_FAILED (0x02) | ||
674 | #define MPI_LD_STATE_MISSING (0x03) | ||
675 | #define MPI_LD_STATE_OFFLINE (0x04) | ||
676 | |||
677 | /* defines for physical disk states */ | ||
678 | #define MPI_PD_STATE_ONLINE (0x00) | ||
679 | #define MPI_PD_STATE_MISSING (0x01) | ||
680 | #define MPI_PD_STATE_NOT_COMPATIBLE (0x02) | ||
681 | #define MPI_PD_STATE_FAILED (0x03) | ||
682 | #define MPI_PD_STATE_INITIALIZING (0x04) | ||
683 | #define MPI_PD_STATE_OFFLINE_AT_HOST_REQUEST (0x05) | ||
684 | #define MPI_PD_STATE_FAILED_AT_HOST_REQUEST (0x06) | ||
685 | #define MPI_PD_STATE_OFFLINE_FOR_ANOTHER_REASON (0xFF) | ||
686 | |||
582 | /* MPI Link Status Change Event data */ | 687 | /* MPI Link Status Change Event data */ |
583 | 688 | ||
584 | typedef struct _EVENT_DATA_LINK_STATUS | 689 | typedef struct _EVENT_DATA_LINK_STATUS |
@@ -660,6 +765,20 @@ typedef struct _EVENT_DATA_SAS_PHY_LINK_STATUS | |||
660 | #define MPI_EVENT_SAS_PLS_LR_RATE_1_5 (0x08) | 765 | #define MPI_EVENT_SAS_PLS_LR_RATE_1_5 (0x08) |
661 | #define MPI_EVENT_SAS_PLS_LR_RATE_3_0 (0x09) | 766 | #define MPI_EVENT_SAS_PLS_LR_RATE_3_0 (0x09) |
662 | 767 | ||
768 | /* SAS Discovery Event data */ | ||
769 | |||
770 | typedef struct _EVENT_DATA_SAS_DISCOVERY | ||
771 | { | ||
772 | U32 DiscoveryStatus; /* 00h */ | ||
773 | U32 Reserved1; /* 04h */ | ||
774 | } EVENT_DATA_SAS_DISCOVERY, MPI_POINTER PTR_EVENT_DATA_SAS_DISCOVERY, | ||
775 | EventDataSasDiscovery_t, MPI_POINTER pEventDataSasDiscovery_t; | ||
776 | |||
777 | #define MPI_EVENT_SAS_DSCVRY_COMPLETE (0x00000000) | ||
778 | #define MPI_EVENT_SAS_DSCVRY_IN_PROGRESS (0x00000001) | ||
779 | #define MPI_EVENT_SAS_DSCVRY_PHY_BITS_MASK (0xFFFF0000) | ||
780 | #define MPI_EVENT_SAS_DSCVRY_PHY_BITS_SHIFT (16) | ||
781 | |||
663 | /* SAS Discovery Errror Event data */ | 782 | /* SAS Discovery Errror Event data */ |
664 | 783 | ||
665 | typedef struct _EVENT_DATA_DISCOVERY_ERROR | 784 | typedef struct _EVENT_DATA_DISCOVERY_ERROR |
@@ -869,6 +988,7 @@ typedef struct _MPI_FW_HEADER | |||
869 | #define MPI_FW_HEADER_PID_FAMILY_919XL_FC (0x0003) /* 919XL and 929XL */ | 988 | #define MPI_FW_HEADER_PID_FAMILY_919XL_FC (0x0003) /* 919XL and 929XL */ |
870 | #define MPI_FW_HEADER_PID_FAMILY_939X_FC (0x0004) /* 939X and 949X */ | 989 | #define MPI_FW_HEADER_PID_FAMILY_939X_FC (0x0004) /* 939X and 949X */ |
871 | #define MPI_FW_HEADER_PID_FAMILY_959_FC (0x0005) | 990 | #define MPI_FW_HEADER_PID_FAMILY_959_FC (0x0005) |
991 | #define MPI_FW_HEADER_PID_FAMILY_949E_FC (0x0006) | ||
872 | /* SAS */ | 992 | /* SAS */ |
873 | #define MPI_FW_HEADER_PID_FAMILY_1064_SAS (0x0001) | 993 | #define MPI_FW_HEADER_PID_FAMILY_1064_SAS (0x0001) |
874 | #define MPI_FW_HEADER_PID_FAMILY_1068_SAS (0x0002) | 994 | #define MPI_FW_HEADER_PID_FAMILY_1068_SAS (0x0002) |