diff options
Diffstat (limited to 'drivers/message/fusion/lsi')
| -rw-r--r-- | drivers/message/fusion/lsi/fc_log.h | 89 | ||||
| -rw-r--r-- | drivers/message/fusion/lsi/mpi.h | 5 | ||||
| -rw-r--r-- | drivers/message/fusion/lsi/mpi_cnfg.h | 158 | ||||
| -rw-r--r-- | drivers/message/fusion/lsi/mpi_history.txt | 76 | ||||
| -rw-r--r-- | drivers/message/fusion/lsi/mpi_init.h | 4 | ||||
| -rw-r--r-- | drivers/message/fusion/lsi/mpi_ioc.h | 154 | ||||
| -rw-r--r-- | drivers/message/fusion/lsi/mpi_log_sas.h | 82 | ||||
| -rw-r--r-- | drivers/message/fusion/lsi/mpi_sas.h | 13 | ||||
| -rw-r--r-- | drivers/message/fusion/lsi/mpi_targ.h | 5 |
9 files changed, 413 insertions, 173 deletions
diff --git a/drivers/message/fusion/lsi/fc_log.h b/drivers/message/fusion/lsi/fc_log.h deleted file mode 100644 index dc98d46f9071..000000000000 --- a/drivers/message/fusion/lsi/fc_log.h +++ /dev/null | |||
| @@ -1,89 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (c) 2000-2001 LSI Logic Corporation. All rights reserved. | ||
| 3 | * | ||
| 4 | * NAME: fc_log.h | ||
| 5 | * SUMMARY: MPI IocLogInfo definitions for the SYMFC9xx chips | ||
| 6 | * DESCRIPTION: Contains the enumerated list of values that may be returned | ||
| 7 | * in the IOCLogInfo field of a MPI Default Reply Message. | ||
| 8 | * | ||
| 9 | * CREATION DATE: 6/02/2000 | ||
| 10 | * ID: $Id: fc_log.h,v 4.6 2001/07/26 14:41:33 sschremm Exp $ | ||
| 11 | */ | ||
| 12 | |||
| 13 | |||
| 14 | /* | ||
| 15 | * MpiIocLogInfo_t enum | ||
| 16 | * | ||
| 17 | * These 32 bit values are used in the IOCLogInfo field of the MPI reply | ||
| 18 | * messages. | ||
| 19 | * The value is 0xabcccccc where | ||
| 20 | * a = The type of log info as per the MPI spec. Since these codes are | ||
| 21 | * all for Fibre Channel this value will always be 2. | ||
| 22 | * b = Specifies a subclass of the firmware where | ||
| 23 | * 0 = FCP Initiator | ||
| 24 | * 1 = FCP Target | ||
| 25 | * 2 = LAN | ||
| 26 | * 3 = MPI Message Layer | ||
| 27 | * 4 = FC Link | ||
| 28 | * 5 = Context Manager | ||
| 29 | * 6 = Invalid Field Offset | ||
| 30 | * 7 = State Change Info | ||
| 31 | * all others are reserved for future use | ||
| 32 | * c = A specific value within the subclass. | ||
| 33 | * | ||
| 34 | * NOTE: Any new values should be added to the end of each subclass so that the | ||
| 35 | * codes remain consistent across firmware releases. | ||
| 36 | */ | ||
| 37 | typedef enum _MpiIocLogInfoFc | ||
| 38 | { | ||
| 39 | MPI_IOCLOGINFO_FC_INIT_BASE = 0x20000000, | ||
| 40 | MPI_IOCLOGINFO_FC_INIT_ERROR_OUT_OF_ORDER_FRAME = 0x20000001, /* received an out of order frame - unsupported */ | ||
| 41 | MPI_IOCLOGINFO_FC_INIT_ERROR_BAD_START_OF_FRAME = 0x20000002, /* Bad Rx Frame, bad start of frame primative */ | ||
| 42 | MPI_IOCLOGINFO_FC_INIT_ERROR_BAD_END_OF_FRAME = 0x20000003, /* Bad Rx Frame, bad end of frame primative */ | ||
| 43 | MPI_IOCLOGINFO_FC_INIT_ERROR_OVER_RUN = 0x20000004, /* Bad Rx Frame, overrun */ | ||
| 44 | MPI_IOCLOGINFO_FC_INIT_ERROR_RX_OTHER = 0x20000005, /* Other errors caught by IOC which require retries */ | ||
| 45 | MPI_IOCLOGINFO_FC_INIT_ERROR_SUBPROC_DEAD = 0x20000006, /* Main processor could not initialize sub-processor */ | ||
| 46 | MPI_IOCLOGINFO_FC_INIT_ERROR_RX_OVERRUN = 0x20000007, /* Scatter Gather overrun */ | ||
| 47 | MPI_IOCLOGINFO_FC_INIT_ERROR_RX_BAD_STATUS = 0x20000008, /* Receiver detected context mismatch via invalid header */ | ||
| 48 | MPI_IOCLOGINFO_FC_INIT_ERROR_RX_UNEXPECTED_FRAME= 0x20000009, /* CtxMgr detected unsupported frame type */ | ||
| 49 | MPI_IOCLOGINFO_FC_INIT_ERROR_LINK_FAILURE = 0x2000000A, /* Link failure occurred */ | ||
| 50 | MPI_IOCLOGINFO_FC_INIT_ERROR_TX_TIMEOUT = 0x2000000B, /* Transmitter timeout error */ | ||
| 51 | |||
| 52 | MPI_IOCLOGINFO_FC_TARGET_BASE = 0x21000000, | ||
| 53 | MPI_IOCLOGINFO_FC_TARGET_NO_PDISC = 0x21000001, /* not sent because we are waiting for a PDISC from the initiator */ | ||
| 54 | MPI_IOCLOGINFO_FC_TARGET_NO_LOGIN = 0x21000002, /* not sent because we are not logged in to the remote node */ | ||
| 55 | MPI_IOCLOGINFO_FC_TARGET_DOAR_KILLED_BY_LIP = 0x21000003, /* Data Out, Auto Response, not sent due to a LIP */ | ||
| 56 | MPI_IOCLOGINFO_FC_TARGET_DIAR_KILLED_BY_LIP = 0x21000004, /* Data In, Auto Response, not sent due to a LIP */ | ||
| 57 | MPI_IOCLOGINFO_FC_TARGET_DIAR_MISSING_DATA = 0x21000005, /* Data In, Auto Response, missing data frames */ | ||
| 58 | MPI_IOCLOGINFO_FC_TARGET_DONR_KILLED_BY_LIP = 0x21000006, /* Data Out, No Response, not sent due to a LIP */ | ||
| 59 | MPI_IOCLOGINFO_FC_TARGET_WRSP_KILLED_BY_LIP = 0x21000007, /* Auto-response after a write not sent due to a LIP */ | ||
| 60 | MPI_IOCLOGINFO_FC_TARGET_DINR_KILLED_BY_LIP = 0x21000008, /* Data In, No Response, not completed due to a LIP */ | ||
| 61 | MPI_IOCLOGINFO_FC_TARGET_DINR_MISSING_DATA = 0x21000009, /* Data In, No Response, missing data frames */ | ||
| 62 | MPI_IOCLOGINFO_FC_TARGET_MRSP_KILLED_BY_LIP = 0x2100000a, /* Manual Response not sent due to a LIP */ | ||
| 63 | MPI_IOCLOGINFO_FC_TARGET_NO_CLASS_3 = 0x2100000b, /* not sent because remote node does not support Class 3 */ | ||
| 64 | MPI_IOCLOGINFO_FC_TARGET_LOGIN_NOT_VALID = 0x2100000c, /* not sent because login to remote node not validated */ | ||
| 65 | MPI_IOCLOGINFO_FC_TARGET_FROM_OUTBOUND = 0x2100000e, /* cleared from the outbound queue after a logout */ | ||
| 66 | MPI_IOCLOGINFO_FC_TARGET_WAITING_FOR_DATA_IN = 0x2100000f, /* cleared waiting for data after a logout */ | ||
| 67 | |||
| 68 | MPI_IOCLOGINFO_FC_LAN_BASE = 0x22000000, | ||
| 69 | MPI_IOCLOGINFO_FC_LAN_TRANS_SGL_MISSING = 0x22000001, /* Transaction Context Sgl Missing */ | ||
| 70 | MPI_IOCLOGINFO_FC_LAN_TRANS_WRONG_PLACE = 0x22000002, /* Transaction Context found before an EOB */ | ||
| 71 | MPI_IOCLOGINFO_FC_LAN_TRANS_RES_BITS_SET = 0x22000003, /* Transaction Context value has reserved bits set */ | ||
| 72 | MPI_IOCLOGINFO_FC_LAN_WRONG_SGL_FLAG = 0x22000004, /* Invalid SGL Flags */ | ||
| 73 | |||
| 74 | MPI_IOCLOGINFO_FC_MSG_BASE = 0x23000000, | ||
| 75 | |||
| 76 | MPI_IOCLOGINFO_FC_LINK_BASE = 0x24000000, | ||
| 77 | MPI_IOCLOGINFO_FC_LINK_LOOP_INIT_TIMEOUT = 0x24000001, /* Loop initialization timed out */ | ||
| 78 | MPI_IOCLOGINFO_FC_LINK_ALREADY_INITIALIZED = 0x24000002, /* Another system controller already initialized the loop */ | ||
| 79 | MPI_IOCLOGINFO_FC_LINK_LINK_NOT_ESTABLISHED = 0x24000003, /* Not synchronized to signal or still negotiating (possible cable problem) */ | ||
| 80 | MPI_IOCLOGINFO_FC_LINK_CRC_ERROR = 0x24000004, /* CRC check detected error on received frame */ | ||
| 81 | |||
| 82 | MPI_IOCLOGINFO_FC_CTX_BASE = 0x25000000, | ||
| 83 | |||
| 84 | MPI_IOCLOGINFO_FC_INVALID_FIELD_BYTE_OFFSET = 0x26000000, /* The lower 24 bits give the byte offset of the field in the request message that is invalid */ | ||
| 85 | MPI_IOCLOGINFO_FC_INVALID_FIELD_MAX_OFFSET = 0x26ffffff, | ||
| 86 | |||
| 87 | MPI_IOCLOGINFO_FC_STATE_CHANGE = 0x27000000 /* The lower 24 bits give additional information concerning state change */ | ||
| 88 | |||
| 89 | } MpiIocLogInfoFc_t; | ||
diff --git a/drivers/message/fusion/lsi/mpi.h b/drivers/message/fusion/lsi/mpi.h index 02cdc840a06b..81ad77622dac 100644 --- a/drivers/message/fusion/lsi/mpi.h +++ b/drivers/message/fusion/lsi/mpi.h | |||
| @@ -6,7 +6,7 @@ | |||
| 6 | * Title: MPI Message independent structures and definitions | 6 | * Title: MPI Message independent structures and definitions |
| 7 | * Creation Date: July 27, 2000 | 7 | * Creation Date: July 27, 2000 |
| 8 | * | 8 | * |
| 9 | * mpi.h Version: 01.05.10 | 9 | * mpi.h Version: 01.05.11 |
| 10 | * | 10 | * |
| 11 | * Version History | 11 | * Version History |
| 12 | * --------------- | 12 | * --------------- |
| @@ -76,6 +76,7 @@ | |||
| 76 | * Added EEDP IOCStatus codes. | 76 | * Added EEDP IOCStatus codes. |
| 77 | * 08-03-05 01.05.09 Bumped MPI_HEADER_VERSION_UNIT. | 77 | * 08-03-05 01.05.09 Bumped MPI_HEADER_VERSION_UNIT. |
| 78 | * 08-30-05 01.05.10 Added 2 new IOCStatus codes for Target. | 78 | * 08-30-05 01.05.10 Added 2 new IOCStatus codes for Target. |
| 79 | * 03-27-06 01.05.11 Bumped MPI_HEADER_VERSION_UNIT. | ||
| 79 | * -------------------------------------------------------------------------- | 80 | * -------------------------------------------------------------------------- |
| 80 | */ | 81 | */ |
| 81 | 82 | ||
| @@ -106,7 +107,7 @@ | |||
| 106 | /* Note: The major versions of 0xe0 through 0xff are reserved */ | 107 | /* Note: The major versions of 0xe0 through 0xff are reserved */ |
| 107 | 108 | ||
| 108 | /* versioning for this MPI header set */ | 109 | /* versioning for this MPI header set */ |
| 109 | #define MPI_HEADER_VERSION_UNIT (0x0C) | 110 | #define MPI_HEADER_VERSION_UNIT (0x0D) |
| 110 | #define MPI_HEADER_VERSION_DEV (0x00) | 111 | #define MPI_HEADER_VERSION_DEV (0x00) |
| 111 | #define MPI_HEADER_VERSION_UNIT_MASK (0xFF00) | 112 | #define MPI_HEADER_VERSION_UNIT_MASK (0xFF00) |
| 112 | #define MPI_HEADER_VERSION_UNIT_SHIFT (8) | 113 | #define MPI_HEADER_VERSION_UNIT_SHIFT (8) |
diff --git a/drivers/message/fusion/lsi/mpi_cnfg.h b/drivers/message/fusion/lsi/mpi_cnfg.h index b1becec27e1b..47e13e360c10 100644 --- a/drivers/message/fusion/lsi/mpi_cnfg.h +++ b/drivers/message/fusion/lsi/mpi_cnfg.h | |||
| @@ -6,7 +6,7 @@ | |||
| 6 | * Title: MPI Config message, structures, and Pages | 6 | * Title: MPI Config message, structures, and Pages |
| 7 | * Creation Date: July 27, 2000 | 7 | * Creation Date: July 27, 2000 |
| 8 | * | 8 | * |
| 9 | * mpi_cnfg.h Version: 01.05.11 | 9 | * mpi_cnfg.h Version: 01.05.12 |
| 10 | * | 10 | * |
| 11 | * Version History | 11 | * Version History |
| 12 | * --------------- | 12 | * --------------- |
| @@ -266,6 +266,16 @@ | |||
| 266 | * Added postpone SATA Init bit to SAS IO Unit Page 1 | 266 | * Added postpone SATA Init bit to SAS IO Unit Page 1 |
| 267 | * ControlFlags. | 267 | * ControlFlags. |
| 268 | * Changed LogEntry format for Log Page 0. | 268 | * Changed LogEntry format for Log Page 0. |
| 269 | * 03-27-06 01.05.12 Added two new Flags defines for Manufacturing Page 4. | ||
| 270 | * Added Manufacturing Page 7. | ||
| 271 | * Added MPI_IOCPAGE2_CAP_FLAGS_RAID_64_BIT_ADDRESSING. | ||
| 272 | * Added IOC Page 6. | ||
| 273 | * Added PrevBootDeviceForm field to CONFIG_PAGE_BIOS_2. | ||
| 274 | * Added MaxLBAHigh field to RAID Volume Page 0. | ||
| 275 | * Added Nvdata version fields to SAS IO Unit Page 0. | ||
| 276 | * Added AdditionalControlFlags, MaxTargetPortConnectTime, | ||
| 277 | * ReportDeviceMissingDelay, and IODeviceMissingDelay | ||
| 278 | * fields to SAS IO Unit Page 1. | ||
| 269 | * -------------------------------------------------------------------------- | 279 | * -------------------------------------------------------------------------- |
| 270 | */ | 280 | */ |
| 271 | 281 | ||
| @@ -631,9 +641,11 @@ typedef struct _CONFIG_PAGE_MANUFACTURING_4 | |||
| 631 | } CONFIG_PAGE_MANUFACTURING_4, MPI_POINTER PTR_CONFIG_PAGE_MANUFACTURING_4, | 641 | } CONFIG_PAGE_MANUFACTURING_4, MPI_POINTER PTR_CONFIG_PAGE_MANUFACTURING_4, |
| 632 | ManufacturingPage4_t, MPI_POINTER pManufacturingPage4_t; | 642 | ManufacturingPage4_t, MPI_POINTER pManufacturingPage4_t; |
| 633 | 643 | ||
| 634 | #define MPI_MANUFACTURING4_PAGEVERSION (0x03) | 644 | #define MPI_MANUFACTURING4_PAGEVERSION (0x04) |
| 635 | 645 | ||
| 636 | /* defines for the Flags field */ | 646 | /* defines for the Flags field */ |
| 647 | #define MPI_MANPAGE4_FORCE_BAD_BLOCK_TABLE (0x80) | ||
| 648 | #define MPI_MANPAGE4_FORCE_OFFLINE_FAILOVER (0x40) | ||
| 637 | #define MPI_MANPAGE4_IME_DISABLE (0x20) | 649 | #define MPI_MANPAGE4_IME_DISABLE (0x20) |
| 638 | #define MPI_MANPAGE4_IM_DISABLE (0x10) | 650 | #define MPI_MANPAGE4_IM_DISABLE (0x10) |
| 639 | #define MPI_MANPAGE4_IS_DISABLE (0x08) | 651 | #define MPI_MANPAGE4_IS_DISABLE (0x08) |
| @@ -668,6 +680,66 @@ typedef struct _CONFIG_PAGE_MANUFACTURING_6 | |||
| 668 | #define MPI_MANUFACTURING6_PAGEVERSION (0x00) | 680 | #define MPI_MANUFACTURING6_PAGEVERSION (0x00) |
| 669 | 681 | ||
| 670 | 682 | ||
| 683 | typedef struct _MPI_MANPAGE7_CONNECTOR_INFO | ||
| 684 | { | ||
| 685 | U32 Pinout; /* 00h */ | ||
| 686 | U8 Connector[16]; /* 04h */ | ||
| 687 | U8 Location; /* 14h */ | ||
| 688 | U8 Reserved1; /* 15h */ | ||
| 689 | U16 Slot; /* 16h */ | ||
| 690 | U32 Reserved2; /* 18h */ | ||
| 691 | } MPI_MANPAGE7_CONNECTOR_INFO, MPI_POINTER PTR_MPI_MANPAGE7_CONNECTOR_INFO, | ||
| 692 | MpiManPage7ConnectorInfo_t, MPI_POINTER pMpiManPage7ConnectorInfo_t; | ||
| 693 | |||
| 694 | /* defines for the Pinout field */ | ||
| 695 | #define MPI_MANPAGE7_PINOUT_SFF_8484_L4 (0x00080000) | ||
| 696 | #define MPI_MANPAGE7_PINOUT_SFF_8484_L3 (0x00040000) | ||
| 697 | #define MPI_MANPAGE7_PINOUT_SFF_8484_L2 (0x00020000) | ||
| 698 | #define MPI_MANPAGE7_PINOUT_SFF_8484_L1 (0x00010000) | ||
| 699 | #define MPI_MANPAGE7_PINOUT_SFF_8470_L4 (0x00000800) | ||
| 700 | #define MPI_MANPAGE7_PINOUT_SFF_8470_L3 (0x00000400) | ||
| 701 | #define MPI_MANPAGE7_PINOUT_SFF_8470_L2 (0x00000200) | ||
| 702 | #define MPI_MANPAGE7_PINOUT_SFF_8470_L1 (0x00000100) | ||
| 703 | #define MPI_MANPAGE7_PINOUT_SFF_8482 (0x00000002) | ||
| 704 | #define MPI_MANPAGE7_PINOUT_CONNECTION_UNKNOWN (0x00000001) | ||
| 705 | |||
| 706 | /* defines for the Location field */ | ||
| 707 | #define MPI_MANPAGE7_LOCATION_UNKNOWN (0x01) | ||
| 708 | #define MPI_MANPAGE7_LOCATION_INTERNAL (0x02) | ||
| 709 | #define MPI_MANPAGE7_LOCATION_EXTERNAL (0x04) | ||
| 710 | #define MPI_MANPAGE7_LOCATION_SWITCHABLE (0x08) | ||
| 711 | #define MPI_MANPAGE7_LOCATION_AUTO (0x10) | ||
| 712 | #define MPI_MANPAGE7_LOCATION_NOT_PRESENT (0x20) | ||
| 713 | #define MPI_MANPAGE7_LOCATION_NOT_CONNECTED (0x80) | ||
| 714 | |||
| 715 | /* | ||
| 716 | * Host code (drivers, BIOS, utilities, etc.) should leave this define set to | ||
| 717 | * one and check NumPhys at runtime. | ||
| 718 | */ | ||
| 719 | #ifndef MPI_MANPAGE7_CONNECTOR_INFO_MAX | ||
| 720 | #define MPI_MANPAGE7_CONNECTOR_INFO_MAX (1) | ||
| 721 | #endif | ||
| 722 | |||
| 723 | typedef struct _CONFIG_PAGE_MANUFACTURING_7 | ||
| 724 | { | ||
| 725 | CONFIG_PAGE_HEADER Header; /* 00h */ | ||
| 726 | U32 Reserved1; /* 04h */ | ||
| 727 | U32 Reserved2; /* 08h */ | ||
| 728 | U32 Flags; /* 0Ch */ | ||
| 729 | U8 EnclosureName[16]; /* 10h */ | ||
| 730 | U8 NumPhys; /* 20h */ | ||
| 731 | U8 Reserved3; /* 21h */ | ||
| 732 | U16 Reserved4; /* 22h */ | ||
| 733 | MPI_MANPAGE7_CONNECTOR_INFO ConnectorInfo[MPI_MANPAGE7_CONNECTOR_INFO_MAX]; /* 24h */ | ||
| 734 | } CONFIG_PAGE_MANUFACTURING_7, MPI_POINTER PTR_CONFIG_PAGE_MANUFACTURING_7, | ||
| 735 | ManufacturingPage7_t, MPI_POINTER pManufacturingPage7_t; | ||
| 736 | |||
| 737 | #define MPI_MANUFACTURING7_PAGEVERSION (0x00) | ||
| 738 | |||
| 739 | /* defines for the Flags field */ | ||
| 740 | #define MPI_MANPAGE7_FLAG_USE_SLOT_INFO (0x00000001) | ||
| 741 | |||
| 742 | |||
| 671 | /**************************************************************************** | 743 | /**************************************************************************** |
| 672 | * IO Unit Config Pages | 744 | * IO Unit Config Pages |
| 673 | ****************************************************************************/ | 745 | ****************************************************************************/ |
| @@ -867,7 +939,7 @@ typedef struct _CONFIG_PAGE_IOC_2 | |||
| 867 | } CONFIG_PAGE_IOC_2, MPI_POINTER PTR_CONFIG_PAGE_IOC_2, | 939 | } CONFIG_PAGE_IOC_2, MPI_POINTER PTR_CONFIG_PAGE_IOC_2, |
| 868 | IOCPage2_t, MPI_POINTER pIOCPage2_t; | 940 | IOCPage2_t, MPI_POINTER pIOCPage2_t; |
| 869 | 941 | ||
| 870 | #define MPI_IOCPAGE2_PAGEVERSION (0x03) | 942 | #define MPI_IOCPAGE2_PAGEVERSION (0x04) |
| 871 | 943 | ||
| 872 | /* IOC Page 2 Capabilities flags */ | 944 | /* IOC Page 2 Capabilities flags */ |
| 873 | 945 | ||
| @@ -878,6 +950,7 @@ typedef struct _CONFIG_PAGE_IOC_2 | |||
| 878 | #define MPI_IOCPAGE2_CAP_FLAGS_RAID_6_SUPPORT (0x00000010) | 950 | #define MPI_IOCPAGE2_CAP_FLAGS_RAID_6_SUPPORT (0x00000010) |
| 879 | #define MPI_IOCPAGE2_CAP_FLAGS_RAID_10_SUPPORT (0x00000020) | 951 | #define MPI_IOCPAGE2_CAP_FLAGS_RAID_10_SUPPORT (0x00000020) |
| 880 | #define MPI_IOCPAGE2_CAP_FLAGS_RAID_50_SUPPORT (0x00000040) | 952 | #define MPI_IOCPAGE2_CAP_FLAGS_RAID_50_SUPPORT (0x00000040) |
| 953 | #define MPI_IOCPAGE2_CAP_FLAGS_RAID_64_BIT_ADDRESSING (0x10000000) | ||
| 881 | #define MPI_IOCPAGE2_CAP_FLAGS_SES_SUPPORT (0x20000000) | 954 | #define MPI_IOCPAGE2_CAP_FLAGS_SES_SUPPORT (0x20000000) |
| 882 | #define MPI_IOCPAGE2_CAP_FLAGS_SAFTE_SUPPORT (0x40000000) | 955 | #define MPI_IOCPAGE2_CAP_FLAGS_SAFTE_SUPPORT (0x40000000) |
| 883 | #define MPI_IOCPAGE2_CAP_FLAGS_CROSS_CHANNEL_SUPPORT (0x80000000) | 956 | #define MPI_IOCPAGE2_CAP_FLAGS_CROSS_CHANNEL_SUPPORT (0x80000000) |
| @@ -975,6 +1048,44 @@ typedef struct _CONFIG_PAGE_IOC_5 | |||
| 975 | 1048 | ||
| 976 | #define MPI_IOCPAGE5_PAGEVERSION (0x00) | 1049 | #define MPI_IOCPAGE5_PAGEVERSION (0x00) |
| 977 | 1050 | ||
| 1051 | typedef struct _CONFIG_PAGE_IOC_6 | ||
| 1052 | { | ||
| 1053 | CONFIG_PAGE_HEADER Header; /* 00h */ | ||
| 1054 | U32 CapabilitiesFlags; /* 04h */ | ||
| 1055 | U8 MaxDrivesIS; /* 08h */ | ||
| 1056 | U8 MaxDrivesIM; /* 09h */ | ||
| 1057 | U8 MaxDrivesIME; /* 0Ah */ | ||
| 1058 | U8 Reserved1; /* 0Bh */ | ||
| 1059 | U8 MinDrivesIS; /* 0Ch */ | ||
| 1060 | U8 MinDrivesIM; /* 0Dh */ | ||
| 1061 | U8 MinDrivesIME; /* 0Eh */ | ||
| 1062 | U8 Reserved2; /* 0Fh */ | ||
| 1063 | U8 MaxGlobalHotSpares; /* 10h */ | ||
| 1064 | U8 Reserved3; /* 11h */ | ||
| 1065 | U16 Reserved4; /* 12h */ | ||
| 1066 | U32 Reserved5; /* 14h */ | ||
| 1067 | U32 SupportedStripeSizeMapIS; /* 18h */ | ||
| 1068 | U32 SupportedStripeSizeMapIME; /* 1Ch */ | ||
| 1069 | U32 Reserved6; /* 20h */ | ||
| 1070 | U8 MetadataSize; /* 24h */ | ||
| 1071 | U8 Reserved7; /* 25h */ | ||
| 1072 | U16 Reserved8; /* 26h */ | ||
| 1073 | U16 MaxBadBlockTableEntries; /* 28h */ | ||
| 1074 | U16 Reserved9; /* 2Ah */ | ||
| 1075 | U16 IRNvsramUsage; /* 2Ch */ | ||
| 1076 | U16 Reserved10; /* 2Eh */ | ||
| 1077 | U32 IRNvsramVersion; /* 30h */ | ||
| 1078 | U32 Reserved11; /* 34h */ | ||
| 1079 | U32 Reserved12; /* 38h */ | ||
| 1080 | } CONFIG_PAGE_IOC_6, MPI_POINTER PTR_CONFIG_PAGE_IOC_6, | ||
| 1081 | IOCPage6_t, MPI_POINTER pIOCPage6_t; | ||
| 1082 | |||
| 1083 | #define MPI_IOCPAGE6_PAGEVERSION (0x00) | ||
| 1084 | |||
| 1085 | /* IOC Page 6 Capabilities Flags */ | ||
| 1086 | |||
| 1087 | #define MPI_IOCPAGE6_CAP_FLAGS_GLOBAL_HOT_SPARE (0x00000001) | ||
| 1088 | |||
| 978 | 1089 | ||
| 979 | /**************************************************************************** | 1090 | /**************************************************************************** |
| 980 | * BIOS Config Pages | 1091 | * BIOS Config Pages |
| @@ -1218,13 +1329,13 @@ typedef struct _CONFIG_PAGE_BIOS_2 | |||
| 1218 | U32 Reserved5; /* 14h */ | 1329 | U32 Reserved5; /* 14h */ |
| 1219 | U32 Reserved6; /* 18h */ | 1330 | U32 Reserved6; /* 18h */ |
| 1220 | U8 BootDeviceForm; /* 1Ch */ | 1331 | U8 BootDeviceForm; /* 1Ch */ |
| 1221 | U8 Reserved7; /* 1Dh */ | 1332 | U8 PrevBootDeviceForm; /* 1Ch */ |
| 1222 | U16 Reserved8; /* 1Eh */ | 1333 | U16 Reserved8; /* 1Eh */ |
| 1223 | MPI_BIOSPAGE2_BOOT_DEVICE BootDevice; /* 20h */ | 1334 | MPI_BIOSPAGE2_BOOT_DEVICE BootDevice; /* 20h */ |
| 1224 | } CONFIG_PAGE_BIOS_2, MPI_POINTER PTR_CONFIG_PAGE_BIOS_2, | 1335 | } CONFIG_PAGE_BIOS_2, MPI_POINTER PTR_CONFIG_PAGE_BIOS_2, |
| 1225 | BIOSPage2_t, MPI_POINTER pBIOSPage2_t; | 1336 | BIOSPage2_t, MPI_POINTER pBIOSPage2_t; |
| 1226 | 1337 | ||
| 1227 | #define MPI_BIOSPAGE2_PAGEVERSION (0x01) | 1338 | #define MPI_BIOSPAGE2_PAGEVERSION (0x02) |
| 1228 | 1339 | ||
| 1229 | #define MPI_BIOSPAGE2_FORM_MASK (0x0F) | 1340 | #define MPI_BIOSPAGE2_FORM_MASK (0x0F) |
| 1230 | #define MPI_BIOSPAGE2_FORM_ADAPTER_ORDER (0x00) | 1341 | #define MPI_BIOSPAGE2_FORM_ADAPTER_ORDER (0x00) |
| @@ -2080,7 +2191,7 @@ typedef struct _CONFIG_PAGE_RAID_VOL_0 | |||
| 2080 | RAID_VOL0_STATUS VolumeStatus; /* 08h */ | 2191 | RAID_VOL0_STATUS VolumeStatus; /* 08h */ |
| 2081 | RAID_VOL0_SETTINGS VolumeSettings; /* 0Ch */ | 2192 | RAID_VOL0_SETTINGS VolumeSettings; /* 0Ch */ |
| 2082 | U32 MaxLBA; /* 10h */ | 2193 | U32 MaxLBA; /* 10h */ |
| 2083 | U32 Reserved1; /* 14h */ | 2194 | U32 MaxLBAHigh; /* 14h */ |
| 2084 | U32 StripeSize; /* 18h */ | 2195 | U32 StripeSize; /* 18h */ |
| 2085 | U32 Reserved2; /* 1Ch */ | 2196 | U32 Reserved2; /* 1Ch */ |
| 2086 | U32 Reserved3; /* 20h */ | 2197 | U32 Reserved3; /* 20h */ |
| @@ -2092,7 +2203,7 @@ typedef struct _CONFIG_PAGE_RAID_VOL_0 | |||
| 2092 | } CONFIG_PAGE_RAID_VOL_0, MPI_POINTER PTR_CONFIG_PAGE_RAID_VOL_0, | 2203 | } CONFIG_PAGE_RAID_VOL_0, MPI_POINTER PTR_CONFIG_PAGE_RAID_VOL_0, |
| 2093 | RaidVolumePage0_t, MPI_POINTER pRaidVolumePage0_t; | 2204 | RaidVolumePage0_t, MPI_POINTER pRaidVolumePage0_t; |
| 2094 | 2205 | ||
| 2095 | #define MPI_RAIDVOLPAGE0_PAGEVERSION (0x05) | 2206 | #define MPI_RAIDVOLPAGE0_PAGEVERSION (0x06) |
| 2096 | 2207 | ||
| 2097 | /* values for RAID Volume Page 0 InactiveStatus field */ | 2208 | /* values for RAID Volume Page 0 InactiveStatus field */ |
| 2098 | #define MPI_RAIDVOLPAGE0_UNKNOWN_INACTIVE (0x00) | 2209 | #define MPI_RAIDVOLPAGE0_UNKNOWN_INACTIVE (0x00) |
| @@ -2324,7 +2435,8 @@ typedef struct _MPI_SAS_IO_UNIT0_PHY_DATA | |||
| 2324 | typedef struct _CONFIG_PAGE_SAS_IO_UNIT_0 | 2435 | typedef struct _CONFIG_PAGE_SAS_IO_UNIT_0 |
| 2325 | { | 2436 | { |
| 2326 | CONFIG_EXTENDED_PAGE_HEADER Header; /* 00h */ | 2437 | CONFIG_EXTENDED_PAGE_HEADER Header; /* 00h */ |
| 2327 | U32 Reserved1; /* 08h */ | 2438 | U16 NvdataVersionDefault; /* 08h */ |
| 2439 | U16 NvdataVersionPersistent; /* 0Ah */ | ||
| 2328 | U8 NumPhys; /* 0Ch */ | 2440 | U8 NumPhys; /* 0Ch */ |
| 2329 | U8 Reserved2; /* 0Dh */ | 2441 | U8 Reserved2; /* 0Dh */ |
| 2330 | U16 Reserved3; /* 0Eh */ | 2442 | U16 Reserved3; /* 0Eh */ |
| @@ -2332,7 +2444,7 @@ typedef struct _CONFIG_PAGE_SAS_IO_UNIT_0 | |||
| 2332 | } CONFIG_PAGE_SAS_IO_UNIT_0, MPI_POINTER PTR_CONFIG_PAGE_SAS_IO_UNIT_0, | 2444 | } CONFIG_PAGE_SAS_IO_UNIT_0, MPI_POINTER PTR_CONFIG_PAGE_SAS_IO_UNIT_0, |
| 2333 | SasIOUnitPage0_t, MPI_POINTER pSasIOUnitPage0_t; | 2445 | SasIOUnitPage0_t, MPI_POINTER pSasIOUnitPage0_t; |
| 2334 | 2446 | ||
| 2335 | #define MPI_SASIOUNITPAGE0_PAGEVERSION (0x03) | 2447 | #define MPI_SASIOUNITPAGE0_PAGEVERSION (0x04) |
| 2336 | 2448 | ||
| 2337 | /* values for SAS IO Unit Page 0 PortFlags */ | 2449 | /* values for SAS IO Unit Page 0 PortFlags */ |
| 2338 | #define MPI_SAS_IOUNIT0_PORT_FLAGS_DISCOVERY_IN_PROGRESS (0x08) | 2450 | #define MPI_SAS_IOUNIT0_PORT_FLAGS_DISCOVERY_IN_PROGRESS (0x08) |
| @@ -2373,12 +2485,13 @@ typedef struct _CONFIG_PAGE_SAS_IO_UNIT_0 | |||
| 2373 | 2485 | ||
| 2374 | typedef struct _MPI_SAS_IO_UNIT1_PHY_DATA | 2486 | typedef struct _MPI_SAS_IO_UNIT1_PHY_DATA |
| 2375 | { | 2487 | { |
| 2376 | U8 Port; /* 00h */ | 2488 | U8 Port; /* 00h */ |
| 2377 | U8 PortFlags; /* 01h */ | 2489 | U8 PortFlags; /* 01h */ |
| 2378 | U8 PhyFlags; /* 02h */ | 2490 | U8 PhyFlags; /* 02h */ |
| 2379 | U8 MaxMinLinkRate; /* 03h */ | 2491 | U8 MaxMinLinkRate; /* 03h */ |
| 2380 | U32 ControllerPhyDeviceInfo;/* 04h */ | 2492 | U32 ControllerPhyDeviceInfo; /* 04h */ |
| 2381 | U32 Reserved1; /* 08h */ | 2493 | U16 MaxTargetPortConnectTime; /* 08h */ |
| 2494 | U16 Reserved1; /* 0Ah */ | ||
| 2382 | } MPI_SAS_IO_UNIT1_PHY_DATA, MPI_POINTER PTR_MPI_SAS_IO_UNIT1_PHY_DATA, | 2495 | } MPI_SAS_IO_UNIT1_PHY_DATA, MPI_POINTER PTR_MPI_SAS_IO_UNIT1_PHY_DATA, |
| 2383 | SasIOUnit1PhyData, MPI_POINTER pSasIOUnit1PhyData; | 2496 | SasIOUnit1PhyData, MPI_POINTER pSasIOUnit1PhyData; |
| 2384 | 2497 | ||
| @@ -2395,15 +2508,17 @@ typedef struct _CONFIG_PAGE_SAS_IO_UNIT_1 | |||
| 2395 | CONFIG_EXTENDED_PAGE_HEADER Header; /* 00h */ | 2508 | CONFIG_EXTENDED_PAGE_HEADER Header; /* 00h */ |
| 2396 | U16 ControlFlags; /* 08h */ | 2509 | U16 ControlFlags; /* 08h */ |
| 2397 | U16 MaxNumSATATargets; /* 0Ah */ | 2510 | U16 MaxNumSATATargets; /* 0Ah */ |
| 2398 | U32 Reserved1; /* 0Ch */ | 2511 | U16 AdditionalControlFlags; /* 0Ch */ |
| 2512 | U16 Reserved1; /* 0Eh */ | ||
| 2399 | U8 NumPhys; /* 10h */ | 2513 | U8 NumPhys; /* 10h */ |
| 2400 | U8 SATAMaxQDepth; /* 11h */ | 2514 | U8 SATAMaxQDepth; /* 11h */ |
| 2401 | U16 Reserved2; /* 12h */ | 2515 | U8 ReportDeviceMissingDelay; /* 12h */ |
| 2516 | U8 IODeviceMissingDelay; /* 13h */ | ||
| 2402 | MPI_SAS_IO_UNIT1_PHY_DATA PhyData[MPI_SAS_IOUNIT1_PHY_MAX]; /* 14h */ | 2517 | MPI_SAS_IO_UNIT1_PHY_DATA PhyData[MPI_SAS_IOUNIT1_PHY_MAX]; /* 14h */ |
| 2403 | } CONFIG_PAGE_SAS_IO_UNIT_1, MPI_POINTER PTR_CONFIG_PAGE_SAS_IO_UNIT_1, | 2518 | } CONFIG_PAGE_SAS_IO_UNIT_1, MPI_POINTER PTR_CONFIG_PAGE_SAS_IO_UNIT_1, |
| 2404 | SasIOUnitPage1_t, MPI_POINTER pSasIOUnitPage1_t; | 2519 | SasIOUnitPage1_t, MPI_POINTER pSasIOUnitPage1_t; |
| 2405 | 2520 | ||
| 2406 | #define MPI_SASIOUNITPAGE1_PAGEVERSION (0x05) | 2521 | #define MPI_SASIOUNITPAGE1_PAGEVERSION (0x06) |
| 2407 | 2522 | ||
| 2408 | /* values for SAS IO Unit Page 1 ControlFlags */ | 2523 | /* values for SAS IO Unit Page 1 ControlFlags */ |
| 2409 | #define MPI_SAS_IOUNIT1_CONTROL_DEVICE_SELF_TEST (0x8000) | 2524 | #define MPI_SAS_IOUNIT1_CONTROL_DEVICE_SELF_TEST (0x8000) |
| @@ -2428,6 +2543,13 @@ typedef struct _CONFIG_PAGE_SAS_IO_UNIT_1 | |||
| 2428 | #define MPI_SAS_IOUNIT1_CONTROL_FIRST_LVL_DISC_ONLY (0x0002) | 2543 | #define MPI_SAS_IOUNIT1_CONTROL_FIRST_LVL_DISC_ONLY (0x0002) |
| 2429 | #define MPI_SAS_IOUNIT1_CONTROL_CLEAR_AFFILIATION (0x0001) | 2544 | #define MPI_SAS_IOUNIT1_CONTROL_CLEAR_AFFILIATION (0x0001) |
| 2430 | 2545 | ||
| 2546 | /* values for SAS IO Unit Page 1 AdditionalControlFlags */ | ||
| 2547 | #define MPI_SAS_IOUNIT1_ACONTROL_ALLOW_TABLE_TO_TABLE (0x0001) | ||
| 2548 | |||
| 2549 | /* defines for SAS IO Unit Page 1 ReportDeviceMissingDelay */ | ||
| 2550 | #define MPI_SAS_IOUNIT1_REPORT_MISSING_TIMEOUT_MASK (0x7F) | ||
| 2551 | #define MPI_SAS_IOUNIT1_REPORT_MISSING_UNIT_16 (0x80) | ||
| 2552 | |||
| 2431 | /* values for SAS IO Unit Page 1 PortFlags */ | 2553 | /* values for SAS IO Unit Page 1 PortFlags */ |
| 2432 | #define MPI_SAS_IOUNIT1_PORT_FLAGS_0_TARGET_IOC_NUM (0x00) | 2554 | #define MPI_SAS_IOUNIT1_PORT_FLAGS_0_TARGET_IOC_NUM (0x00) |
| 2433 | #define MPI_SAS_IOUNIT1_PORT_FLAGS_1_TARGET_IOC_NUM (0x04) | 2555 | #define MPI_SAS_IOUNIT1_PORT_FLAGS_1_TARGET_IOC_NUM (0x04) |
diff --git a/drivers/message/fusion/lsi/mpi_history.txt b/drivers/message/fusion/lsi/mpi_history.txt index 4a5f8dd1d766..582cfe7c2aa1 100644 --- a/drivers/message/fusion/lsi/mpi_history.txt +++ b/drivers/message/fusion/lsi/mpi_history.txt | |||
| @@ -6,25 +6,25 @@ | |||
| 6 | Copyright (c) 2000-2005 LSI Logic Corporation. | 6 | Copyright (c) 2000-2005 LSI Logic Corporation. |
| 7 | 7 | ||
| 8 | --------------------------------------- | 8 | --------------------------------------- |
| 9 | Header Set Release Version: 01.05.12 | 9 | Header Set Release Version: 01.05.13 |
| 10 | Header Set Release Date: 08-30-05 | 10 | Header Set Release Date: 03-27-06 |
| 11 | --------------------------------------- | 11 | --------------------------------------- |
| 12 | 12 | ||
| 13 | Filename Current version Prior version | 13 | Filename Current version Prior version |
| 14 | ---------- --------------- ------------- | 14 | ---------- --------------- ------------- |
| 15 | mpi.h 01.05.10 01.05.09 | 15 | mpi.h 01.05.11 01.05.10 |
| 16 | mpi_ioc.h 01.05.10 01.05.09 | 16 | mpi_ioc.h 01.05.11 01.05.10 |
| 17 | mpi_cnfg.h 01.05.11 01.05.10 | 17 | mpi_cnfg.h 01.05.12 01.05.11 |
| 18 | mpi_init.h 01.05.06 01.05.06 | 18 | mpi_init.h 01.05.07 01.05.06 |
| 19 | mpi_targ.h 01.05.05 01.05.05 | 19 | mpi_targ.h 01.05.06 01.05.05 |
| 20 | mpi_fc.h 01.05.01 01.05.01 | 20 | mpi_fc.h 01.05.01 01.05.01 |
| 21 | mpi_lan.h 01.05.01 01.05.01 | 21 | mpi_lan.h 01.05.01 01.05.01 |
| 22 | mpi_raid.h 01.05.02 01.05.02 | 22 | mpi_raid.h 01.05.02 01.05.02 |
| 23 | mpi_tool.h 01.05.03 01.05.03 | 23 | mpi_tool.h 01.05.03 01.05.03 |
| 24 | mpi_inb.h 01.05.01 01.05.01 | 24 | mpi_inb.h 01.05.01 01.05.01 |
| 25 | mpi_sas.h 01.05.02 01.05.01 | 25 | mpi_sas.h 01.05.03 01.05.02 |
| 26 | mpi_type.h 01.05.02 01.05.01 | 26 | mpi_type.h 01.05.02 01.05.02 |
| 27 | mpi_history.txt 01.05.12 01.05.11 | 27 | mpi_history.txt 01.05.13 01.05.12 |
| 28 | 28 | ||
| 29 | 29 | ||
| 30 | * Date Version Description | 30 | * Date Version Description |
| @@ -93,6 +93,7 @@ mpi.h | |||
| 93 | * Added EEDP IOCStatus codes. | 93 | * Added EEDP IOCStatus codes. |
| 94 | * 08-03-05 01.05.09 Bumped MPI_HEADER_VERSION_UNIT. | 94 | * 08-03-05 01.05.09 Bumped MPI_HEADER_VERSION_UNIT. |
| 95 | * 08-30-05 01.05.10 Added 2 new IOCStatus codes for Target. | 95 | * 08-30-05 01.05.10 Added 2 new IOCStatus codes for Target. |
| 96 | * 03-27-06 01.05.11 Bumped MPI_HEADER_VERSION_UNIT. | ||
| 96 | * -------------------------------------------------------------------------- | 97 | * -------------------------------------------------------------------------- |
| 97 | 98 | ||
| 98 | mpi_ioc.h | 99 | mpi_ioc.h |
| @@ -170,6 +171,17 @@ mpi_ioc.h | |||
| 170 | * Added new ReasonCode value for SAS Device Status Change | 171 | * Added new ReasonCode value for SAS Device Status Change |
| 171 | * event. | 172 | * event. |
| 172 | * Added new family code for FC949E. | 173 | * Added new family code for FC949E. |
| 174 | * 03-27-06 01.05.11 Added MPI_IOCFACTS_CAPABILITY_TLR. | ||
| 175 | * Added additional Reason Codes and more event data fields | ||
| 176 | * to EVENT_DATA_SAS_DEVICE_STATUS_CHANGE. | ||
| 177 | * Added EVENT_DATA_SAS_BROADCAST_PRIMITIVE structure and | ||
| 178 | * new event. | ||
| 179 | * Added MPI_EVENT_SAS_SMP_ERROR and event data structure. | ||
| 180 | * Added MPI_EVENT_SAS_INIT_DEVICE_STATUS_CHANGE and event | ||
| 181 | * data structure. | ||
| 182 | * Added MPI_EVENT_SAS_INIT_TABLE_OVERFLOW and event | ||
| 183 | * data structure. | ||
| 184 | * Added MPI_EXT_IMAGE_TYPE_INITIALIZATION. | ||
| 173 | * -------------------------------------------------------------------------- | 185 | * -------------------------------------------------------------------------- |
| 174 | 186 | ||
| 175 | mpi_cnfg.h | 187 | mpi_cnfg.h |
| @@ -425,6 +437,16 @@ mpi_cnfg.h | |||
| 425 | * Added postpone SATA Init bit to SAS IO Unit Page 1 | 437 | * Added postpone SATA Init bit to SAS IO Unit Page 1 |
| 426 | * ControlFlags. | 438 | * ControlFlags. |
| 427 | * Changed LogEntry format for Log Page 0. | 439 | * Changed LogEntry format for Log Page 0. |
| 440 | * 03-27-06 01.05.12 Added two new Flags defines for Manufacturing Page 4. | ||
| 441 | * Added Manufacturing Page 7. | ||
| 442 | * Added MPI_IOCPAGE2_CAP_FLAGS_RAID_64_BIT_ADDRESSING. | ||
| 443 | * Added IOC Page 6. | ||
| 444 | * Added PrevBootDeviceForm field to CONFIG_PAGE_BIOS_2. | ||
| 445 | * Added MaxLBAHigh field to RAID Volume Page 0. | ||
| 446 | * Added Nvdata version fields to SAS IO Unit Page 0. | ||
| 447 | * Added AdditionalControlFlags, MaxTargetPortConnectTime, | ||
| 448 | * ReportDeviceMissingDelay, and IODeviceMissingDelay | ||
| 449 | * fields to SAS IO Unit Page 1. | ||
| 428 | * -------------------------------------------------------------------------- | 450 | * -------------------------------------------------------------------------- |
| 429 | 451 | ||
| 430 | mpi_init.h | 452 | mpi_init.h |
| @@ -467,6 +489,7 @@ mpi_init.h | |||
| 467 | * Added four new defines for SEP SlotStatus. | 489 | * Added four new defines for SEP SlotStatus. |
| 468 | * 08-03-05 01.05.06 Fixed some MPI_SCSIIO32_MSGFLGS_ defines to make them | 490 | * 08-03-05 01.05.06 Fixed some MPI_SCSIIO32_MSGFLGS_ defines to make them |
| 469 | * unique in the first 32 characters. | 491 | * unique in the first 32 characters. |
| 492 | * 03-27-06 01.05.07 Added Task Management type of Clear ACA. | ||
| 470 | * -------------------------------------------------------------------------- | 493 | * -------------------------------------------------------------------------- |
| 471 | 494 | ||
| 472 | mpi_targ.h | 495 | mpi_targ.h |
| @@ -511,6 +534,7 @@ mpi_targ.h | |||
| 511 | * 02-22-05 01.05.03 Changed a comment. | 534 | * 02-22-05 01.05.03 Changed a comment. |
| 512 | * 03-11-05 01.05.04 Removed TargetAssistExtended Request. | 535 | * 03-11-05 01.05.04 Removed TargetAssistExtended Request. |
| 513 | * 06-24-05 01.05.05 Added TargetAssistExtended structures and defines. | 536 | * 06-24-05 01.05.05 Added TargetAssistExtended structures and defines. |
| 537 | * 03-27-06 01.05.06 Added a comment. | ||
| 514 | * -------------------------------------------------------------------------- | 538 | * -------------------------------------------------------------------------- |
| 515 | 539 | ||
| 516 | mpi_fc.h | 540 | mpi_fc.h |
| @@ -610,6 +634,10 @@ mpi_sas.h | |||
| 610 | * 08-30-05 01.05.02 Added DeviceInfo bit for SEP. | 634 | * 08-30-05 01.05.02 Added DeviceInfo bit for SEP. |
| 611 | * Added PrimFlags and Primitive field to SAS IO Unit | 635 | * Added PrimFlags and Primitive field to SAS IO Unit |
| 612 | * Control request, and added a new operation code. | 636 | * Control request, and added a new operation code. |
| 637 | * 03-27-06 01.05.03 Added Force Full Discovery, Transmit Port Select Signal, | ||
| 638 | * and Remove Device operations to SAS IO Unit Control. | ||
| 639 | * Added DevHandle field to SAS IO Unit Control request and | ||
| 640 | * reply. | ||
| 613 | * -------------------------------------------------------------------------- | 641 | * -------------------------------------------------------------------------- |
| 614 | 642 | ||
| 615 | mpi_type.h | 643 | mpi_type.h |
| @@ -625,20 +653,20 @@ mpi_type.h | |||
| 625 | 653 | ||
| 626 | mpi_history.txt Parts list history | 654 | mpi_history.txt Parts list history |
| 627 | 655 | ||
| 628 | Filename 01.05.12 01.05.11 01.05.10 01.05.09 | 656 | Filename 01.05.13 01.05.12 01.05.11 01.05.10 01.05.09 |
| 629 | ---------- -------- -------- -------- -------- | 657 | ---------- -------- -------- -------- -------- -------- |
| 630 | mpi.h 01.05.10 01.05.09 01.05.08 01.05.07 | 658 | mpi.h 01.05.11 01.05.10 01.05.09 01.05.08 01.05.07 |
| 631 | mpi_ioc.h 01.05.10 01.05.09 01.05.09 01.05.08 | 659 | mpi_ioc.h 01.05.11 01.05.10 01.05.09 01.05.09 01.05.08 |
| 632 | mpi_cnfg.h 01.05.11 01.05.10 01.05.09 01.05.08 | 660 | mpi_cnfg.h 01.05.12 01.05.11 01.05.10 01.05.09 01.05.08 |
| 633 | mpi_init.h 01.05.06 01.05.06 01.05.05 01.05.04 | 661 | mpi_init.h 01.05.07 01.05.06 01.05.06 01.05.05 01.05.04 |
| 634 | mpi_targ.h 01.05.05 01.05.05 01.05.05 01.05.04 | 662 | mpi_targ.h 01.05.06 01.05.05 01.05.05 01.05.05 01.05.04 |
| 635 | mpi_fc.h 01.05.01 01.05.01 01.05.01 01.05.01 | 663 | mpi_fc.h 01.05.01 01.05.01 01.05.01 01.05.01 01.05.01 |
| 636 | mpi_lan.h 01.05.01 01.05.01 01.05.01 01.05.01 | 664 | mpi_lan.h 01.05.01 01.05.01 01.05.01 01.05.01 01.05.01 |
| 637 | mpi_raid.h 01.05.02 01.05.02 01.05.02 01.05.02 | 665 | mpi_raid.h 01.05.02 01.05.02 01.05.02 01.05.02 01.05.02 |
| 638 | mpi_tool.h 01.05.03 01.05.03 01.05.03 01.05.03 | 666 | mpi_tool.h 01.05.03 01.05.03 01.05.03 01.05.03 01.05.03 |
| 639 | mpi_inb.h 01.05.01 01.05.01 01.05.01 01.05.01 | 667 | mpi_inb.h 01.05.01 01.05.01 01.05.01 01.05.01 01.05.01 |
| 640 | mpi_sas.h 01.05.02 01.05.01 01.05.01 01.05.01 | 668 | mpi_sas.h 01.05.03 01.05.02 01.05.01 01.05.01 01.05.01 |
| 641 | mpi_type.h 01.05.02 01.05.01 01.05.01 01.05.01 | 669 | mpi_type.h 01.05.02 01.05.02 01.05.01 01.05.01 01.05.01 |
| 642 | 670 | ||
| 643 | Filename 01.05.08 01.05.07 01.05.06 01.05.05 01.05.04 01.05.03 | 671 | Filename 01.05.08 01.05.07 01.05.06 01.05.05 01.05.04 01.05.03 |
| 644 | ---------- -------- -------- -------- -------- -------- -------- | 672 | ---------- -------- -------- -------- -------- -------- -------- |
diff --git a/drivers/message/fusion/lsi/mpi_init.h b/drivers/message/fusion/lsi/mpi_init.h index 68941f459ca3..c1c678989a23 100644 --- a/drivers/message/fusion/lsi/mpi_init.h +++ b/drivers/message/fusion/lsi/mpi_init.h | |||
| @@ -6,7 +6,7 @@ | |||
| 6 | * Title: MPI initiator mode messages and structures | 6 | * Title: MPI initiator mode messages and structures |
| 7 | * Creation Date: June 8, 2000 | 7 | * Creation Date: June 8, 2000 |
| 8 | * | 8 | * |
| 9 | * mpi_init.h Version: 01.05.06 | 9 | * mpi_init.h Version: 01.05.07 |
| 10 | * | 10 | * |
| 11 | * Version History | 11 | * Version History |
| 12 | * --------------- | 12 | * --------------- |
| @@ -52,6 +52,7 @@ | |||
| 52 | * Added four new defines for SEP SlotStatus. | 52 | * Added four new defines for SEP SlotStatus. |
| 53 | * 08-03-05 01.05.06 Fixed some MPI_SCSIIO32_MSGFLGS_ defines to make them | 53 | * 08-03-05 01.05.06 Fixed some MPI_SCSIIO32_MSGFLGS_ defines to make them |
| 54 | * unique in the first 32 characters. | 54 | * unique in the first 32 characters. |
| 55 | * 03-27-06 01.05.07 Added Task Management type of Clear ACA. | ||
| 55 | * -------------------------------------------------------------------------- | 56 | * -------------------------------------------------------------------------- |
| 56 | */ | 57 | */ |
| 57 | 58 | ||
| @@ -427,6 +428,7 @@ typedef struct _MSG_SCSI_TASK_MGMT | |||
| 427 | #define MPI_SCSITASKMGMT_TASKTYPE_LOGICAL_UNIT_RESET (0x05) | 428 | #define MPI_SCSITASKMGMT_TASKTYPE_LOGICAL_UNIT_RESET (0x05) |
| 428 | #define MPI_SCSITASKMGMT_TASKTYPE_CLEAR_TASK_SET (0x06) | 429 | #define MPI_SCSITASKMGMT_TASKTYPE_CLEAR_TASK_SET (0x06) |
| 429 | #define MPI_SCSITASKMGMT_TASKTYPE_QUERY_TASK (0x07) | 430 | #define MPI_SCSITASKMGMT_TASKTYPE_QUERY_TASK (0x07) |
| 431 | #define MPI_SCSITASKMGMT_TASKTYPE_CLEAR_ACA (0x08) | ||
| 430 | 432 | ||
| 431 | /* MsgFlags bits */ | 433 | /* MsgFlags bits */ |
| 432 | #define MPI_SCSITASKMGMT_MSGFLAGS_TARGET_RESET_OPTION (0x00) | 434 | #define MPI_SCSITASKMGMT_MSGFLAGS_TARGET_RESET_OPTION (0x00) |
diff --git a/drivers/message/fusion/lsi/mpi_ioc.h b/drivers/message/fusion/lsi/mpi_ioc.h index 2c5f43fa7c73..18ba407fd399 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.10 | 9 | * mpi_ioc.h Version: 01.05.11 |
| 10 | * | 10 | * |
| 11 | * Version History | 11 | * Version History |
| 12 | * --------------- | 12 | * --------------- |
| @@ -87,6 +87,17 @@ | |||
| 87 | * Added new ReasonCode value for SAS Device Status Change | 87 | * Added new ReasonCode value for SAS Device Status Change |
| 88 | * event. | 88 | * event. |
| 89 | * Added new family code for FC949E. | 89 | * Added new family code for FC949E. |
| 90 | * 03-27-06 01.05.11 Added MPI_IOCFACTS_CAPABILITY_TLR. | ||
| 91 | * Added additional Reason Codes and more event data fields | ||
| 92 | * to EVENT_DATA_SAS_DEVICE_STATUS_CHANGE. | ||
| 93 | * Added EVENT_DATA_SAS_BROADCAST_PRIMITIVE structure and | ||
| 94 | * new event. | ||
| 95 | * Added MPI_EVENT_SAS_SMP_ERROR and event data structure. | ||
| 96 | * Added MPI_EVENT_SAS_INIT_DEVICE_STATUS_CHANGE and event | ||
| 97 | * data structure. | ||
| 98 | * Added MPI_EVENT_SAS_INIT_TABLE_OVERFLOW and event | ||
| 99 | * data structure. | ||
| 100 | * Added MPI_EXT_IMAGE_TYPE_INITIALIZATION. | ||
| 90 | * -------------------------------------------------------------------------- | 101 | * -------------------------------------------------------------------------- |
| 91 | */ | 102 | */ |
| 92 | 103 | ||
| @@ -272,6 +283,7 @@ typedef struct _MSG_IOC_FACTS_REPLY | |||
| 272 | #define MPI_IOCFACTS_CAPABILITY_MULTICAST (0x00000100) | 283 | #define MPI_IOCFACTS_CAPABILITY_MULTICAST (0x00000100) |
| 273 | #define MPI_IOCFACTS_CAPABILITY_SCSIIO32 (0x00000200) | 284 | #define MPI_IOCFACTS_CAPABILITY_SCSIIO32 (0x00000200) |
| 274 | #define MPI_IOCFACTS_CAPABILITY_NO_SCSIIO16 (0x00000400) | 285 | #define MPI_IOCFACTS_CAPABILITY_NO_SCSIIO16 (0x00000400) |
| 286 | #define MPI_IOCFACTS_CAPABILITY_TLR (0x00000800) | ||
| 275 | 287 | ||
| 276 | 288 | ||
| 277 | /***************************************************************************** | 289 | /***************************************************************************** |
| @@ -448,30 +460,34 @@ typedef struct _MSG_EVENT_ACK_REPLY | |||
| 448 | 460 | ||
| 449 | /* Event */ | 461 | /* Event */ |
| 450 | 462 | ||
| 451 | #define MPI_EVENT_NONE (0x00000000) | 463 | #define MPI_EVENT_NONE (0x00000000) |
| 452 | #define MPI_EVENT_LOG_DATA (0x00000001) | 464 | #define MPI_EVENT_LOG_DATA (0x00000001) |
| 453 | #define MPI_EVENT_STATE_CHANGE (0x00000002) | 465 | #define MPI_EVENT_STATE_CHANGE (0x00000002) |
| 454 | #define MPI_EVENT_UNIT_ATTENTION (0x00000003) | 466 | #define MPI_EVENT_UNIT_ATTENTION (0x00000003) |
| 455 | #define MPI_EVENT_IOC_BUS_RESET (0x00000004) | 467 | #define MPI_EVENT_IOC_BUS_RESET (0x00000004) |
| 456 | #define MPI_EVENT_EXT_BUS_RESET (0x00000005) | 468 | #define MPI_EVENT_EXT_BUS_RESET (0x00000005) |
| 457 | #define MPI_EVENT_RESCAN (0x00000006) | 469 | #define MPI_EVENT_RESCAN (0x00000006) |
| 458 | #define MPI_EVENT_LINK_STATUS_CHANGE (0x00000007) | 470 | #define MPI_EVENT_LINK_STATUS_CHANGE (0x00000007) |
| 459 | #define MPI_EVENT_LOOP_STATE_CHANGE (0x00000008) | 471 | #define MPI_EVENT_LOOP_STATE_CHANGE (0x00000008) |
| 460 | #define MPI_EVENT_LOGOUT (0x00000009) | 472 | #define MPI_EVENT_LOGOUT (0x00000009) |
| 461 | #define MPI_EVENT_EVENT_CHANGE (0x0000000A) | 473 | #define MPI_EVENT_EVENT_CHANGE (0x0000000A) |
| 462 | #define MPI_EVENT_INTEGRATED_RAID (0x0000000B) | 474 | #define MPI_EVENT_INTEGRATED_RAID (0x0000000B) |
| 463 | #define MPI_EVENT_SCSI_DEVICE_STATUS_CHANGE (0x0000000C) | 475 | #define MPI_EVENT_SCSI_DEVICE_STATUS_CHANGE (0x0000000C) |
| 464 | #define MPI_EVENT_ON_BUS_TIMER_EXPIRED (0x0000000D) | 476 | #define MPI_EVENT_ON_BUS_TIMER_EXPIRED (0x0000000D) |
| 465 | #define MPI_EVENT_QUEUE_FULL (0x0000000E) | 477 | #define MPI_EVENT_QUEUE_FULL (0x0000000E) |
| 466 | #define MPI_EVENT_SAS_DEVICE_STATUS_CHANGE (0x0000000F) | 478 | #define MPI_EVENT_SAS_DEVICE_STATUS_CHANGE (0x0000000F) |
| 467 | #define MPI_EVENT_SAS_SES (0x00000010) | 479 | #define MPI_EVENT_SAS_SES (0x00000010) |
| 468 | #define MPI_EVENT_PERSISTENT_TABLE_FULL (0x00000011) | 480 | #define MPI_EVENT_PERSISTENT_TABLE_FULL (0x00000011) |
| 469 | #define MPI_EVENT_SAS_PHY_LINK_STATUS (0x00000012) | 481 | #define MPI_EVENT_SAS_PHY_LINK_STATUS (0x00000012) |
| 470 | #define MPI_EVENT_SAS_DISCOVERY_ERROR (0x00000013) | 482 | #define MPI_EVENT_SAS_DISCOVERY_ERROR (0x00000013) |
| 471 | #define MPI_EVENT_IR_RESYNC_UPDATE (0x00000014) | 483 | #define MPI_EVENT_IR_RESYNC_UPDATE (0x00000014) |
| 472 | #define MPI_EVENT_IR2 (0x00000015) | 484 | #define MPI_EVENT_IR2 (0x00000015) |
| 473 | #define MPI_EVENT_SAS_DISCOVERY (0x00000016) | 485 | #define MPI_EVENT_SAS_DISCOVERY (0x00000016) |
| 474 | #define MPI_EVENT_LOG_ENTRY_ADDED (0x00000021) | 486 | #define MPI_EVENT_SAS_BROADCAST_PRIMITIVE (0x00000017) |
| 487 | #define MPI_EVENT_SAS_INIT_DEVICE_STATUS_CHANGE (0x00000018) | ||
| 488 | #define MPI_EVENT_SAS_INIT_TABLE_OVERFLOW (0x00000019) | ||
| 489 | #define MPI_EVENT_SAS_SMP_ERROR (0x0000001A) | ||
| 490 | #define MPI_EVENT_LOG_ENTRY_ADDED (0x00000021) | ||
| 475 | 491 | ||
| 476 | /* AckRequired field values */ | 492 | /* AckRequired field values */ |
| 477 | 493 | ||
| @@ -558,18 +574,25 @@ typedef struct _EVENT_DATA_SAS_DEVICE_STATUS_CHANGE | |||
| 558 | U8 PhyNum; /* 0Eh */ | 574 | U8 PhyNum; /* 0Eh */ |
| 559 | U8 Reserved1; /* 0Fh */ | 575 | U8 Reserved1; /* 0Fh */ |
| 560 | U64 SASAddress; /* 10h */ | 576 | U64 SASAddress; /* 10h */ |
| 577 | U8 LUN[8]; /* 18h */ | ||
| 578 | U16 TaskTag; /* 20h */ | ||
| 579 | U16 Reserved2; /* 22h */ | ||
| 561 | } EVENT_DATA_SAS_DEVICE_STATUS_CHANGE, | 580 | } EVENT_DATA_SAS_DEVICE_STATUS_CHANGE, |
| 562 | MPI_POINTER PTR_EVENT_DATA_SAS_DEVICE_STATUS_CHANGE, | 581 | MPI_POINTER PTR_EVENT_DATA_SAS_DEVICE_STATUS_CHANGE, |
| 563 | MpiEventDataSasDeviceStatusChange_t, | 582 | MpiEventDataSasDeviceStatusChange_t, |
| 564 | MPI_POINTER pMpiEventDataSasDeviceStatusChange_t; | 583 | MPI_POINTER pMpiEventDataSasDeviceStatusChange_t; |
| 565 | 584 | ||
| 566 | /* MPI SAS Device Status Change Event data ReasonCode values */ | 585 | /* MPI SAS Device Status Change Event data ReasonCode values */ |
| 567 | #define MPI_EVENT_SAS_DEV_STAT_RC_ADDED (0x03) | 586 | #define MPI_EVENT_SAS_DEV_STAT_RC_ADDED (0x03) |
| 568 | #define MPI_EVENT_SAS_DEV_STAT_RC_NOT_RESPONDING (0x04) | 587 | #define MPI_EVENT_SAS_DEV_STAT_RC_NOT_RESPONDING (0x04) |
| 569 | #define MPI_EVENT_SAS_DEV_STAT_RC_SMART_DATA (0x05) | 588 | #define MPI_EVENT_SAS_DEV_STAT_RC_SMART_DATA (0x05) |
| 570 | #define MPI_EVENT_SAS_DEV_STAT_RC_NO_PERSIST_ADDED (0x06) | 589 | #define MPI_EVENT_SAS_DEV_STAT_RC_NO_PERSIST_ADDED (0x06) |
| 571 | #define MPI_EVENT_SAS_DEV_STAT_RC_UNSUPPORTED (0x07) | 590 | #define MPI_EVENT_SAS_DEV_STAT_RC_UNSUPPORTED (0x07) |
| 572 | #define MPI_EVENT_SAS_DEV_STAT_RC_INTERNAL_DEVICE_RESET (0x08) | 591 | #define MPI_EVENT_SAS_DEV_STAT_RC_INTERNAL_DEVICE_RESET (0x08) |
| 592 | #define MPI_EVENT_SAS_DEV_STAT_RC_TASK_ABORT_INTERNAL (0x09) | ||
| 593 | #define MPI_EVENT_SAS_DEV_STAT_RC_ABORT_TASK_SET_INTERNAL (0x0A) | ||
| 594 | #define MPI_EVENT_SAS_DEV_STAT_RC_CLEAR_TASK_SET_INTERNAL (0x0B) | ||
| 595 | #define MPI_EVENT_SAS_DEV_STAT_RC_QUERY_TASK_INTERNAL (0x0C) | ||
| 573 | 596 | ||
| 574 | 597 | ||
| 575 | /* SCSI Event data for Queue Full event */ | 598 | /* SCSI Event data for Queue Full event */ |
| @@ -742,6 +765,27 @@ typedef struct _EVENT_DATA_SAS_SES | |||
| 742 | } EVENT_DATA_SAS_SES, MPI_POINTER PTR_EVENT_DATA_SAS_SES, | 765 | } EVENT_DATA_SAS_SES, MPI_POINTER PTR_EVENT_DATA_SAS_SES, |
| 743 | MpiEventDataSasSes_t, MPI_POINTER pMpiEventDataSasSes_t; | 766 | MpiEventDataSasSes_t, MPI_POINTER pMpiEventDataSasSes_t; |
| 744 | 767 | ||
| 768 | /* SAS Broadcast Primitive Event data */ | ||
| 769 | |||
| 770 | typedef struct _EVENT_DATA_SAS_BROADCAST_PRIMITIVE | ||
| 771 | { | ||
| 772 | U8 PhyNum; /* 00h */ | ||
| 773 | U8 Port; /* 01h */ | ||
| 774 | U8 PortWidth; /* 02h */ | ||
| 775 | U8 Primitive; /* 04h */ | ||
| 776 | } EVENT_DATA_SAS_BROADCAST_PRIMITIVE, | ||
| 777 | MPI_POINTER PTR_EVENT_DATA_SAS_BROADCAST_PRIMITIVE, | ||
| 778 | MpiEventDataSasBroadcastPrimitive_t, | ||
| 779 | MPI_POINTER pMpiEventDataSasBroadcastPrimitive_t; | ||
| 780 | |||
| 781 | #define MPI_EVENT_PRIMITIVE_CHANGE (0x01) | ||
| 782 | #define MPI_EVENT_PRIMITIVE_EXPANDER (0x03) | ||
| 783 | #define MPI_EVENT_PRIMITIVE_RESERVED2 (0x04) | ||
| 784 | #define MPI_EVENT_PRIMITIVE_RESERVED3 (0x05) | ||
| 785 | #define MPI_EVENT_PRIMITIVE_RESERVED4 (0x06) | ||
| 786 | #define MPI_EVENT_PRIMITIVE_CHANGE0_RESERVED (0x07) | ||
| 787 | #define MPI_EVENT_PRIMITIVE_CHANGE1_RESERVED (0x08) | ||
| 788 | |||
| 745 | /* SAS Phy Link Status Event data */ | 789 | /* SAS Phy Link Status Event data */ |
| 746 | 790 | ||
| 747 | typedef struct _EVENT_DATA_SAS_PHY_LINK_STATUS | 791 | typedef struct _EVENT_DATA_SAS_PHY_LINK_STATUS |
| @@ -804,6 +848,53 @@ typedef struct _EVENT_DATA_DISCOVERY_ERROR | |||
| 804 | #define MPI_EVENT_DSCVRY_ERR_DS_MULTPL_PATHS (0x00000800) | 848 | #define MPI_EVENT_DSCVRY_ERR_DS_MULTPL_PATHS (0x00000800) |
| 805 | #define MPI_EVENT_DSCVRY_ERR_DS_MAX_SATA_TARGETS (0x00001000) | 849 | #define MPI_EVENT_DSCVRY_ERR_DS_MAX_SATA_TARGETS (0x00001000) |
| 806 | 850 | ||
| 851 | /* SAS SMP Error Event data */ | ||
| 852 | |||
| 853 | typedef struct _EVENT_DATA_SAS_SMP_ERROR | ||
| 854 | { | ||
| 855 | U8 Status; /* 00h */ | ||
| 856 | U8 Port; /* 01h */ | ||
| 857 | U8 SMPFunctionResult; /* 02h */ | ||
| 858 | U8 Reserved1; /* 03h */ | ||
| 859 | U64 SASAddress; /* 04h */ | ||
| 860 | } EVENT_DATA_SAS_SMP_ERROR, MPI_POINTER PTR_EVENT_DATA_SAS_SMP_ERROR, | ||
| 861 | MpiEventDataSasSmpError_t, MPI_POINTER pMpiEventDataSasSmpError_t; | ||
| 862 | |||
| 863 | /* defines for the Status field of the SAS SMP Error event */ | ||
| 864 | #define MPI_EVENT_SAS_SMP_FUNCTION_RESULT_VALID (0x00) | ||
| 865 | #define MPI_EVENT_SAS_SMP_CRC_ERROR (0x01) | ||
| 866 | #define MPI_EVENT_SAS_SMP_TIMEOUT (0x02) | ||
| 867 | #define MPI_EVENT_SAS_SMP_NO_DESTINATION (0x03) | ||
| 868 | #define MPI_EVENT_SAS_SMP_BAD_DESTINATION (0x04) | ||
| 869 | |||
| 870 | /* SAS Initiator Device Status Change Event data */ | ||
| 871 | |||
| 872 | typedef struct _EVENT_DATA_SAS_INIT_DEV_STATUS_CHANGE | ||
| 873 | { | ||
| 874 | U8 ReasonCode; /* 00h */ | ||
| 875 | U8 Port; /* 01h */ | ||
| 876 | U16 DevHandle; /* 02h */ | ||
| 877 | U64 SASAddress; /* 04h */ | ||
| 878 | } EVENT_DATA_SAS_INIT_DEV_STATUS_CHANGE, | ||
| 879 | MPI_POINTER PTR_EVENT_DATA_SAS_INIT_DEV_STATUS_CHANGE, | ||
| 880 | MpiEventDataSasInitDevStatusChange_t, | ||
| 881 | MPI_POINTER pMpiEventDataSasInitDevStatusChange_t; | ||
| 882 | |||
| 883 | /* defines for the ReasonCode field of the SAS Initiator Device Status Change event */ | ||
| 884 | #define MPI_EVENT_SAS_INIT_RC_ADDED (0x01) | ||
| 885 | |||
| 886 | /* SAS Initiator Device Table Overflow Event data */ | ||
| 887 | |||
| 888 | typedef struct _EVENT_DATA_SAS_INIT_TABLE_OVERFLOW | ||
| 889 | { | ||
| 890 | U8 MaxInit; /* 00h */ | ||
| 891 | U8 CurrentInit; /* 01h */ | ||
| 892 | U16 Reserved1; /* 02h */ | ||
| 893 | } EVENT_DATA_SAS_INIT_TABLE_OVERFLOW, | ||
| 894 | MPI_POINTER PTR_EVENT_DATA_SAS_INIT_TABLE_OVERFLOW, | ||
| 895 | MpiEventDataSasInitTableOverflow_t, | ||
| 896 | MPI_POINTER pMpiEventDataSasInitTableOverflow_t; | ||
| 897 | |||
| 807 | 898 | ||
| 808 | /***************************************************************************** | 899 | /***************************************************************************** |
| 809 | * | 900 | * |
| @@ -1013,5 +1104,6 @@ typedef struct _MPI_EXT_IMAGE_HEADER | |||
| 1013 | #define MPI_EXT_IMAGE_TYPE_FW (0x01) | 1104 | #define MPI_EXT_IMAGE_TYPE_FW (0x01) |
| 1014 | #define MPI_EXT_IMAGE_TYPE_NVDATA (0x03) | 1105 | #define MPI_EXT_IMAGE_TYPE_NVDATA (0x03) |
| 1015 | #define MPI_EXT_IMAGE_TYPE_BOOTLOADER (0x04) | 1106 | #define MPI_EXT_IMAGE_TYPE_BOOTLOADER (0x04) |
| 1107 | #define MPI_EXT_IMAGE_TYPE_INITIALIZATION (0x05) | ||
| 1016 | 1108 | ||
| 1017 | #endif | 1109 | #endif |
diff --git a/drivers/message/fusion/lsi/mpi_log_sas.h b/drivers/message/fusion/lsi/mpi_log_sas.h index a9c14ad132ce..871ebc08b706 100644 --- a/drivers/message/fusion/lsi/mpi_log_sas.h +++ b/drivers/message/fusion/lsi/mpi_log_sas.h | |||
| @@ -13,6 +13,8 @@ | |||
| 13 | #ifndef IOPI_IOCLOGINFO_H_INCLUDED | 13 | #ifndef IOPI_IOCLOGINFO_H_INCLUDED |
| 14 | #define IOPI_IOCLOGINFO_H_INCLUDED | 14 | #define IOPI_IOCLOGINFO_H_INCLUDED |
| 15 | 15 | ||
| 16 | #define SAS_LOGINFO_NEXUS_LOSS 0x31170000 | ||
| 17 | #define SAS_LOGINFO_MASK 0xFFFF0000 | ||
| 16 | 18 | ||
| 17 | /****************************************************************************/ | 19 | /****************************************************************************/ |
| 18 | /* IOC LOGINFO defines, 0x00000000 - 0x0FFFFFFF */ | 20 | /* IOC LOGINFO defines, 0x00000000 - 0x0FFFFFFF */ |
| @@ -51,6 +53,9 @@ | |||
| 51 | #define IOP_LOGINFO_CODE_CONFIG_INVALID_PAGE_DNM (0x00030500) /* Device Not Mapped */ | 53 | #define IOP_LOGINFO_CODE_CONFIG_INVALID_PAGE_DNM (0x00030500) /* Device Not Mapped */ |
| 52 | #define IOP_LOGINFO_CODE_CONFIG_INVALID_PAGE_PERSIST (0x00030600) /* Persistent Page not found */ | 54 | #define IOP_LOGINFO_CODE_CONFIG_INVALID_PAGE_PERSIST (0x00030600) /* Persistent Page not found */ |
| 53 | #define IOP_LOGINFO_CODE_CONFIG_INVALID_PAGE_DEFAULT (0x00030700) /* Default Page not found */ | 55 | #define IOP_LOGINFO_CODE_CONFIG_INVALID_PAGE_DEFAULT (0x00030700) /* Default Page not found */ |
| 56 | |||
| 57 | #define IOP_LOGINFO_CODE_DIAG_MSG_ERROR (0x00040000) /* Error handling diag msg - or'd with diag status */ | ||
| 58 | |||
| 54 | #define IOP_LOGINFO_CODE_TASK_TERMINATED (0x00050000) | 59 | #define IOP_LOGINFO_CODE_TASK_TERMINATED (0x00050000) |
| 55 | 60 | ||
| 56 | #define IOP_LOGINFO_CODE_ENCL_MGMT_READ_ACTION_ERR0R (0x00060001) /* Read Action not supported for SEP msg */ | 61 | #define IOP_LOGINFO_CODE_ENCL_MGMT_READ_ACTION_ERR0R (0x00060001) /* Read Action not supported for SEP msg */ |
| @@ -103,6 +108,7 @@ | |||
| 103 | #define PL_LOGINFO_CODE_IO_EXECUTED (0x00140000) | 108 | #define PL_LOGINFO_CODE_IO_EXECUTED (0x00140000) |
| 104 | #define PL_LOGINFO_CODE_PERS_RESV_OUT_NOT_AFFIL_OWNER (0x00150000) | 109 | #define PL_LOGINFO_CODE_PERS_RESV_OUT_NOT_AFFIL_OWNER (0x00150000) |
| 105 | #define PL_LOGINFO_CODE_OPEN_TXDMA_ABORT (0x00160000) | 110 | #define PL_LOGINFO_CODE_OPEN_TXDMA_ABORT (0x00160000) |
| 111 | #define PL_LOGINFO_CODE_IO_DEVICE_MISSING_DELAY_RETRY (0x00170000) | ||
| 106 | #define PL_LOGINFO_SUB_CODE_OPEN_FAILURE (0x00000100) | 112 | #define PL_LOGINFO_SUB_CODE_OPEN_FAILURE (0x00000100) |
| 107 | #define PL_LOGINFO_SUB_CODE_OPEN_FAILURE_NO_DEST_TIMEOUT (0x00000101) | 113 | #define PL_LOGINFO_SUB_CODE_OPEN_FAILURE_NO_DEST_TIMEOUT (0x00000101) |
| 108 | #define PL_LOGINFO_SUB_CODE_OPEN_FAILURE_ORR_TIMEOUT (0x0000011A) /* Open Reject (Retry) Timeout */ | 114 | #define PL_LOGINFO_SUB_CODE_OPEN_FAILURE_ORR_TIMEOUT (0x0000011A) /* Open Reject (Retry) Timeout */ |
| @@ -165,11 +171,81 @@ | |||
| 165 | /****************************************************************************/ | 171 | /****************************************************************************/ |
| 166 | /* IR LOGINFO_CODE defines, valid if IOC_LOGINFO_ORIGINATOR = IR */ | 172 | /* IR LOGINFO_CODE defines, valid if IOC_LOGINFO_ORIGINATOR = IR */ |
| 167 | /****************************************************************************/ | 173 | /****************************************************************************/ |
| 168 | #define IR_LOGINFO_CODE_UNUSED1 (0x00010000) | 174 | #define IR_LOGINFO_RAID_ACTION_ERROR (0x00010000) |
| 169 | #define IR_LOGINFO_CODE_UNUSED2 (0x00020000) | 175 | #define IR_LOGINFO_CODE_UNUSED2 (0x00020000) |
| 176 | |||
| 177 | /* Amount of information passed down for Create Volume is too large */ | ||
| 178 | #define IR_LOGINFO_VOLUME_CREATE_INVALID_LENGTH (0x00010001) | ||
| 179 | /* Creation of duplicate volume attempted (Bus/Target ID checked) */ | ||
| 180 | #define IR_LOGINFO_VOLUME_CREATE_DUPLICATE (0x00010002) | ||
| 181 | /* Creation failed due to maximum number of supported volumes exceeded */ | ||
| 182 | #define IR_LOGINFO_VOLUME_CREATE_NO_SLOTS (0x00010003) | ||
| 183 | /* Creation failed due to DMA error in trying to read from host */ | ||
| 184 | #define IR_LOGINFO_VOLUME_CREATE_DMA_ERROR (0x00010004) | ||
| 185 | /* Creation failed due to invalid volume type passed down */ | ||
| 186 | #define IR_LOGINFO_VOLUME_CREATE_INVALID_VOLUME_TYPE (0x00010005) | ||
| 187 | /* Creation failed due to error reading MFG Page 4 */ | ||
| 188 | #define IR_LOGINFO_VOLUME_MFG_PAGE4_ERROR (0x00010006) | ||
| 189 | /* Creation failed when trying to create internal structures */ | ||
| 190 | #define IR_LOGINFO_VOLUME_INTERNAL_CONFIG_STRUCTURE_ERROR (0x00010007) | ||
| 191 | |||
| 192 | /* Activation failed due to trying to activate an already active volume */ | ||
| 193 | #define IR_LOGINFO_VOLUME_ACTIVATING_AN_ACTIVE_VOLUME (0x00010010) | ||
| 194 | /* Activation failed due to trying to active unsupported volume type */ | ||
| 195 | #define IR_LOGINFO_VOLUME_ACTIVATING_INVALID_VOLUME_TYPE (0x00010011) | ||
| 196 | /* Activation failed due to trying to active too many volumes */ | ||
| 197 | #define IR_LOGINFO_VOLUME_ACTIVATING_TOO_MANY_VOLUMES (0x00010012) | ||
| 198 | /* Activation failed due to Volume ID in use already */ | ||
| 199 | #define IR_LOGINFO_VOLUME_ACTIVATING_VOLUME_ID_IN_USE (0x00010013) | ||
| 200 | /* Activation failed call to activateVolume returned failure */ | ||
| 201 | #define IR_LOGINFO_VOLUME_ACTIVATE_VOLUME_FAILED (0x00010014) | ||
| 202 | /* Activation failed trying to import the volume */ | ||
| 203 | #define IR_LOGINFO_VOLUME_ACTIVATING_IMPORT_VOLUME_FAILED (0x00010015) | ||
| 204 | |||
| 205 | /* Phys Disk failed, too many phys disks */ | ||
| 206 | #define IR_LOGINFO_PHYSDISK_CREATE_TOO_MANY_DISKS (0x00010020) | ||
| 207 | /* Amount of information passed down for Create Pnysdisk is too large */ | ||
| 208 | #define IR_LOGINFO_PHYSDISK_CREATE_INVALID_LENGTH (0x00010021) | ||
| 209 | /* Creation failed due to DMA error in trying to read from host */ | ||
| 210 | #define IR_LOGINFO_PHYSDISK_CREATE_DMA_ERROR (0x00010022) | ||
| 211 | /* Creation failed due to invalid Bus TargetID passed down */ | ||
| 212 | #define IR_LOGINFO_PHYSDISK_CREATE_BUS_TID_INVALID (0x00010023) | ||
| 213 | /* Creation failed due to error in creating RAID Phys Disk Config Page */ | ||
| 214 | #define IR_LOGINFO_PHYSDISK_CREATE_CONFIG_PAGE_ERROR (0x00010024) | ||
| 215 | |||
| 216 | |||
| 217 | /* Compatibility Error : IR Disabled */ | ||
| 218 | #define IR_LOGINFO_COMPAT_ERROR_RAID_DISABLED (0x00010030) | ||
| 219 | /* Compatibility Error : Inquiry Comand failed */ | ||
| 220 | #define IR_LOGINFO_COMPAT_ERROR_INQUIRY_FAILED (0x00010031) | ||
| 221 | /* Compatibility Error : Device not direct access device */ | ||
| 222 | #define IR_LOGINFO_COMPAT_ERROR_NOT_DIRECT_ACCESS (0x00010032) | ||
| 223 | /* Compatibility Error : Removable device found */ | ||
| 224 | #define IR_LOGINFO_COMPAT_ERROR_REMOVABLE_FOUND (0x00010033) | ||
| 225 | /* Compatibility Error : Device SCSI Version not 2 or higher */ | ||
| 226 | #define IR_LOGINFO_COMPAT_ERROR_NEED_SCSI_2_OR_HIGHER (0x00010034) | ||
| 227 | /* Compatibility Error : SATA device, 48 BIT LBA not supported */ | ||
| 228 | #define IR_LOGINFO_COMPAT_ERROR_SATA_48BIT_LBA_NOT_SUPPORTED (0x00010035) | ||
| 229 | /* Compatibility Error : Device does not have 512 byte block sizes */ | ||
| 230 | #define IR_LOGINFO_COMPAT_ERROR_DEVICE_NOT_512_BYTE_BLOCK (0x00010036) | ||
| 231 | /* Compatibility Error : Volume Type check failed */ | ||
| 232 | #define IR_LOGINFO_COMPAT_ERROR_VOLUME_TYPE_CHECK_FAILED (0x00010037) | ||
| 233 | /* Compatibility Error : Volume Type is unsupported by FW */ | ||
| 234 | #define IR_LOGINFO_COMPAT_ERROR_UNSUPPORTED_VOLUME_TYPE (0x00010038) | ||
| 235 | /* Compatibility Error : Disk drive too small for use in volume */ | ||
| 236 | #define IR_LOGINFO_COMPAT_ERROR_DISK_TOO_SMALL (0x00010039) | ||
| 237 | /* Compatibility Error : Phys disk for Create Volume not found */ | ||
| 238 | #define IR_LOGINFO_COMPAT_ERROR_PHYS_DISK_NOT_FOUND (0x0001003A) | ||
| 239 | /* Compatibility Error : membership count error, too many or too few disks for volume type */ | ||
| 240 | #define IR_LOGINFO_COMPAT_ERROR_MEMBERSHIP_COUNT (0x0001003B) | ||
| 241 | /* Compatibility Error : Disk stripe sizes must be 64KB */ | ||
| 242 | #define IR_LOGINFO_COMPAT_ERROR_NON_64K_STRIPE_SIZE (0x0001003C) | ||
| 243 | /* Compatibility Error : IME size limited to < 2TB */ | ||
| 244 | #define IR_LOGINFO_COMPAT_ERROR_IME_VOL_NOT_CURRENTLY_SUPPORTED (0x0001003D) | ||
| 245 | |||
| 170 | 246 | ||
| 171 | /****************************************************************************/ | 247 | /****************************************************************************/ |
| 172 | /* Defines for convienence */ | 248 | /* Defines for convenience */ |
| 173 | /****************************************************************************/ | 249 | /****************************************************************************/ |
| 174 | #define IOC_LOGINFO_PREFIX_IOP ((MPI_IOCLOGINFO_TYPE_SAS << MPI_IOCLOGINFO_TYPE_SHIFT) | IOC_LOGINFO_ORIGINATOR_IOP) | 250 | #define IOC_LOGINFO_PREFIX_IOP ((MPI_IOCLOGINFO_TYPE_SAS << MPI_IOCLOGINFO_TYPE_SHIFT) | IOC_LOGINFO_ORIGINATOR_IOP) |
| 175 | #define IOC_LOGINFO_PREFIX_PL ((MPI_IOCLOGINFO_TYPE_SAS << MPI_IOCLOGINFO_TYPE_SHIFT) | IOC_LOGINFO_ORIGINATOR_PL) | 251 | #define IOC_LOGINFO_PREFIX_PL ((MPI_IOCLOGINFO_TYPE_SAS << MPI_IOCLOGINFO_TYPE_SHIFT) | IOC_LOGINFO_ORIGINATOR_PL) |
diff --git a/drivers/message/fusion/lsi/mpi_sas.h b/drivers/message/fusion/lsi/mpi_sas.h index 70514867bddf..50b8f0a8f456 100644 --- a/drivers/message/fusion/lsi/mpi_sas.h +++ b/drivers/message/fusion/lsi/mpi_sas.h | |||
| @@ -6,7 +6,7 @@ | |||
| 6 | * Title: MPI Serial Attached SCSI structures and definitions | 6 | * Title: MPI Serial Attached SCSI structures and definitions |
| 7 | * Creation Date: August 19, 2004 | 7 | * Creation Date: August 19, 2004 |
| 8 | * | 8 | * |
| 9 | * mpi_sas.h Version: 01.05.02 | 9 | * mpi_sas.h Version: 01.05.03 |
| 10 | * | 10 | * |
| 11 | * Version History | 11 | * Version History |
| 12 | * --------------- | 12 | * --------------- |
| @@ -17,6 +17,10 @@ | |||
| 17 | * 08-30-05 01.05.02 Added DeviceInfo bit for SEP. | 17 | * 08-30-05 01.05.02 Added DeviceInfo bit for SEP. |
| 18 | * Added PrimFlags and Primitive field to SAS IO Unit | 18 | * Added PrimFlags and Primitive field to SAS IO Unit |
| 19 | * Control request, and added a new operation code. | 19 | * Control request, and added a new operation code. |
| 20 | * 03-27-06 01.05.03 Added Force Full Discovery, Transmit Port Select Signal, | ||
| 21 | * and Remove Device operations to SAS IO Unit Control. | ||
| 22 | * Added DevHandle field to SAS IO Unit Control request and | ||
| 23 | * reply. | ||
| 20 | * -------------------------------------------------------------------------- | 24 | * -------------------------------------------------------------------------- |
| 21 | */ | 25 | */ |
| 22 | 26 | ||
| @@ -209,7 +213,7 @@ typedef struct _MSG_SAS_IOUNIT_CONTROL_REQUEST | |||
| 209 | U8 Reserved1; /* 01h */ | 213 | U8 Reserved1; /* 01h */ |
| 210 | U8 ChainOffset; /* 02h */ | 214 | U8 ChainOffset; /* 02h */ |
| 211 | U8 Function; /* 03h */ | 215 | U8 Function; /* 03h */ |
| 212 | U16 Reserved2; /* 04h */ | 216 | U16 DevHandle; /* 04h */ |
| 213 | U8 Reserved3; /* 06h */ | 217 | U8 Reserved3; /* 06h */ |
| 214 | U8 MsgFlags; /* 07h */ | 218 | U8 MsgFlags; /* 07h */ |
| 215 | U32 MsgContext; /* 08h */ | 219 | U32 MsgContext; /* 08h */ |
| @@ -231,6 +235,9 @@ typedef struct _MSG_SAS_IOUNIT_CONTROL_REQUEST | |||
| 231 | #define MPI_SAS_OP_PHY_CLEAR_ERROR_LOG (0x08) | 235 | #define MPI_SAS_OP_PHY_CLEAR_ERROR_LOG (0x08) |
| 232 | #define MPI_SAS_OP_MAP_CURRENT (0x09) | 236 | #define MPI_SAS_OP_MAP_CURRENT (0x09) |
| 233 | #define MPI_SAS_OP_SEND_PRIMITIVE (0x0A) | 237 | #define MPI_SAS_OP_SEND_PRIMITIVE (0x0A) |
| 238 | #define MPI_SAS_OP_FORCE_FULL_DISCOVERY (0x0B) | ||
| 239 | #define MPI_SAS_OP_TRANSMIT_PORT_SELECT_SIGNAL (0x0C) | ||
| 240 | #define MPI_SAS_OP_TRANSMIT_REMOVE_DEVICE (0x0D) | ||
| 234 | 241 | ||
| 235 | /* values for the PrimFlags field */ | 242 | /* values for the PrimFlags field */ |
| 236 | #define MPI_SAS_PRIMFLAGS_SINGLE (0x08) | 243 | #define MPI_SAS_PRIMFLAGS_SINGLE (0x08) |
| @@ -245,7 +252,7 @@ typedef struct _MSG_SAS_IOUNIT_CONTROL_REPLY | |||
| 245 | U8 Reserved1; /* 01h */ | 252 | U8 Reserved1; /* 01h */ |
| 246 | U8 MsgLength; /* 02h */ | 253 | U8 MsgLength; /* 02h */ |
| 247 | U8 Function; /* 03h */ | 254 | U8 Function; /* 03h */ |
| 248 | U16 Reserved2; /* 04h */ | 255 | U16 DevHandle; /* 04h */ |
| 249 | U8 Reserved3; /* 06h */ | 256 | U8 Reserved3; /* 06h */ |
| 250 | U8 MsgFlags; /* 07h */ | 257 | U8 MsgFlags; /* 07h */ |
| 251 | U32 MsgContext; /* 08h */ | 258 | U32 MsgContext; /* 08h */ |
diff --git a/drivers/message/fusion/lsi/mpi_targ.h b/drivers/message/fusion/lsi/mpi_targ.h index 3f462859ceea..20b667315773 100644 --- a/drivers/message/fusion/lsi/mpi_targ.h +++ b/drivers/message/fusion/lsi/mpi_targ.h | |||
| @@ -6,7 +6,7 @@ | |||
| 6 | * Title: MPI Target mode messages and structures | 6 | * Title: MPI Target mode messages and structures |
| 7 | * Creation Date: June 22, 2000 | 7 | * Creation Date: June 22, 2000 |
| 8 | * | 8 | * |
| 9 | * mpi_targ.h Version: 01.05.05 | 9 | * mpi_targ.h Version: 01.05.06 |
| 10 | * | 10 | * |
| 11 | * Version History | 11 | * Version History |
| 12 | * --------------- | 12 | * --------------- |
| @@ -54,6 +54,7 @@ | |||
| 54 | * 02-22-05 01.05.03 Changed a comment. | 54 | * 02-22-05 01.05.03 Changed a comment. |
| 55 | * 03-11-05 01.05.04 Removed TargetAssistExtended Request. | 55 | * 03-11-05 01.05.04 Removed TargetAssistExtended Request. |
| 56 | * 06-24-05 01.05.05 Added TargetAssistExtended structures and defines. | 56 | * 06-24-05 01.05.05 Added TargetAssistExtended structures and defines. |
| 57 | * 03-27-06 01.05.06 Added a comment. | ||
| 57 | * -------------------------------------------------------------------------- | 58 | * -------------------------------------------------------------------------- |
| 58 | */ | 59 | */ |
| 59 | 60 | ||
| @@ -351,7 +352,7 @@ typedef struct _MSG_TARGET_ASSIST_REQUEST | |||
| 351 | #define TARGET_ASSIST_FLAGS_CONFIRMED (0x08) | 352 | #define TARGET_ASSIST_FLAGS_CONFIRMED (0x08) |
| 352 | #define TARGET_ASSIST_FLAGS_REPOST_CMD_BUFFER (0x80) | 353 | #define TARGET_ASSIST_FLAGS_REPOST_CMD_BUFFER (0x80) |
| 353 | 354 | ||
| 354 | 355 | /* Standard Target Mode Reply message */ | |
| 355 | typedef struct _MSG_TARGET_ERROR_REPLY | 356 | typedef struct _MSG_TARGET_ERROR_REPLY |
| 356 | { | 357 | { |
| 357 | U16 Reserved; /* 00h */ | 358 | U16 Reserved; /* 00h */ |
