diff options
| -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 | ||
