diff options
Diffstat (limited to 'drivers/message')
-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 */ |