diff options
author | Christoph Hellwig <hch@lst.de> | 2005-08-18 10:24:26 -0400 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.(none)> | 2005-09-04 20:48:39 -0400 |
commit | ccf3b7bd26b242b39d54148ea2117295721681d3 (patch) | |
tree | a4fa0be9b769b57075a7bff9b5f55ec96c8132d1 /drivers/message/fusion | |
parent | 69218ee5186aded6c78e12e083e073d000ff2e9b (diff) |
[SCSI] fusion: update LSI headers
Acked by: Moore, Eric Dean <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/message/fusion')
-rw-r--r-- | drivers/message/fusion/lsi/mpi.h | 19 | ||||
-rw-r--r-- | drivers/message/fusion/lsi/mpi_cnfg.h | 85 | ||||
-rw-r--r-- | drivers/message/fusion/lsi/mpi_history.txt | 67 | ||||
-rw-r--r-- | drivers/message/fusion/lsi/mpi_init.h | 203 | ||||
-rw-r--r-- | drivers/message/fusion/lsi/mpi_ioc.h | 11 | ||||
-rw-r--r-- | drivers/message/fusion/lsi/mpi_targ.h | 74 |
6 files changed, 415 insertions, 44 deletions
diff --git a/drivers/message/fusion/lsi/mpi.h b/drivers/message/fusion/lsi/mpi.h index 9f98334e5076..b61e3d175070 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.07 | 9 | * mpi.h Version: 01.05.08 |
10 | * | 10 | * |
11 | * Version History | 11 | * Version History |
12 | * --------------- | 12 | * --------------- |
@@ -71,6 +71,9 @@ | |||
71 | * 03-11-05 01.05.07 Removed function codes for SCSI IO 32 and | 71 | * 03-11-05 01.05.07 Removed function codes for SCSI IO 32 and |
72 | * TargetAssistExtended requests. | 72 | * TargetAssistExtended requests. |
73 | * Removed EEDP IOCStatus codes. | 73 | * Removed EEDP IOCStatus codes. |
74 | * 06-24-05 01.05.08 Added function codes for SCSI IO 32 and | ||
75 | * TargetAssistExtended requests. | ||
76 | * Added EEDP IOCStatus codes. | ||
74 | * -------------------------------------------------------------------------- | 77 | * -------------------------------------------------------------------------- |
75 | */ | 78 | */ |
76 | 79 | ||
@@ -101,7 +104,7 @@ | |||
101 | /* Note: The major versions of 0xe0 through 0xff are reserved */ | 104 | /* Note: The major versions of 0xe0 through 0xff are reserved */ |
102 | 105 | ||
103 | /* versioning for this MPI header set */ | 106 | /* versioning for this MPI header set */ |
104 | #define MPI_HEADER_VERSION_UNIT (0x09) | 107 | #define MPI_HEADER_VERSION_UNIT (0x0A) |
105 | #define MPI_HEADER_VERSION_DEV (0x00) | 108 | #define MPI_HEADER_VERSION_DEV (0x00) |
106 | #define MPI_HEADER_VERSION_UNIT_MASK (0xFF00) | 109 | #define MPI_HEADER_VERSION_UNIT_MASK (0xFF00) |
107 | #define MPI_HEADER_VERSION_UNIT_SHIFT (8) | 110 | #define MPI_HEADER_VERSION_UNIT_SHIFT (8) |
@@ -292,10 +295,13 @@ | |||
292 | #define MPI_FUNCTION_DIAG_BUFFER_POST (0x1D) | 295 | #define MPI_FUNCTION_DIAG_BUFFER_POST (0x1D) |
293 | #define MPI_FUNCTION_DIAG_RELEASE (0x1E) | 296 | #define MPI_FUNCTION_DIAG_RELEASE (0x1E) |
294 | 297 | ||
298 | #define MPI_FUNCTION_SCSI_IO_32 (0x1F) | ||
299 | |||
295 | #define MPI_FUNCTION_LAN_SEND (0x20) | 300 | #define MPI_FUNCTION_LAN_SEND (0x20) |
296 | #define MPI_FUNCTION_LAN_RECEIVE (0x21) | 301 | #define MPI_FUNCTION_LAN_RECEIVE (0x21) |
297 | #define MPI_FUNCTION_LAN_RESET (0x22) | 302 | #define MPI_FUNCTION_LAN_RESET (0x22) |
298 | 303 | ||
304 | #define MPI_FUNCTION_TARGET_ASSIST_EXTENDED (0x23) | ||
299 | #define MPI_FUNCTION_TARGET_CMD_BUF_BASE_POST (0x24) | 305 | #define MPI_FUNCTION_TARGET_CMD_BUF_BASE_POST (0x24) |
300 | #define MPI_FUNCTION_TARGET_CMD_BUF_LIST_POST (0x25) | 306 | #define MPI_FUNCTION_TARGET_CMD_BUF_LIST_POST (0x25) |
301 | 307 | ||
@@ -681,6 +687,15 @@ typedef struct _MSG_DEFAULT_REPLY | |||
681 | #define MPI_IOCSTATUS_SCSI_EXT_TERMINATED (0x004C) | 687 | #define MPI_IOCSTATUS_SCSI_EXT_TERMINATED (0x004C) |
682 | 688 | ||
683 | /****************************************************************************/ | 689 | /****************************************************************************/ |
690 | /* For use by SCSI Initiator and SCSI Target end-to-end data protection */ | ||
691 | /****************************************************************************/ | ||
692 | |||
693 | #define MPI_IOCSTATUS_EEDP_GUARD_ERROR (0x004D) | ||
694 | #define MPI_IOCSTATUS_EEDP_REF_TAG_ERROR (0x004E) | ||
695 | #define MPI_IOCSTATUS_EEDP_APP_TAG_ERROR (0x004F) | ||
696 | |||
697 | |||
698 | /****************************************************************************/ | ||
684 | /* SCSI Target values */ | 699 | /* SCSI Target values */ |
685 | /****************************************************************************/ | 700 | /****************************************************************************/ |
686 | 701 | ||
diff --git a/drivers/message/fusion/lsi/mpi_cnfg.h b/drivers/message/fusion/lsi/mpi_cnfg.h index 15b12b06799d..d8339896f734 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.08 | 9 | * mpi_cnfg.h Version: 01.05.09 |
10 | * | 10 | * |
11 | * Version History | 11 | * Version History |
12 | * --------------- | 12 | * --------------- |
@@ -232,6 +232,23 @@ | |||
232 | * New physical mapping mode in SAS IO Unit Page 2. | 232 | * New physical mapping mode in SAS IO Unit Page 2. |
233 | * Added CONFIG_PAGE_SAS_ENCLOSURE_0. | 233 | * Added CONFIG_PAGE_SAS_ENCLOSURE_0. |
234 | * Added Slot and Enclosure fields to SAS Device Page 0. | 234 | * Added Slot and Enclosure fields to SAS Device Page 0. |
235 | * 06-24-05 01.05.09 Added EEDP defines to IOC Page 1. | ||
236 | * Added more RAID type defines to IOC Page 2. | ||
237 | * Added Port Enable Delay settings to BIOS Page 1. | ||
238 | * Added Bad Block Table Full define to RAID Volume Page 0. | ||
239 | * Added Previous State defines to RAID Physical Disk | ||
240 | * Page 0. | ||
241 | * Added Max Sata Targets define for DiscoveryStatus field | ||
242 | * of SAS IO Unit Page 0. | ||
243 | * Added Device Self Test to Control Flags of SAS IO Unit | ||
244 | * Page 1. | ||
245 | * Added Direct Attach Starting Slot Number define for SAS | ||
246 | * IO Unit Page 2. | ||
247 | * Added new fields in SAS Device Page 2 for enclosure | ||
248 | * mapping. | ||
249 | * Added OwnerDevHandle and Flags field to SAS PHY Page 0. | ||
250 | * Added IOC GPIO Flags define to SAS Enclosure Page 0. | ||
251 | * Fixed the value for MPI_SAS_IOUNIT1_CONTROL_DEV_SATA_SUPPORT. | ||
235 | * -------------------------------------------------------------------------- | 252 | * -------------------------------------------------------------------------- |
236 | */ | 253 | */ |
237 | 254 | ||
@@ -477,6 +494,7 @@ typedef struct _MSG_CONFIG_REPLY | |||
477 | #define MPI_MANUFACTPAGE_DEVICEID_FC929X (0x0626) | 494 | #define MPI_MANUFACTPAGE_DEVICEID_FC929X (0x0626) |
478 | #define MPI_MANUFACTPAGE_DEVICEID_FC939X (0x0642) | 495 | #define MPI_MANUFACTPAGE_DEVICEID_FC939X (0x0642) |
479 | #define MPI_MANUFACTPAGE_DEVICEID_FC949X (0x0640) | 496 | #define MPI_MANUFACTPAGE_DEVICEID_FC949X (0x0640) |
497 | #define MPI_MANUFACTPAGE_DEVICEID_FC949ES (0x0646) | ||
480 | /* SCSI */ | 498 | /* SCSI */ |
481 | #define MPI_MANUFACTPAGE_DEVID_53C1030 (0x0030) | 499 | #define MPI_MANUFACTPAGE_DEVID_53C1030 (0x0030) |
482 | #define MPI_MANUFACTPAGE_DEVID_53C1030ZC (0x0031) | 500 | #define MPI_MANUFACTPAGE_DEVID_53C1030ZC (0x0031) |
@@ -769,9 +787,13 @@ typedef struct _CONFIG_PAGE_IOC_1 | |||
769 | } CONFIG_PAGE_IOC_1, MPI_POINTER PTR_CONFIG_PAGE_IOC_1, | 787 | } CONFIG_PAGE_IOC_1, MPI_POINTER PTR_CONFIG_PAGE_IOC_1, |
770 | IOCPage1_t, MPI_POINTER pIOCPage1_t; | 788 | IOCPage1_t, MPI_POINTER pIOCPage1_t; |
771 | 789 | ||
772 | #define MPI_IOCPAGE1_PAGEVERSION (0x02) | 790 | #define MPI_IOCPAGE1_PAGEVERSION (0x03) |
773 | 791 | ||
774 | /* defines for the Flags field */ | 792 | /* defines for the Flags field */ |
793 | #define MPI_IOCPAGE1_EEDP_MODE_MASK (0x07000000) | ||
794 | #define MPI_IOCPAGE1_EEDP_MODE_OFF (0x00000000) | ||
795 | #define MPI_IOCPAGE1_EEDP_MODE_T10 (0x01000000) | ||
796 | #define MPI_IOCPAGE1_EEDP_MODE_LSI_1 (0x02000000) | ||
775 | #define MPI_IOCPAGE1_INITIATOR_CONTEXT_REPLY_DISABLE (0x00000010) | 797 | #define MPI_IOCPAGE1_INITIATOR_CONTEXT_REPLY_DISABLE (0x00000010) |
776 | #define MPI_IOCPAGE1_REPLY_COALESCING (0x00000001) | 798 | #define MPI_IOCPAGE1_REPLY_COALESCING (0x00000001) |
777 | 799 | ||
@@ -795,6 +817,11 @@ typedef struct _CONFIG_PAGE_IOC_2_RAID_VOL | |||
795 | #define MPI_RAID_VOL_TYPE_IS (0x00) | 817 | #define MPI_RAID_VOL_TYPE_IS (0x00) |
796 | #define MPI_RAID_VOL_TYPE_IME (0x01) | 818 | #define MPI_RAID_VOL_TYPE_IME (0x01) |
797 | #define MPI_RAID_VOL_TYPE_IM (0x02) | 819 | #define MPI_RAID_VOL_TYPE_IM (0x02) |
820 | #define MPI_RAID_VOL_TYPE_RAID_5 (0x03) | ||
821 | #define MPI_RAID_VOL_TYPE_RAID_6 (0x04) | ||
822 | #define MPI_RAID_VOL_TYPE_RAID_10 (0x05) | ||
823 | #define MPI_RAID_VOL_TYPE_RAID_50 (0x06) | ||
824 | #define MPI_RAID_VOL_TYPE_UNKNOWN (0xFF) | ||
798 | 825 | ||
799 | /* IOC Page 2 Volume Flags values */ | 826 | /* IOC Page 2 Volume Flags values */ |
800 | 827 | ||
@@ -820,13 +847,17 @@ typedef struct _CONFIG_PAGE_IOC_2 | |||
820 | } CONFIG_PAGE_IOC_2, MPI_POINTER PTR_CONFIG_PAGE_IOC_2, | 847 | } CONFIG_PAGE_IOC_2, MPI_POINTER PTR_CONFIG_PAGE_IOC_2, |
821 | IOCPage2_t, MPI_POINTER pIOCPage2_t; | 848 | IOCPage2_t, MPI_POINTER pIOCPage2_t; |
822 | 849 | ||
823 | #define MPI_IOCPAGE2_PAGEVERSION (0x02) | 850 | #define MPI_IOCPAGE2_PAGEVERSION (0x03) |
824 | 851 | ||
825 | /* IOC Page 2 Capabilities flags */ | 852 | /* IOC Page 2 Capabilities flags */ |
826 | 853 | ||
827 | #define MPI_IOCPAGE2_CAP_FLAGS_IS_SUPPORT (0x00000001) | 854 | #define MPI_IOCPAGE2_CAP_FLAGS_IS_SUPPORT (0x00000001) |
828 | #define MPI_IOCPAGE2_CAP_FLAGS_IME_SUPPORT (0x00000002) | 855 | #define MPI_IOCPAGE2_CAP_FLAGS_IME_SUPPORT (0x00000002) |
829 | #define MPI_IOCPAGE2_CAP_FLAGS_IM_SUPPORT (0x00000004) | 856 | #define MPI_IOCPAGE2_CAP_FLAGS_IM_SUPPORT (0x00000004) |
857 | #define MPI_IOCPAGE2_CAP_FLAGS_RAID_5_SUPPORT (0x00000008) | ||
858 | #define MPI_IOCPAGE2_CAP_FLAGS_RAID_6_SUPPORT (0x00000010) | ||
859 | #define MPI_IOCPAGE2_CAP_FLAGS_RAID_10_SUPPORT (0x00000020) | ||
860 | #define MPI_IOCPAGE2_CAP_FLAGS_RAID_50_SUPPORT (0x00000040) | ||
830 | #define MPI_IOCPAGE2_CAP_FLAGS_SES_SUPPORT (0x20000000) | 861 | #define MPI_IOCPAGE2_CAP_FLAGS_SES_SUPPORT (0x20000000) |
831 | #define MPI_IOCPAGE2_CAP_FLAGS_SAFTE_SUPPORT (0x40000000) | 862 | #define MPI_IOCPAGE2_CAP_FLAGS_SAFTE_SUPPORT (0x40000000) |
832 | #define MPI_IOCPAGE2_CAP_FLAGS_CROSS_CHANNEL_SUPPORT (0x80000000) | 863 | #define MPI_IOCPAGE2_CAP_FLAGS_CROSS_CHANNEL_SUPPORT (0x80000000) |
@@ -945,7 +976,7 @@ typedef struct _CONFIG_PAGE_BIOS_1 | |||
945 | } CONFIG_PAGE_BIOS_1, MPI_POINTER PTR_CONFIG_PAGE_BIOS_1, | 976 | } CONFIG_PAGE_BIOS_1, MPI_POINTER PTR_CONFIG_PAGE_BIOS_1, |
946 | BIOSPage1_t, MPI_POINTER pBIOSPage1_t; | 977 | BIOSPage1_t, MPI_POINTER pBIOSPage1_t; |
947 | 978 | ||
948 | #define MPI_BIOSPAGE1_PAGEVERSION (0x01) | 979 | #define MPI_BIOSPAGE1_PAGEVERSION (0x02) |
949 | 980 | ||
950 | /* values for the BiosOptions field */ | 981 | /* values for the BiosOptions field */ |
951 | #define MPI_BIOSPAGE1_OPTIONS_SPI_ENABLE (0x00000400) | 982 | #define MPI_BIOSPAGE1_OPTIONS_SPI_ENABLE (0x00000400) |
@@ -954,6 +985,8 @@ typedef struct _CONFIG_PAGE_BIOS_1 | |||
954 | #define MPI_BIOSPAGE1_OPTIONS_DISABLE_BIOS (0x00000001) | 985 | #define MPI_BIOSPAGE1_OPTIONS_DISABLE_BIOS (0x00000001) |
955 | 986 | ||
956 | /* values for the IOCSettings field */ | 987 | /* values for the IOCSettings field */ |
988 | #define MPI_BIOSPAGE1_IOCSET_MASK_PORT_ENABLE_DELAY (0x00F00000) | ||
989 | #define MPI_BIOSPAGE1_IOCSET_SHIFT_PORT_ENABLE_DELAY (20) | ||
957 | #define MPI_BIOSPAGE1_IOCSET_MASK_BOOT_PREFERENCE (0x00030000) | 990 | #define MPI_BIOSPAGE1_IOCSET_MASK_BOOT_PREFERENCE (0x00030000) |
958 | #define MPI_BIOSPAGE1_IOCSET_ENCLOSURE_SLOT_BOOT (0x00000000) | 991 | #define MPI_BIOSPAGE1_IOCSET_ENCLOSURE_SLOT_BOOT (0x00000000) |
959 | #define MPI_BIOSPAGE1_IOCSET_SAS_ADDRESS_BOOT (0x00010000) | 992 | #define MPI_BIOSPAGE1_IOCSET_SAS_ADDRESS_BOOT (0x00010000) |
@@ -1167,6 +1200,7 @@ typedef struct _CONFIG_PAGE_BIOS_2 | |||
1167 | #define MPI_BIOSPAGE2_FORM_PCI_SLOT_NUMBER (0x03) | 1200 | #define MPI_BIOSPAGE2_FORM_PCI_SLOT_NUMBER (0x03) |
1168 | #define MPI_BIOSPAGE2_FORM_FC_WWN (0x04) | 1201 | #define MPI_BIOSPAGE2_FORM_FC_WWN (0x04) |
1169 | #define MPI_BIOSPAGE2_FORM_SAS_WWN (0x05) | 1202 | #define MPI_BIOSPAGE2_FORM_SAS_WWN (0x05) |
1203 | #define MPI_BIOSPAGE2_FORM_ENCLOSURE_SLOT (0x06) | ||
1170 | 1204 | ||
1171 | 1205 | ||
1172 | /**************************************************************************** | 1206 | /**************************************************************************** |
@@ -1957,11 +1991,11 @@ typedef struct _RAID_VOL0_STATUS | |||
1957 | RaidVol0Status_t, MPI_POINTER pRaidVol0Status_t; | 1991 | RaidVol0Status_t, MPI_POINTER pRaidVol0Status_t; |
1958 | 1992 | ||
1959 | /* RAID Volume Page 0 VolumeStatus defines */ | 1993 | /* RAID Volume Page 0 VolumeStatus defines */ |
1960 | |||
1961 | #define MPI_RAIDVOL0_STATUS_FLAG_ENABLED (0x01) | 1994 | #define MPI_RAIDVOL0_STATUS_FLAG_ENABLED (0x01) |
1962 | #define MPI_RAIDVOL0_STATUS_FLAG_QUIESCED (0x02) | 1995 | #define MPI_RAIDVOL0_STATUS_FLAG_QUIESCED (0x02) |
1963 | #define MPI_RAIDVOL0_STATUS_FLAG_RESYNC_IN_PROGRESS (0x04) | 1996 | #define MPI_RAIDVOL0_STATUS_FLAG_RESYNC_IN_PROGRESS (0x04) |
1964 | #define MPI_RAIDVOL0_STATUS_FLAG_VOLUME_INACTIVE (0x08) | 1997 | #define MPI_RAIDVOL0_STATUS_FLAG_VOLUME_INACTIVE (0x08) |
1998 | #define MPI_RAIDVOL0_STATUS_FLAG_BAD_BLOCK_TABLE_FULL (0x10) | ||
1965 | 1999 | ||
1966 | #define MPI_RAIDVOL0_STATUS_STATE_OPTIMAL (0x00) | 2000 | #define MPI_RAIDVOL0_STATUS_STATE_OPTIMAL (0x00) |
1967 | #define MPI_RAIDVOL0_STATUS_STATE_DEGRADED (0x01) | 2001 | #define MPI_RAIDVOL0_STATUS_STATE_DEGRADED (0x01) |
@@ -2025,7 +2059,7 @@ typedef struct _CONFIG_PAGE_RAID_VOL_0 | |||
2025 | } CONFIG_PAGE_RAID_VOL_0, MPI_POINTER PTR_CONFIG_PAGE_RAID_VOL_0, | 2059 | } CONFIG_PAGE_RAID_VOL_0, MPI_POINTER PTR_CONFIG_PAGE_RAID_VOL_0, |
2026 | RaidVolumePage0_t, MPI_POINTER pRaidVolumePage0_t; | 2060 | RaidVolumePage0_t, MPI_POINTER pRaidVolumePage0_t; |
2027 | 2061 | ||
2028 | #define MPI_RAIDVOLPAGE0_PAGEVERSION (0x04) | 2062 | #define MPI_RAIDVOLPAGE0_PAGEVERSION (0x05) |
2029 | 2063 | ||
2030 | /* values for RAID Volume Page 0 InactiveStatus field */ | 2064 | /* values for RAID Volume Page 0 InactiveStatus field */ |
2031 | #define MPI_RAIDVOLPAGE0_UNKNOWN_INACTIVE (0x00) | 2065 | #define MPI_RAIDVOLPAGE0_UNKNOWN_INACTIVE (0x00) |
@@ -2104,6 +2138,8 @@ typedef struct _RAID_PHYS_DISK0_STATUS | |||
2104 | #define MPI_PHYSDISK0_STATUS_FLAG_OUT_OF_SYNC (0x01) | 2138 | #define MPI_PHYSDISK0_STATUS_FLAG_OUT_OF_SYNC (0x01) |
2105 | #define MPI_PHYSDISK0_STATUS_FLAG_QUIESCED (0x02) | 2139 | #define MPI_PHYSDISK0_STATUS_FLAG_QUIESCED (0x02) |
2106 | #define MPI_PHYSDISK0_STATUS_FLAG_INACTIVE_VOLUME (0x04) | 2140 | #define MPI_PHYSDISK0_STATUS_FLAG_INACTIVE_VOLUME (0x04) |
2141 | #define MPI_PHYSDISK0_STATUS_FLAG_OPTIMAL_PREVIOUS (0x00) | ||
2142 | #define MPI_PHYSDISK0_STATUS_FLAG_NOT_OPTIMAL_PREVIOUS (0x08) | ||
2107 | 2143 | ||
2108 | #define MPI_PHYSDISK0_STATUS_ONLINE (0x00) | 2144 | #define MPI_PHYSDISK0_STATUS_ONLINE (0x00) |
2109 | #define MPI_PHYSDISK0_STATUS_MISSING (0x01) | 2145 | #define MPI_PHYSDISK0_STATUS_MISSING (0x01) |
@@ -2132,7 +2168,7 @@ typedef struct _CONFIG_PAGE_RAID_PHYS_DISK_0 | |||
2132 | } CONFIG_PAGE_RAID_PHYS_DISK_0, MPI_POINTER PTR_CONFIG_PAGE_RAID_PHYS_DISK_0, | 2168 | } CONFIG_PAGE_RAID_PHYS_DISK_0, MPI_POINTER PTR_CONFIG_PAGE_RAID_PHYS_DISK_0, |
2133 | RaidPhysDiskPage0_t, MPI_POINTER pRaidPhysDiskPage0_t; | 2169 | RaidPhysDiskPage0_t, MPI_POINTER pRaidPhysDiskPage0_t; |
2134 | 2170 | ||
2135 | #define MPI_RAIDPHYSDISKPAGE0_PAGEVERSION (0x01) | 2171 | #define MPI_RAIDPHYSDISKPAGE0_PAGEVERSION (0x02) |
2136 | 2172 | ||
2137 | 2173 | ||
2138 | typedef struct _RAID_PHYS_DISK1_PATH | 2174 | typedef struct _RAID_PHYS_DISK1_PATH |
@@ -2263,7 +2299,7 @@ typedef struct _CONFIG_PAGE_SAS_IO_UNIT_0 | |||
2263 | } CONFIG_PAGE_SAS_IO_UNIT_0, MPI_POINTER PTR_CONFIG_PAGE_SAS_IO_UNIT_0, | 2299 | } CONFIG_PAGE_SAS_IO_UNIT_0, MPI_POINTER PTR_CONFIG_PAGE_SAS_IO_UNIT_0, |
2264 | SasIOUnitPage0_t, MPI_POINTER pSasIOUnitPage0_t; | 2300 | SasIOUnitPage0_t, MPI_POINTER pSasIOUnitPage0_t; |
2265 | 2301 | ||
2266 | #define MPI_SASIOUNITPAGE0_PAGEVERSION (0x02) | 2302 | #define MPI_SASIOUNITPAGE0_PAGEVERSION (0x03) |
2267 | 2303 | ||
2268 | /* values for SAS IO Unit Page 0 PortFlags */ | 2304 | /* values for SAS IO Unit Page 0 PortFlags */ |
2269 | #define MPI_SAS_IOUNIT0_PORT_FLAGS_DISCOVERY_IN_PROGRESS (0x08) | 2305 | #define MPI_SAS_IOUNIT0_PORT_FLAGS_DISCOVERY_IN_PROGRESS (0x08) |
@@ -2299,6 +2335,7 @@ typedef struct _CONFIG_PAGE_SAS_IO_UNIT_0 | |||
2299 | #define MPI_SAS_IOUNIT0_DS_SUBTRACTIVE_LINK (0x00000200) | 2335 | #define MPI_SAS_IOUNIT0_DS_SUBTRACTIVE_LINK (0x00000200) |
2300 | #define MPI_SAS_IOUNIT0_DS_TABLE_LINK (0x00000400) | 2336 | #define MPI_SAS_IOUNIT0_DS_TABLE_LINK (0x00000400) |
2301 | #define MPI_SAS_IOUNIT0_DS_UNSUPPORTED_DEVICE (0x00000800) | 2337 | #define MPI_SAS_IOUNIT0_DS_UNSUPPORTED_DEVICE (0x00000800) |
2338 | #define MPI_SAS_IOUNIT0_DS_MAX_SATA_TARGETS (0x00001000) | ||
2302 | 2339 | ||
2303 | 2340 | ||
2304 | typedef struct _MPI_SAS_IO_UNIT1_PHY_DATA | 2341 | typedef struct _MPI_SAS_IO_UNIT1_PHY_DATA |
@@ -2336,6 +2373,7 @@ typedef struct _CONFIG_PAGE_SAS_IO_UNIT_1 | |||
2336 | #define MPI_SASIOUNITPAGE1_PAGEVERSION (0x04) | 2373 | #define MPI_SASIOUNITPAGE1_PAGEVERSION (0x04) |
2337 | 2374 | ||
2338 | /* values for SAS IO Unit Page 1 ControlFlags */ | 2375 | /* values for SAS IO Unit Page 1 ControlFlags */ |
2376 | #define MPI_SAS_IOUNIT1_CONTROL_DEVICE_SELF_TEST (0x8000) | ||
2339 | #define MPI_SAS_IOUNIT1_CONTROL_SATA_3_0_MAX (0x4000) | 2377 | #define MPI_SAS_IOUNIT1_CONTROL_SATA_3_0_MAX (0x4000) |
2340 | #define MPI_SAS_IOUNIT1_CONTROL_SATA_1_5_MAX (0x2000) | 2378 | #define MPI_SAS_IOUNIT1_CONTROL_SATA_1_5_MAX (0x2000) |
2341 | #define MPI_SAS_IOUNIT1_CONTROL_SATA_SW_PRESERVE (0x1000) | 2379 | #define MPI_SAS_IOUNIT1_CONTROL_SATA_SW_PRESERVE (0x1000) |
@@ -2345,9 +2383,8 @@ typedef struct _CONFIG_PAGE_SAS_IO_UNIT_1 | |||
2345 | #define MPI_SAS_IOUNIT1_CONTROL_SHIFT_DEV_SUPPORT (9) | 2383 | #define MPI_SAS_IOUNIT1_CONTROL_SHIFT_DEV_SUPPORT (9) |
2346 | #define MPI_SAS_IOUNIT1_CONTROL_DEV_SUPPORT_BOTH (0x00) | 2384 | #define MPI_SAS_IOUNIT1_CONTROL_DEV_SUPPORT_BOTH (0x00) |
2347 | #define MPI_SAS_IOUNIT1_CONTROL_DEV_SAS_SUPPORT (0x01) | 2385 | #define MPI_SAS_IOUNIT1_CONTROL_DEV_SAS_SUPPORT (0x01) |
2348 | #define MPI_SAS_IOUNIT1_CONTROL_DEV_SATA_SUPPORT (0x10) | 2386 | #define MPI_SAS_IOUNIT1_CONTROL_DEV_SATA_SUPPORT (0x02) |
2349 | 2387 | ||
2350 | #define MPI_SAS_IOUNIT1_CONTROL_AUTO_PORT_SAME_SAS_ADDR (0x0100) | ||
2351 | #define MPI_SAS_IOUNIT1_CONTROL_SATA_48BIT_LBA_REQUIRED (0x0080) | 2388 | #define MPI_SAS_IOUNIT1_CONTROL_SATA_48BIT_LBA_REQUIRED (0x0080) |
2352 | #define MPI_SAS_IOUNIT1_CONTROL_SATA_SMART_REQUIRED (0x0040) | 2389 | #define MPI_SAS_IOUNIT1_CONTROL_SATA_SMART_REQUIRED (0x0040) |
2353 | #define MPI_SAS_IOUNIT1_CONTROL_SATA_NCQ_REQUIRED (0x0020) | 2390 | #define MPI_SAS_IOUNIT1_CONTROL_SATA_NCQ_REQUIRED (0x0020) |
@@ -2390,7 +2427,7 @@ typedef struct _CONFIG_PAGE_SAS_IO_UNIT_2 | |||
2390 | } CONFIG_PAGE_SAS_IO_UNIT_2, MPI_POINTER PTR_CONFIG_PAGE_SAS_IO_UNIT_2, | 2427 | } CONFIG_PAGE_SAS_IO_UNIT_2, MPI_POINTER PTR_CONFIG_PAGE_SAS_IO_UNIT_2, |
2391 | SasIOUnitPage2_t, MPI_POINTER pSasIOUnitPage2_t; | 2428 | SasIOUnitPage2_t, MPI_POINTER pSasIOUnitPage2_t; |
2392 | 2429 | ||
2393 | #define MPI_SASIOUNITPAGE2_PAGEVERSION (0x03) | 2430 | #define MPI_SASIOUNITPAGE2_PAGEVERSION (0x04) |
2394 | 2431 | ||
2395 | /* values for SAS IO Unit Page 2 Status field */ | 2432 | /* values for SAS IO Unit Page 2 Status field */ |
2396 | #define MPI_SAS_IOUNIT2_STATUS_DISABLED_PERSISTENT_MAPPINGS (0x02) | 2433 | #define MPI_SAS_IOUNIT2_STATUS_DISABLED_PERSISTENT_MAPPINGS (0x02) |
@@ -2406,6 +2443,7 @@ typedef struct _CONFIG_PAGE_SAS_IO_UNIT_2 | |||
2406 | #define MPI_SAS_IOUNIT2_FLAGS_ENCLOSURE_SLOT_PHYS_MAP (0x02) | 2443 | #define MPI_SAS_IOUNIT2_FLAGS_ENCLOSURE_SLOT_PHYS_MAP (0x02) |
2407 | 2444 | ||
2408 | #define MPI_SAS_IOUNIT2_FLAGS_RESERVE_ID_0_FOR_BOOT (0x10) | 2445 | #define MPI_SAS_IOUNIT2_FLAGS_RESERVE_ID_0_FOR_BOOT (0x10) |
2446 | #define MPI_SAS_IOUNIT2_FLAGS_DA_STARTING_SLOT (0x20) | ||
2409 | 2447 | ||
2410 | 2448 | ||
2411 | typedef struct _CONFIG_PAGE_SAS_IO_UNIT_3 | 2449 | typedef struct _CONFIG_PAGE_SAS_IO_UNIT_3 |
@@ -2584,11 +2622,19 @@ typedef struct _CONFIG_PAGE_SAS_DEVICE_2 | |||
2584 | { | 2622 | { |
2585 | CONFIG_EXTENDED_PAGE_HEADER Header; /* 00h */ | 2623 | CONFIG_EXTENDED_PAGE_HEADER Header; /* 00h */ |
2586 | U64 PhysicalIdentifier; /* 08h */ | 2624 | U64 PhysicalIdentifier; /* 08h */ |
2587 | U32 Reserved1; /* 10h */ | 2625 | U32 EnclosureMapping; /* 10h */ |
2588 | } CONFIG_PAGE_SAS_DEVICE_2, MPI_POINTER PTR_CONFIG_PAGE_SAS_DEVICE_2, | 2626 | } CONFIG_PAGE_SAS_DEVICE_2, MPI_POINTER PTR_CONFIG_PAGE_SAS_DEVICE_2, |
2589 | SasDevicePage2_t, MPI_POINTER pSasDevicePage2_t; | 2627 | SasDevicePage2_t, MPI_POINTER pSasDevicePage2_t; |
2590 | 2628 | ||
2591 | #define MPI_SASDEVICE2_PAGEVERSION (0x00) | 2629 | #define MPI_SASDEVICE2_PAGEVERSION (0x01) |
2630 | |||
2631 | /* defines for SAS Device Page 2 EnclosureMapping field */ | ||
2632 | #define MPI_SASDEVICE2_ENC_MAP_MASK_MISSING_COUNT (0x0000000F) | ||
2633 | #define MPI_SASDEVICE2_ENC_MAP_SHIFT_MISSING_COUNT (0) | ||
2634 | #define MPI_SASDEVICE2_ENC_MAP_MASK_NUM_SLOTS (0x000007F0) | ||
2635 | #define MPI_SASDEVICE2_ENC_MAP_SHIFT_NUM_SLOTS (4) | ||
2636 | #define MPI_SASDEVICE2_ENC_MAP_MASK_START_INDEX (0x001FF800) | ||
2637 | #define MPI_SASDEVICE2_ENC_MAP_SHIFT_START_INDEX (11) | ||
2592 | 2638 | ||
2593 | 2639 | ||
2594 | /**************************************************************************** | 2640 | /**************************************************************************** |
@@ -2598,7 +2644,8 @@ typedef struct _CONFIG_PAGE_SAS_DEVICE_2 | |||
2598 | typedef struct _CONFIG_PAGE_SAS_PHY_0 | 2644 | typedef struct _CONFIG_PAGE_SAS_PHY_0 |
2599 | { | 2645 | { |
2600 | CONFIG_EXTENDED_PAGE_HEADER Header; /* 00h */ | 2646 | CONFIG_EXTENDED_PAGE_HEADER Header; /* 00h */ |
2601 | U32 Reserved1; /* 08h */ | 2647 | U16 OwnerDevHandle; /* 08h */ |
2648 | U16 Reserved1; /* 0Ah */ | ||
2602 | U64 SASAddress; /* 0Ch */ | 2649 | U64 SASAddress; /* 0Ch */ |
2603 | U16 AttachedDevHandle; /* 14h */ | 2650 | U16 AttachedDevHandle; /* 14h */ |
2604 | U8 AttachedPhyIdentifier; /* 16h */ | 2651 | U8 AttachedPhyIdentifier; /* 16h */ |
@@ -2607,12 +2654,12 @@ typedef struct _CONFIG_PAGE_SAS_PHY_0 | |||
2607 | U8 ProgrammedLinkRate; /* 20h */ | 2654 | U8 ProgrammedLinkRate; /* 20h */ |
2608 | U8 HwLinkRate; /* 21h */ | 2655 | U8 HwLinkRate; /* 21h */ |
2609 | U8 ChangeCount; /* 22h */ | 2656 | U8 ChangeCount; /* 22h */ |
2610 | U8 Reserved3; /* 23h */ | 2657 | U8 Flags; /* 23h */ |
2611 | U32 PhyInfo; /* 24h */ | 2658 | U32 PhyInfo; /* 24h */ |
2612 | } CONFIG_PAGE_SAS_PHY_0, MPI_POINTER PTR_CONFIG_PAGE_SAS_PHY_0, | 2659 | } CONFIG_PAGE_SAS_PHY_0, MPI_POINTER PTR_CONFIG_PAGE_SAS_PHY_0, |
2613 | SasPhyPage0_t, MPI_POINTER pSasPhyPage0_t; | 2660 | SasPhyPage0_t, MPI_POINTER pSasPhyPage0_t; |
2614 | 2661 | ||
2615 | #define MPI_SASPHY0_PAGEVERSION (0x00) | 2662 | #define MPI_SASPHY0_PAGEVERSION (0x01) |
2616 | 2663 | ||
2617 | /* values for SAS PHY Page 0 ProgrammedLinkRate field */ | 2664 | /* values for SAS PHY Page 0 ProgrammedLinkRate field */ |
2618 | #define MPI_SAS_PHY0_PRATE_MAX_RATE_MASK (0xF0) | 2665 | #define MPI_SAS_PHY0_PRATE_MAX_RATE_MASK (0xF0) |
@@ -2632,6 +2679,9 @@ typedef struct _CONFIG_PAGE_SAS_PHY_0 | |||
2632 | #define MPI_SAS_PHY0_HWRATE_MIN_RATE_1_5 (0x08) | 2679 | #define MPI_SAS_PHY0_HWRATE_MIN_RATE_1_5 (0x08) |
2633 | #define MPI_SAS_PHY0_HWRATE_MIN_RATE_3_0 (0x09) | 2680 | #define MPI_SAS_PHY0_HWRATE_MIN_RATE_3_0 (0x09) |
2634 | 2681 | ||
2682 | /* values for SAS PHY Page 0 Flags field */ | ||
2683 | #define MPI_SAS_PHY0_FLAGS_SGPIO_DIRECT_ATTACH_ENC (0x01) | ||
2684 | |||
2635 | /* values for SAS PHY Page 0 PhyInfo field */ | 2685 | /* values for SAS PHY Page 0 PhyInfo field */ |
2636 | #define MPI_SAS_PHY0_PHYINFO_SATA_PORT_ACTIVE (0x00004000) | 2686 | #define MPI_SAS_PHY0_PHYINFO_SATA_PORT_ACTIVE (0x00004000) |
2637 | #define MPI_SAS_PHY0_PHYINFO_SATA_PORT_SELECTOR (0x00002000) | 2687 | #define MPI_SAS_PHY0_PHYINFO_SATA_PORT_SELECTOR (0x00002000) |
@@ -2690,7 +2740,7 @@ typedef struct _CONFIG_PAGE_SAS_ENCLOSURE_0 | |||
2690 | } CONFIG_PAGE_SAS_ENCLOSURE_0, MPI_POINTER PTR_CONFIG_PAGE_SAS_ENCLOSURE_0, | 2740 | } CONFIG_PAGE_SAS_ENCLOSURE_0, MPI_POINTER PTR_CONFIG_PAGE_SAS_ENCLOSURE_0, |
2691 | SasEnclosurePage0_t, MPI_POINTER pSasEnclosurePage0_t; | 2741 | SasEnclosurePage0_t, MPI_POINTER pSasEnclosurePage0_t; |
2692 | 2742 | ||
2693 | #define MPI_SASENCLOSURE0_PAGEVERSION (0x00) | 2743 | #define MPI_SASENCLOSURE0_PAGEVERSION (0x01) |
2694 | 2744 | ||
2695 | /* values for SAS Enclosure Page 0 Flags field */ | 2745 | /* values for SAS Enclosure Page 0 Flags field */ |
2696 | #define MPI_SAS_ENCLS0_FLAGS_SEP_BUS_ID_VALID (0x0020) | 2746 | #define MPI_SAS_ENCLS0_FLAGS_SEP_BUS_ID_VALID (0x0020) |
@@ -2702,6 +2752,7 @@ typedef struct _CONFIG_PAGE_SAS_ENCLOSURE_0 | |||
2702 | #define MPI_SAS_ENCLS0_FLAGS_MNG_IOC_SGPIO (0x0002) | 2752 | #define MPI_SAS_ENCLS0_FLAGS_MNG_IOC_SGPIO (0x0002) |
2703 | #define MPI_SAS_ENCLS0_FLAGS_MNG_EXP_SGPIO (0x0003) | 2753 | #define MPI_SAS_ENCLS0_FLAGS_MNG_EXP_SGPIO (0x0003) |
2704 | #define MPI_SAS_ENCLS0_FLAGS_MNG_SES_ENCLOSURE (0x0004) | 2754 | #define MPI_SAS_ENCLS0_FLAGS_MNG_SES_ENCLOSURE (0x0004) |
2755 | #define MPI_SAS_ENCLS0_FLAGS_MNG_IOC_GPIO (0x0005) | ||
2705 | 2756 | ||
2706 | 2757 | ||
2707 | /**************************************************************************** | 2758 | /**************************************************************************** |
diff --git a/drivers/message/fusion/lsi/mpi_history.txt b/drivers/message/fusion/lsi/mpi_history.txt index c9edbee41edf..1a30ef16adb4 100644 --- a/drivers/message/fusion/lsi/mpi_history.txt +++ b/drivers/message/fusion/lsi/mpi_history.txt | |||
@@ -6,17 +6,17 @@ | |||
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.09 | 9 | Header Set Release Version: 01.05.10 |
10 | Header Set Release Date: 03-11-05 | 10 | Header Set Release Date: 03-11-05 |
11 | --------------------------------------- | 11 | --------------------------------------- |
12 | 12 | ||
13 | Filename Current version Prior version | 13 | Filename Current version Prior version |
14 | ---------- --------------- ------------- | 14 | ---------- --------------- ------------- |
15 | mpi.h 01.05.07 01.05.06 | 15 | mpi.h 01.05.08 01.05.07 |
16 | mpi_ioc.h 01.05.08 01.05.07 | 16 | mpi_ioc.h 01.05.09 01.05.08 |
17 | mpi_cnfg.h 01.05.08 01.05.07 | 17 | mpi_cnfg.h 01.05.09 01.05.08 |
18 | mpi_init.h 01.05.04 01.05.03 | 18 | mpi_init.h 01.05.05 01.05.04 |
19 | mpi_targ.h 01.05.04 01.05.03 | 19 | mpi_targ.h 01.05.05 01.05.04 |
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 |
@@ -24,7 +24,7 @@ | |||
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.01 01.05.01 | 25 | mpi_sas.h 01.05.01 01.05.01 |
26 | mpi_type.h 01.05.01 01.05.01 | 26 | mpi_type.h 01.05.01 01.05.01 |
27 | mpi_history.txt 01.05.09 01.05.08 | 27 | mpi_history.txt 01.05.09 01.05.09 |
28 | 28 | ||
29 | 29 | ||
30 | * Date Version Description | 30 | * Date Version Description |
@@ -88,6 +88,9 @@ mpi.h | |||
88 | * 03-11-05 01.05.07 Removed function codes for SCSI IO 32 and | 88 | * 03-11-05 01.05.07 Removed function codes for SCSI IO 32 and |
89 | * TargetAssistExtended requests. | 89 | * TargetAssistExtended requests. |
90 | * Removed EEDP IOCStatus codes. | 90 | * Removed EEDP IOCStatus codes. |
91 | * 06-24-05 01.05.08 Added function codes for SCSI IO 32 and | ||
92 | * TargetAssistExtended requests. | ||
93 | * Added EEDP IOCStatus codes. | ||
91 | * -------------------------------------------------------------------------- | 94 | * -------------------------------------------------------------------------- |
92 | 95 | ||
93 | mpi_ioc.h | 96 | mpi_ioc.h |
@@ -159,6 +162,8 @@ mpi_ioc.h | |||
159 | * Reply and IOC Init Request. | 162 | * Reply and IOC Init Request. |
160 | * 03-11-05 01.05.08 Added family code for 1068E family. | 163 | * 03-11-05 01.05.08 Added family code for 1068E family. |
161 | * Removed IOCFacts Reply EEDP Capability bit. | 164 | * Removed IOCFacts Reply EEDP Capability bit. |
165 | * 06-24-05 01.05.09 Added 5 new IOCFacts Reply IOCCapabilities bits. | ||
166 | * Added Max SATA Targets to SAS Discovery Error event. | ||
162 | * -------------------------------------------------------------------------- | 167 | * -------------------------------------------------------------------------- |
163 | 168 | ||
164 | mpi_cnfg.h | 169 | mpi_cnfg.h |
@@ -380,6 +385,23 @@ mpi_cnfg.h | |||
380 | * New physical mapping mode in SAS IO Unit Page 2. | 385 | * New physical mapping mode in SAS IO Unit Page 2. |
381 | * Added CONFIG_PAGE_SAS_ENCLOSURE_0. | 386 | * Added CONFIG_PAGE_SAS_ENCLOSURE_0. |
382 | * Added Slot and Enclosure fields to SAS Device Page 0. | 387 | * Added Slot and Enclosure fields to SAS Device Page 0. |
388 | * 06-24-05 01.05.09 Added EEDP defines to IOC Page 1. | ||
389 | * Added more RAID type defines to IOC Page 2. | ||
390 | * Added Port Enable Delay settings to BIOS Page 1. | ||
391 | * Added Bad Block Table Full define to RAID Volume Page 0. | ||
392 | * Added Previous State defines to RAID Physical Disk | ||
393 | * Page 0. | ||
394 | * Added Max Sata Targets define for DiscoveryStatus field | ||
395 | * of SAS IO Unit Page 0. | ||
396 | * Added Device Self Test to Control Flags of SAS IO Unit | ||
397 | * Page 1. | ||
398 | * Added Direct Attach Starting Slot Number define for SAS | ||
399 | * IO Unit Page 2. | ||
400 | * Added new fields in SAS Device Page 2 for enclosure | ||
401 | * mapping. | ||
402 | * Added OwnerDevHandle and Flags field to SAS PHY Page 0. | ||
403 | * Added IOC GPIO Flags define to SAS Enclosure Page 0. | ||
404 | * Fixed the value for MPI_SAS_IOUNIT1_CONTROL_DEV_SATA_SUPPORT. | ||
383 | * -------------------------------------------------------------------------- | 405 | * -------------------------------------------------------------------------- |
384 | 406 | ||
385 | mpi_init.h | 407 | mpi_init.h |
@@ -418,6 +440,8 @@ mpi_init.h | |||
418 | * Modified SCSI Enclosure Processor Request and Reply to | 440 | * Modified SCSI Enclosure Processor Request and Reply to |
419 | * support Enclosure/Slot addressing rather than WWID | 441 | * support Enclosure/Slot addressing rather than WWID |
420 | * addressing. | 442 | * addressing. |
443 | * 06-24-05 01.05.05 Added SCSI IO 32 structures and defines. | ||
444 | * Added four new defines for SEP SlotStatus. | ||
421 | * -------------------------------------------------------------------------- | 445 | * -------------------------------------------------------------------------- |
422 | 446 | ||
423 | mpi_targ.h | 447 | mpi_targ.h |
@@ -461,6 +485,7 @@ mpi_targ.h | |||
461 | * 10-05-04 01.05.02 MSG_TARGET_CMD_BUFFER_POST_BASE_LIST_REPLY added. | 485 | * 10-05-04 01.05.02 MSG_TARGET_CMD_BUFFER_POST_BASE_LIST_REPLY added. |
462 | * 02-22-05 01.05.03 Changed a comment. | 486 | * 02-22-05 01.05.03 Changed a comment. |
463 | * 03-11-05 01.05.04 Removed TargetAssistExtended Request. | 487 | * 03-11-05 01.05.04 Removed TargetAssistExtended Request. |
488 | * 06-24-05 01.05.05 Added TargetAssistExtended structures and defines. | ||
464 | * -------------------------------------------------------------------------- | 489 | * -------------------------------------------------------------------------- |
465 | 490 | ||
466 | mpi_fc.h | 491 | mpi_fc.h |
@@ -571,20 +596,20 @@ mpi_type.h | |||
571 | 596 | ||
572 | mpi_history.txt Parts list history | 597 | mpi_history.txt Parts list history |
573 | 598 | ||
574 | Filename 01.05.09 | 599 | Filename 01.05.10 01.05.09 |
575 | ---------- -------- | 600 | ---------- -------- -------- |
576 | mpi.h 01.05.07 | 601 | mpi.h 01.05.08 01.05.07 |
577 | mpi_ioc.h 01.05.08 | 602 | mpi_ioc.h 01.05.09 01.05.08 |
578 | mpi_cnfg.h 01.05.08 | 603 | mpi_cnfg.h 01.05.09 01.05.08 |
579 | mpi_init.h 01.05.04 | 604 | mpi_init.h 01.05.05 01.05.04 |
580 | mpi_targ.h 01.05.04 | 605 | mpi_targ.h 01.05.05 01.05.04 |
581 | mpi_fc.h 01.05.01 | 606 | mpi_fc.h 01.05.01 01.05.01 |
582 | mpi_lan.h 01.05.01 | 607 | mpi_lan.h 01.05.01 01.05.01 |
583 | mpi_raid.h 01.05.02 | 608 | mpi_raid.h 01.05.02 01.05.02 |
584 | mpi_tool.h 01.05.03 | 609 | mpi_tool.h 01.05.03 01.05.03 |
585 | mpi_inb.h 01.05.01 | 610 | mpi_inb.h 01.05.01 01.05.01 |
586 | mpi_sas.h 01.05.01 | 611 | mpi_sas.h 01.05.01 01.05.01 |
587 | mpi_type.h 01.05.01 | 612 | mpi_type.h 01.05.01 01.05.01 |
588 | 613 | ||
589 | Filename 01.05.08 01.05.07 01.05.06 01.05.05 01.05.04 01.05.03 | 614 | Filename 01.05.08 01.05.07 01.05.06 01.05.05 01.05.04 01.05.03 |
590 | ---------- -------- -------- -------- -------- -------- -------- | 615 | ---------- -------- -------- -------- -------- -------- -------- |
diff --git a/drivers/message/fusion/lsi/mpi_init.h b/drivers/message/fusion/lsi/mpi_init.h index aca035801a86..d5af75afbd94 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.04 | 9 | * mpi_init.h Version: 01.05.05 |
10 | * | 10 | * |
11 | * Version History | 11 | * Version History |
12 | * --------------- | 12 | * --------------- |
@@ -48,6 +48,8 @@ | |||
48 | * Modified SCSI Enclosure Processor Request and Reply to | 48 | * Modified SCSI Enclosure Processor Request and Reply to |
49 | * support Enclosure/Slot addressing rather than WWID | 49 | * support Enclosure/Slot addressing rather than WWID |
50 | * addressing. | 50 | * addressing. |
51 | * 06-24-05 01.05.05 Added SCSI IO 32 structures and defines. | ||
52 | * Added four new defines for SEP SlotStatus. | ||
51 | * -------------------------------------------------------------------------- | 53 | * -------------------------------------------------------------------------- |
52 | */ | 54 | */ |
53 | 55 | ||
@@ -203,6 +205,197 @@ typedef struct _MSG_SCSI_IO_REPLY | |||
203 | 205 | ||
204 | 206 | ||
205 | /****************************************************************************/ | 207 | /****************************************************************************/ |
208 | /* SCSI IO 32 messages and associated structures */ | ||
209 | /****************************************************************************/ | ||
210 | |||
211 | typedef struct | ||
212 | { | ||
213 | U8 CDB[20]; /* 00h */ | ||
214 | U32 PrimaryReferenceTag; /* 14h */ | ||
215 | U16 PrimaryApplicationTag; /* 18h */ | ||
216 | U16 PrimaryApplicationTagMask; /* 1Ah */ | ||
217 | U32 TransferLength; /* 1Ch */ | ||
218 | } MPI_SCSI_IO32_CDB_EEDP32, MPI_POINTER PTR_MPI_SCSI_IO32_CDB_EEDP32, | ||
219 | MpiScsiIo32CdbEedp32_t, MPI_POINTER pMpiScsiIo32CdbEedp32_t; | ||
220 | |||
221 | typedef struct | ||
222 | { | ||
223 | U8 CDB[16]; /* 00h */ | ||
224 | U32 DataLength; /* 10h */ | ||
225 | U32 PrimaryReferenceTag; /* 14h */ | ||
226 | U16 PrimaryApplicationTag; /* 18h */ | ||
227 | U16 PrimaryApplicationTagMask; /* 1Ah */ | ||
228 | U32 TransferLength; /* 1Ch */ | ||
229 | } MPI_SCSI_IO32_CDB_EEDP16, MPI_POINTER PTR_MPI_SCSI_IO32_CDB_EEDP16, | ||
230 | MpiScsiIo32CdbEedp16_t, MPI_POINTER pMpiScsiIo32CdbEedp16_t; | ||
231 | |||
232 | typedef union | ||
233 | { | ||
234 | U8 CDB32[32]; | ||
235 | MPI_SCSI_IO32_CDB_EEDP32 EEDP32; | ||
236 | MPI_SCSI_IO32_CDB_EEDP16 EEDP16; | ||
237 | SGE_SIMPLE_UNION SGE; | ||
238 | } MPI_SCSI_IO32_CDB_UNION, MPI_POINTER PTR_MPI_SCSI_IO32_CDB_UNION, | ||
239 | MpiScsiIo32Cdb_t, MPI_POINTER pMpiScsiIo32Cdb_t; | ||
240 | |||
241 | typedef struct | ||
242 | { | ||
243 | U8 TargetID; /* 00h */ | ||
244 | U8 Bus; /* 01h */ | ||
245 | U16 Reserved1; /* 02h */ | ||
246 | U32 Reserved2; /* 04h */ | ||
247 | } MPI_SCSI_IO32_BUS_TARGET_ID_FORM, MPI_POINTER PTR_MPI_SCSI_IO32_BUS_TARGET_ID_FORM, | ||
248 | MpiScsiIo32BusTargetIdForm_t, MPI_POINTER pMpiScsiIo32BusTargetIdForm_t; | ||
249 | |||
250 | typedef union | ||
251 | { | ||
252 | MPI_SCSI_IO32_BUS_TARGET_ID_FORM SCSIID; | ||
253 | U64 WWID; | ||
254 | } MPI_SCSI_IO32_ADDRESS, MPI_POINTER PTR_MPI_SCSI_IO32_ADDRESS, | ||
255 | MpiScsiIo32Address_t, MPI_POINTER pMpiScsiIo32Address_t; | ||
256 | |||
257 | typedef struct _MSG_SCSI_IO32_REQUEST | ||
258 | { | ||
259 | U8 Port; /* 00h */ | ||
260 | U8 Reserved1; /* 01h */ | ||
261 | U8 ChainOffset; /* 02h */ | ||
262 | U8 Function; /* 03h */ | ||
263 | U8 CDBLength; /* 04h */ | ||
264 | U8 SenseBufferLength; /* 05h */ | ||
265 | U8 Flags; /* 06h */ | ||
266 | U8 MsgFlags; /* 07h */ | ||
267 | U32 MsgContext; /* 08h */ | ||
268 | U8 LUN[8]; /* 0Ch */ | ||
269 | U32 Control; /* 14h */ | ||
270 | MPI_SCSI_IO32_CDB_UNION CDB; /* 18h */ | ||
271 | U32 DataLength; /* 38h */ | ||
272 | U32 BidirectionalDataLength; /* 3Ch */ | ||
273 | U32 SecondaryReferenceTag; /* 40h */ | ||
274 | U16 SecondaryApplicationTag; /* 44h */ | ||
275 | U16 Reserved2; /* 46h */ | ||
276 | U16 EEDPFlags; /* 48h */ | ||
277 | U16 ApplicationTagTranslationMask; /* 4Ah */ | ||
278 | U32 EEDPBlockSize; /* 4Ch */ | ||
279 | MPI_SCSI_IO32_ADDRESS DeviceAddress; /* 50h */ | ||
280 | U8 SGLOffset0; /* 58h */ | ||
281 | U8 SGLOffset1; /* 59h */ | ||
282 | U8 SGLOffset2; /* 5Ah */ | ||
283 | U8 SGLOffset3; /* 5Bh */ | ||
284 | U32 Reserved3; /* 5Ch */ | ||
285 | U32 Reserved4; /* 60h */ | ||
286 | U32 SenseBufferLowAddr; /* 64h */ | ||
287 | SGE_IO_UNION SGL; /* 68h */ | ||
288 | } MSG_SCSI_IO32_REQUEST, MPI_POINTER PTR_MSG_SCSI_IO32_REQUEST, | ||
289 | SCSIIO32Request_t, MPI_POINTER pSCSIIO32Request_t; | ||
290 | |||
291 | /* SCSI IO 32 MsgFlags bits */ | ||
292 | #define MPI_SCSIIO32_MSGFLGS_SENSE_WIDTH (0x01) | ||
293 | #define MPI_SCSIIO32_MSGFLGS_SENSE_WIDTH_32 (0x00) | ||
294 | #define MPI_SCSIIO32_MSGFLGS_SENSE_WIDTH_64 (0x01) | ||
295 | |||
296 | #define MPI_SCSIIO32_MSGFLGS_SENSE_LOCATION (0x02) | ||
297 | #define MPI_SCSIIO32_MSGFLGS_SENSE_LOC_HOST (0x00) | ||
298 | #define MPI_SCSIIO32_MSGFLGS_SENSE_LOC_IOC (0x02) | ||
299 | |||
300 | #define MPI_SCSIIO32_MSGFLGS_CMD_DETERMINES_DATA_DIR (0x04) | ||
301 | #define MPI_SCSIIO32_MSGFLGS_SGL_OFFSETS_CHAINS (0x08) | ||
302 | #define MPI_SCSIIO32_MSGFLGS_MULTICAST (0x10) | ||
303 | #define MPI_SCSIIO32_MSGFLGS_BIDIRECTIONAL (0x20) | ||
304 | #define MPI_SCSIIO32_MSGFLGS_LARGE_CDB (0x40) | ||
305 | |||
306 | /* SCSI IO 32 Flags bits */ | ||
307 | #define MPI_SCSIIO32_FLAGS_FORM_MASK (0x03) | ||
308 | #define MPI_SCSIIO32_FLAGS_FORM_SCSIID (0x00) | ||
309 | #define MPI_SCSIIO32_FLAGS_FORM_WWID (0x01) | ||
310 | |||
311 | /* SCSI IO 32 LUN fields */ | ||
312 | #define MPI_SCSIIO32_LUN_FIRST_LEVEL_ADDRESSING (0x0000FFFF) | ||
313 | #define MPI_SCSIIO32_LUN_SECOND_LEVEL_ADDRESSING (0xFFFF0000) | ||
314 | #define MPI_SCSIIO32_LUN_THIRD_LEVEL_ADDRESSING (0x0000FFFF) | ||
315 | #define MPI_SCSIIO32_LUN_FOURTH_LEVEL_ADDRESSING (0xFFFF0000) | ||
316 | #define MPI_SCSIIO32_LUN_LEVEL_1_WORD (0xFF00) | ||
317 | #define MPI_SCSIIO32_LUN_LEVEL_1_DWORD (0x0000FF00) | ||
318 | |||
319 | /* SCSI IO 32 Control bits */ | ||
320 | #define MPI_SCSIIO32_CONTROL_DATADIRECTION_MASK (0x03000000) | ||
321 | #define MPI_SCSIIO32_CONTROL_NODATATRANSFER (0x00000000) | ||
322 | #define MPI_SCSIIO32_CONTROL_WRITE (0x01000000) | ||
323 | #define MPI_SCSIIO32_CONTROL_READ (0x02000000) | ||
324 | #define MPI_SCSIIO32_CONTROL_BIDIRECTIONAL (0x03000000) | ||
325 | |||
326 | #define MPI_SCSIIO32_CONTROL_ADDCDBLEN_MASK (0xFC000000) | ||
327 | #define MPI_SCSIIO32_CONTROL_ADDCDBLEN_SHIFT (26) | ||
328 | |||
329 | #define MPI_SCSIIO32_CONTROL_TASKATTRIBUTE_MASK (0x00000700) | ||
330 | #define MPI_SCSIIO32_CONTROL_SIMPLEQ (0x00000000) | ||
331 | #define MPI_SCSIIO32_CONTROL_HEADOFQ (0x00000100) | ||
332 | #define MPI_SCSIIO32_CONTROL_ORDEREDQ (0x00000200) | ||
333 | #define MPI_SCSIIO32_CONTROL_ACAQ (0x00000400) | ||
334 | #define MPI_SCSIIO32_CONTROL_UNTAGGED (0x00000500) | ||
335 | #define MPI_SCSIIO32_CONTROL_NO_DISCONNECT (0x00000700) | ||
336 | |||
337 | #define MPI_SCSIIO32_CONTROL_TASKMANAGE_MASK (0x00FF0000) | ||
338 | #define MPI_SCSIIO32_CONTROL_OBSOLETE (0x00800000) | ||
339 | #define MPI_SCSIIO32_CONTROL_CLEAR_ACA_RSV (0x00400000) | ||
340 | #define MPI_SCSIIO32_CONTROL_TARGET_RESET (0x00200000) | ||
341 | #define MPI_SCSIIO32_CONTROL_LUN_RESET_RSV (0x00100000) | ||
342 | #define MPI_SCSIIO32_CONTROL_RESERVED (0x00080000) | ||
343 | #define MPI_SCSIIO32_CONTROL_CLR_TASK_SET_RSV (0x00040000) | ||
344 | #define MPI_SCSIIO32_CONTROL_ABORT_TASK_SET (0x00020000) | ||
345 | #define MPI_SCSIIO32_CONTROL_RESERVED2 (0x00010000) | ||
346 | |||
347 | /* SCSI IO 32 EEDPFlags */ | ||
348 | #define MPI_SCSIIO32_EEDPFLAGS_MASK_OP (0x0007) | ||
349 | #define MPI_SCSIIO32_EEDPFLAGS_NOOP_OP (0x0000) | ||
350 | #define MPI_SCSIIO32_EEDPFLAGS_CHK_OP (0x0001) | ||
351 | #define MPI_SCSIIO32_EEDPFLAGS_STRIP_OP (0x0002) | ||
352 | #define MPI_SCSIIO32_EEDPFLAGS_CHKRM_OP (0x0003) | ||
353 | #define MPI_SCSIIO32_EEDPFLAGS_INSERT_OP (0x0004) | ||
354 | #define MPI_SCSIIO32_EEDPFLAGS_REPLACE_OP (0x0006) | ||
355 | #define MPI_SCSIIO32_EEDPFLAGS_CHKREGEN_OP (0x0007) | ||
356 | |||
357 | #define MPI_SCSIIO32_EEDPFLAGS_PASS_REF_TAG (0x0008) | ||
358 | #define MPI_SCSIIO32_EEDPFLAGS_8_9THS_MODE (0x0010) | ||
359 | |||
360 | #define MPI_SCSIIO32_EEDPFLAGS_T10_CHK_MASK (0x0700) | ||
361 | #define MPI_SCSIIO32_EEDPFLAGS_T10_CHK_GUARD (0x0100) | ||
362 | #define MPI_SCSIIO32_EEDPFLAGS_T10_CHK_REFTAG (0x0200) | ||
363 | #define MPI_SCSIIO32_EEDPFLAGS_T10_CHK_LBATAG (0x0400) | ||
364 | #define MPI_SCSIIO32_EEDPFLAGS_T10_CHK_SHIFT (8) | ||
365 | |||
366 | #define MPI_SCSIIO32_EEDPFLAGS_INC_SEC_APPTAG (0x1000) | ||
367 | #define MPI_SCSIIO32_EEDPFLAGS_INC_PRI_APPTAG (0x2000) | ||
368 | #define MPI_SCSIIO32_EEDPFLAGS_INC_SEC_REFTAG (0x4000) | ||
369 | #define MPI_SCSIIO32_EEDPFLAGS_INC_PRI_REFTAG (0x8000) | ||
370 | |||
371 | |||
372 | /* SCSIIO32 IO reply structure */ | ||
373 | typedef struct _MSG_SCSIIO32_IO_REPLY | ||
374 | { | ||
375 | U8 Port; /* 00h */ | ||
376 | U8 Reserved1; /* 01h */ | ||
377 | U8 MsgLength; /* 02h */ | ||
378 | U8 Function; /* 03h */ | ||
379 | U8 CDBLength; /* 04h */ | ||
380 | U8 SenseBufferLength; /* 05h */ | ||
381 | U8 Flags; /* 06h */ | ||
382 | U8 MsgFlags; /* 07h */ | ||
383 | U32 MsgContext; /* 08h */ | ||
384 | U8 SCSIStatus; /* 0Ch */ | ||
385 | U8 SCSIState; /* 0Dh */ | ||
386 | U16 IOCStatus; /* 0Eh */ | ||
387 | U32 IOCLogInfo; /* 10h */ | ||
388 | U32 TransferCount; /* 14h */ | ||
389 | U32 SenseCount; /* 18h */ | ||
390 | U32 ResponseInfo; /* 1Ch */ | ||
391 | U16 TaskTag; /* 20h */ | ||
392 | U16 Reserved2; /* 22h */ | ||
393 | U32 BidirectionalTransferCount; /* 24h */ | ||
394 | } MSG_SCSIIO32_IO_REPLY, MPI_POINTER PTR_MSG_SCSIIO32_IO_REPLY, | ||
395 | SCSIIO32Reply_t, MPI_POINTER pSCSIIO32Reply_t; | ||
396 | |||
397 | |||
398 | /****************************************************************************/ | ||
206 | /* SCSI Task Management messages */ | 399 | /* SCSI Task Management messages */ |
207 | /****************************************************************************/ | 400 | /****************************************************************************/ |
208 | 401 | ||
@@ -310,10 +503,14 @@ typedef struct _MSG_SEP_REQUEST | |||
310 | #define MPI_SEP_REQ_SLOTSTATUS_UNCONFIGURED (0x00000080) | 503 | #define MPI_SEP_REQ_SLOTSTATUS_UNCONFIGURED (0x00000080) |
311 | #define MPI_SEP_REQ_SLOTSTATUS_HOT_SPARE (0x00000100) | 504 | #define MPI_SEP_REQ_SLOTSTATUS_HOT_SPARE (0x00000100) |
312 | #define MPI_SEP_REQ_SLOTSTATUS_REBUILD_STOPPED (0x00000200) | 505 | #define MPI_SEP_REQ_SLOTSTATUS_REBUILD_STOPPED (0x00000200) |
506 | #define MPI_SEP_REQ_SLOTSTATUS_REQ_CONSISTENCY_CHECK (0x00001000) | ||
507 | #define MPI_SEP_REQ_SLOTSTATUS_DISABLE (0x00002000) | ||
508 | #define MPI_SEP_REQ_SLOTSTATUS_REQ_RESERVED_DEVICE (0x00004000) | ||
313 | #define MPI_SEP_REQ_SLOTSTATUS_IDENTIFY_REQUEST (0x00020000) | 509 | #define MPI_SEP_REQ_SLOTSTATUS_IDENTIFY_REQUEST (0x00020000) |
314 | #define MPI_SEP_REQ_SLOTSTATUS_REQUEST_REMOVE (0x00040000) | 510 | #define MPI_SEP_REQ_SLOTSTATUS_REQUEST_REMOVE (0x00040000) |
315 | #define MPI_SEP_REQ_SLOTSTATUS_REQUEST_INSERT (0x00080000) | 511 | #define MPI_SEP_REQ_SLOTSTATUS_REQUEST_INSERT (0x00080000) |
316 | #define MPI_SEP_REQ_SLOTSTATUS_DO_NOT_MOVE (0x00400000) | 512 | #define MPI_SEP_REQ_SLOTSTATUS_DO_NOT_MOVE (0x00400000) |
513 | #define MPI_SEP_REQ_SLOTSTATUS_ACTIVE (0x00800000) | ||
317 | #define MPI_SEP_REQ_SLOTSTATUS_B_ENABLE_BYPASS (0x04000000) | 514 | #define MPI_SEP_REQ_SLOTSTATUS_B_ENABLE_BYPASS (0x04000000) |
318 | #define MPI_SEP_REQ_SLOTSTATUS_A_ENABLE_BYPASS (0x08000000) | 515 | #define MPI_SEP_REQ_SLOTSTATUS_A_ENABLE_BYPASS (0x08000000) |
319 | #define MPI_SEP_REQ_SLOTSTATUS_DEV_OFF (0x10000000) | 516 | #define MPI_SEP_REQ_SLOTSTATUS_DEV_OFF (0x10000000) |
@@ -352,11 +549,15 @@ typedef struct _MSG_SEP_REPLY | |||
352 | #define MPI_SEP_REPLY_SLOTSTATUS_UNCONFIGURED (0x00000080) | 549 | #define MPI_SEP_REPLY_SLOTSTATUS_UNCONFIGURED (0x00000080) |
353 | #define MPI_SEP_REPLY_SLOTSTATUS_HOT_SPARE (0x00000100) | 550 | #define MPI_SEP_REPLY_SLOTSTATUS_HOT_SPARE (0x00000100) |
354 | #define MPI_SEP_REPLY_SLOTSTATUS_REBUILD_STOPPED (0x00000200) | 551 | #define MPI_SEP_REPLY_SLOTSTATUS_REBUILD_STOPPED (0x00000200) |
552 | #define MPI_SEP_REPLY_SLOTSTATUS_CONSISTENCY_CHECK (0x00001000) | ||
553 | #define MPI_SEP_REPLY_SLOTSTATUS_DISABLE (0x00002000) | ||
554 | #define MPI_SEP_REPLY_SLOTSTATUS_RESERVED_DEVICE (0x00004000) | ||
355 | #define MPI_SEP_REPLY_SLOTSTATUS_REPORT (0x00010000) | 555 | #define MPI_SEP_REPLY_SLOTSTATUS_REPORT (0x00010000) |
356 | #define MPI_SEP_REPLY_SLOTSTATUS_IDENTIFY_REQUEST (0x00020000) | 556 | #define MPI_SEP_REPLY_SLOTSTATUS_IDENTIFY_REQUEST (0x00020000) |
357 | #define MPI_SEP_REPLY_SLOTSTATUS_REMOVE_READY (0x00040000) | 557 | #define MPI_SEP_REPLY_SLOTSTATUS_REMOVE_READY (0x00040000) |
358 | #define MPI_SEP_REPLY_SLOTSTATUS_INSERT_READY (0x00080000) | 558 | #define MPI_SEP_REPLY_SLOTSTATUS_INSERT_READY (0x00080000) |
359 | #define MPI_SEP_REPLY_SLOTSTATUS_DO_NOT_REMOVE (0x00400000) | 559 | #define MPI_SEP_REPLY_SLOTSTATUS_DO_NOT_REMOVE (0x00400000) |
560 | #define MPI_SEP_REPLY_SLOTSTATUS_ACTIVE (0x00800000) | ||
360 | #define MPI_SEP_REPLY_SLOTSTATUS_B_BYPASS_ENABLED (0x01000000) | 561 | #define MPI_SEP_REPLY_SLOTSTATUS_B_BYPASS_ENABLED (0x01000000) |
361 | #define MPI_SEP_REPLY_SLOTSTATUS_A_BYPASS_ENABLED (0x02000000) | 562 | #define MPI_SEP_REPLY_SLOTSTATUS_A_BYPASS_ENABLED (0x02000000) |
362 | #define MPI_SEP_REPLY_SLOTSTATUS_B_ENABLE_BYPASS (0x04000000) | 563 | #define MPI_SEP_REPLY_SLOTSTATUS_B_ENABLE_BYPASS (0x04000000) |
diff --git a/drivers/message/fusion/lsi/mpi_ioc.h b/drivers/message/fusion/lsi/mpi_ioc.h index f91eb4efe8cc..93b70e2b4266 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.08 | 9 | * mpi_ioc.h Version: 01.05.09 |
10 | * | 10 | * |
11 | * Version History | 11 | * Version History |
12 | * --------------- | 12 | * --------------- |
@@ -81,6 +81,8 @@ | |||
81 | * Reply and IOC Init Request. | 81 | * Reply and IOC Init Request. |
82 | * 03-11-05 01.05.08 Added family code for 1068E family. | 82 | * 03-11-05 01.05.08 Added family code for 1068E family. |
83 | * Removed IOCFacts Reply EEDP Capability bit. | 83 | * Removed IOCFacts Reply EEDP Capability bit. |
84 | * 06-24-05 01.05.09 Added 5 new IOCFacts Reply IOCCapabilities bits. | ||
85 | * Added Max SATA Targets to SAS Discovery Error event. | ||
84 | * -------------------------------------------------------------------------- | 86 | * -------------------------------------------------------------------------- |
85 | */ | 87 | */ |
86 | 88 | ||
@@ -261,7 +263,11 @@ typedef struct _MSG_IOC_FACTS_REPLY | |||
261 | #define MPI_IOCFACTS_CAPABILITY_DIAG_TRACE_BUFFER (0x00000008) | 263 | #define MPI_IOCFACTS_CAPABILITY_DIAG_TRACE_BUFFER (0x00000008) |
262 | #define MPI_IOCFACTS_CAPABILITY_SNAPSHOT_BUFFER (0x00000010) | 264 | #define MPI_IOCFACTS_CAPABILITY_SNAPSHOT_BUFFER (0x00000010) |
263 | #define MPI_IOCFACTS_CAPABILITY_EXTENDED_BUFFER (0x00000020) | 265 | #define MPI_IOCFACTS_CAPABILITY_EXTENDED_BUFFER (0x00000020) |
264 | 266 | #define MPI_IOCFACTS_CAPABILITY_EEDP (0x00000040) | |
267 | #define MPI_IOCFACTS_CAPABILITY_BIDIRECTIONAL (0x00000080) | ||
268 | #define MPI_IOCFACTS_CAPABILITY_MULTICAST (0x00000100) | ||
269 | #define MPI_IOCFACTS_CAPABILITY_SCSIIO32 (0x00000200) | ||
270 | #define MPI_IOCFACTS_CAPABILITY_NO_SCSIIO16 (0x00000400) | ||
265 | 271 | ||
266 | 272 | ||
267 | /***************************************************************************** | 273 | /***************************************************************************** |
@@ -677,6 +683,7 @@ typedef struct _EVENT_DATA_DISCOVERY_ERROR | |||
677 | #define MPI_EVENT_DSCVRY_ERR_DS_MULTPL_SUBTRACTIVE (0x00000200) | 683 | #define MPI_EVENT_DSCVRY_ERR_DS_MULTPL_SUBTRACTIVE (0x00000200) |
678 | #define MPI_EVENT_DSCVRY_ERR_DS_TABLE_TO_TABLE (0x00000400) | 684 | #define MPI_EVENT_DSCVRY_ERR_DS_TABLE_TO_TABLE (0x00000400) |
679 | #define MPI_EVENT_DSCVRY_ERR_DS_MULTPL_PATHS (0x00000800) | 685 | #define MPI_EVENT_DSCVRY_ERR_DS_MULTPL_PATHS (0x00000800) |
686 | #define MPI_EVENT_DSCVRY_ERR_DS_MAX_SATA_TARGETS (0x00001000) | ||
680 | 687 | ||
681 | 688 | ||
682 | /***************************************************************************** | 689 | /***************************************************************************** |
diff --git a/drivers/message/fusion/lsi/mpi_targ.h b/drivers/message/fusion/lsi/mpi_targ.h index 623901fd82be..3f462859ceea 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.04 | 9 | * mpi_targ.h Version: 01.05.05 |
10 | * | 10 | * |
11 | * Version History | 11 | * Version History |
12 | * --------------- | 12 | * --------------- |
@@ -53,6 +53,7 @@ | |||
53 | * 10-05-04 01.05.02 MSG_TARGET_CMD_BUFFER_POST_BASE_LIST_REPLY added. | 53 | * 10-05-04 01.05.02 MSG_TARGET_CMD_BUFFER_POST_BASE_LIST_REPLY added. |
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 | * -------------------------------------------------------------------------- | 57 | * -------------------------------------------------------------------------- |
57 | */ | 58 | */ |
58 | 59 | ||
@@ -371,6 +372,77 @@ typedef struct _MSG_TARGET_ERROR_REPLY | |||
371 | 372 | ||
372 | 373 | ||
373 | /****************************************************************************/ | 374 | /****************************************************************************/ |
375 | /* Target Assist Extended Request */ | ||
376 | /****************************************************************************/ | ||
377 | |||
378 | typedef struct _MSG_TARGET_ASSIST_EXT_REQUEST | ||
379 | { | ||
380 | U8 StatusCode; /* 00h */ | ||
381 | U8 TargetAssistFlags; /* 01h */ | ||
382 | U8 ChainOffset; /* 02h */ | ||
383 | U8 Function; /* 03h */ | ||
384 | U16 QueueTag; /* 04h */ | ||
385 | U8 Reserved1; /* 06h */ | ||
386 | U8 MsgFlags; /* 07h */ | ||
387 | U32 MsgContext; /* 08h */ | ||
388 | U32 ReplyWord; /* 0Ch */ | ||
389 | U8 LUN[8]; /* 10h */ | ||
390 | U32 RelativeOffset; /* 18h */ | ||
391 | U32 Reserved2; /* 1Ch */ | ||
392 | U32 Reserved3; /* 20h */ | ||
393 | U32 PrimaryReferenceTag; /* 24h */ | ||
394 | U16 PrimaryApplicationTag; /* 28h */ | ||
395 | U16 PrimaryApplicationTagMask; /* 2Ah */ | ||
396 | U32 Reserved4; /* 2Ch */ | ||
397 | U32 DataLength; /* 30h */ | ||
398 | U32 BidirectionalDataLength; /* 34h */ | ||
399 | U32 SecondaryReferenceTag; /* 38h */ | ||
400 | U16 SecondaryApplicationTag; /* 3Ch */ | ||
401 | U16 Reserved5; /* 3Eh */ | ||
402 | U16 EEDPFlags; /* 40h */ | ||
403 | U16 ApplicationTagTranslationMask; /* 42h */ | ||
404 | U32 EEDPBlockSize; /* 44h */ | ||
405 | U8 SGLOffset0; /* 48h */ | ||
406 | U8 SGLOffset1; /* 49h */ | ||
407 | U8 SGLOffset2; /* 4Ah */ | ||
408 | U8 SGLOffset3; /* 4Bh */ | ||
409 | U32 Reserved6; /* 4Ch */ | ||
410 | SGE_IO_UNION SGL[1]; /* 50h */ | ||
411 | } MSG_TARGET_ASSIST_EXT_REQUEST, MPI_POINTER PTR_MSG_TARGET_ASSIST_EXT_REQUEST, | ||
412 | TargetAssistExtRequest_t, MPI_POINTER pTargetAssistExtRequest_t; | ||
413 | |||
414 | /* see the defines after MSG_TARGET_ASSIST_REQUEST for TargetAssistFlags */ | ||
415 | |||
416 | /* defines for the MsgFlags field */ | ||
417 | #define TARGET_ASSIST_EXT_MSGFLAGS_BIDIRECTIONAL (0x20) | ||
418 | #define TARGET_ASSIST_EXT_MSGFLAGS_MULTICAST (0x10) | ||
419 | #define TARGET_ASSIST_EXT_MSGFLAGS_SGL_OFFSET_CHAINS (0x08) | ||
420 | |||
421 | /* defines for the EEDPFlags field */ | ||
422 | #define TARGET_ASSIST_EXT_EEDP_MASK_OP (0x0007) | ||
423 | #define TARGET_ASSIST_EXT_EEDP_NOOP_OP (0x0000) | ||
424 | #define TARGET_ASSIST_EXT_EEDP_CHK_OP (0x0001) | ||
425 | #define TARGET_ASSIST_EXT_EEDP_STRIP_OP (0x0002) | ||
426 | #define TARGET_ASSIST_EXT_EEDP_CHKRM_OP (0x0003) | ||
427 | #define TARGET_ASSIST_EXT_EEDP_INSERT_OP (0x0004) | ||
428 | #define TARGET_ASSIST_EXT_EEDP_REPLACE_OP (0x0006) | ||
429 | #define TARGET_ASSIST_EXT_EEDP_CHKREGEN_OP (0x0007) | ||
430 | |||
431 | #define TARGET_ASSIST_EXT_EEDP_PASS_REF_TAG (0x0008) | ||
432 | |||
433 | #define TARGET_ASSIST_EXT_EEDP_T10_CHK_MASK (0x0700) | ||
434 | #define TARGET_ASSIST_EXT_EEDP_T10_CHK_GUARD (0x0100) | ||
435 | #define TARGET_ASSIST_EXT_EEDP_T10_CHK_APPTAG (0x0200) | ||
436 | #define TARGET_ASSIST_EXT_EEDP_T10_CHK_REFTAG (0x0400) | ||
437 | #define TARGET_ASSIST_EXT_EEDP_T10_CHK_SHIFT (8) | ||
438 | |||
439 | #define TARGET_ASSIST_EXT_EEDP_INC_SEC_APPTAG (0x1000) | ||
440 | #define TARGET_ASSIST_EXT_EEDP_INC_PRI_APPTAG (0x2000) | ||
441 | #define TARGET_ASSIST_EXT_EEDP_INC_SEC_REFTAG (0x4000) | ||
442 | #define TARGET_ASSIST_EXT_EEDP_INC_PRI_REFTAG (0x8000) | ||
443 | |||
444 | |||
445 | /****************************************************************************/ | ||
374 | /* Target Status Send Request */ | 446 | /* Target Status Send Request */ |
375 | /****************************************************************************/ | 447 | /****************************************************************************/ |
376 | 448 | ||