diff options
Diffstat (limited to 'drivers/message/fusion/lsi')
| -rw-r--r-- | drivers/message/fusion/lsi/mpi.h | 10 | ||||
| -rw-r--r-- | drivers/message/fusion/lsi/mpi_cnfg.h | 158 | ||||
| -rw-r--r-- | drivers/message/fusion/lsi/mpi_history.txt | 77 | ||||
| -rw-r--r-- | drivers/message/fusion/lsi/mpi_init.h | 8 | ||||
| -rw-r--r-- | drivers/message/fusion/lsi/mpi_ioc.h | 122 | ||||
| -rw-r--r-- | drivers/message/fusion/lsi/mpi_log_fc.h | 89 | ||||
| -rw-r--r-- | drivers/message/fusion/lsi/mpi_log_sas.h | 162 | ||||
| -rw-r--r-- | drivers/message/fusion/lsi/mpi_sas.h | 30 |
8 files changed, 554 insertions, 102 deletions
diff --git a/drivers/message/fusion/lsi/mpi.h b/drivers/message/fusion/lsi/mpi.h index b61e3d175070..02cdc840a06b 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.08 | 9 | * mpi.h Version: 01.05.10 |
| 10 | * | 10 | * |
| 11 | * Version History | 11 | * Version History |
| 12 | * --------------- | 12 | * --------------- |
| @@ -74,6 +74,8 @@ | |||
| 74 | * 06-24-05 01.05.08 Added function codes for SCSI IO 32 and | 74 | * 06-24-05 01.05.08 Added function codes for SCSI IO 32 and |
| 75 | * TargetAssistExtended requests. | 75 | * TargetAssistExtended requests. |
| 76 | * Added EEDP IOCStatus codes. | 76 | * Added EEDP IOCStatus codes. |
| 77 | * 08-03-05 01.05.09 Bumped MPI_HEADER_VERSION_UNIT. | ||
| 78 | * 08-30-05 01.05.10 Added 2 new IOCStatus codes for Target. | ||
| 77 | * -------------------------------------------------------------------------- | 79 | * -------------------------------------------------------------------------- |
| 78 | */ | 80 | */ |
| 79 | 81 | ||
| @@ -104,7 +106,7 @@ | |||
| 104 | /* Note: The major versions of 0xe0 through 0xff are reserved */ | 106 | /* Note: The major versions of 0xe0 through 0xff are reserved */ |
| 105 | 107 | ||
| 106 | /* versioning for this MPI header set */ | 108 | /* versioning for this MPI header set */ |
| 107 | #define MPI_HEADER_VERSION_UNIT (0x0A) | 109 | #define MPI_HEADER_VERSION_UNIT (0x0C) |
| 108 | #define MPI_HEADER_VERSION_DEV (0x00) | 110 | #define MPI_HEADER_VERSION_DEV (0x00) |
| 109 | #define MPI_HEADER_VERSION_UNIT_MASK (0xFF00) | 111 | #define MPI_HEADER_VERSION_UNIT_MASK (0xFF00) |
| 110 | #define MPI_HEADER_VERSION_UNIT_SHIFT (8) | 112 | #define MPI_HEADER_VERSION_UNIT_SHIFT (8) |
| @@ -711,6 +713,8 @@ typedef struct _MSG_DEFAULT_REPLY | |||
| 711 | #define MPI_IOCSTATUS_TARGET_DATA_OFFSET_ERROR (0x006D) | 713 | #define MPI_IOCSTATUS_TARGET_DATA_OFFSET_ERROR (0x006D) |
| 712 | #define MPI_IOCSTATUS_TARGET_TOO_MUCH_WRITE_DATA (0x006E) | 714 | #define MPI_IOCSTATUS_TARGET_TOO_MUCH_WRITE_DATA (0x006E) |
| 713 | #define MPI_IOCSTATUS_TARGET_IU_TOO_SHORT (0x006F) | 715 | #define MPI_IOCSTATUS_TARGET_IU_TOO_SHORT (0x006F) |
| 716 | #define MPI_IOCSTATUS_TARGET_ACK_NAK_TIMEOUT (0x0070) | ||
| 717 | #define MPI_IOCSTATUS_TARGET_NAK_RECEIVED (0x0071) | ||
| 714 | 718 | ||
| 715 | /****************************************************************************/ | 719 | /****************************************************************************/ |
| 716 | /* Additional FCP target values (obsolete) */ | 720 | /* Additional FCP target values (obsolete) */ |
| @@ -745,7 +749,7 @@ typedef struct _MSG_DEFAULT_REPLY | |||
| 745 | #define MPI_IOCSTATUS_LAN_CANCELED (0x0087) | 749 | #define MPI_IOCSTATUS_LAN_CANCELED (0x0087) |
| 746 | 750 | ||
| 747 | /****************************************************************************/ | 751 | /****************************************************************************/ |
| 748 | /* Serial Attached SCSI values */ | 752 | /* Serial Attached SCSI values */ |
| 749 | /****************************************************************************/ | 753 | /****************************************************************************/ |
| 750 | 754 | ||
| 751 | #define MPI_IOCSTATUS_SAS_SMP_REQUEST_FAILED (0x0090) | 755 | #define MPI_IOCSTATUS_SAS_SMP_REQUEST_FAILED (0x0090) |
diff --git a/drivers/message/fusion/lsi/mpi_cnfg.h b/drivers/message/fusion/lsi/mpi_cnfg.h index d8339896f734..b1becec27e1b 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.09 | 9 | * mpi_cnfg.h Version: 01.05.11 |
| 10 | * | 10 | * |
| 11 | * Version History | 11 | * Version History |
| 12 | * --------------- | 12 | * --------------- |
| @@ -249,6 +249,23 @@ | |||
| 249 | * Added OwnerDevHandle and Flags field to SAS PHY Page 0. | 249 | * Added OwnerDevHandle and Flags field to SAS PHY Page 0. |
| 250 | * Added IOC GPIO Flags define to SAS Enclosure 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. | 251 | * Fixed the value for MPI_SAS_IOUNIT1_CONTROL_DEV_SATA_SUPPORT. |
| 252 | * 08-03-05 01.05.10 Removed ISDataScrubRate and ISResyncRate from | ||
| 253 | * Manufacturing Page 4. | ||
| 254 | * Added MPI_IOUNITPAGE1_SATA_WRITE_CACHE_DISABLE bit. | ||
| 255 | * Added NumDevsPerEnclosure field to SAS IO Unit page 2. | ||
| 256 | * Added MPI_SAS_IOUNIT2_FLAGS_HOST_ASSIGNED_PHYS_MAP | ||
| 257 | * define. | ||
| 258 | * Added EnclosureHandle field to SAS Expander page 0. | ||
| 259 | * Removed redundant NumTableEntriesProg field from SAS | ||
| 260 | * Expander Page 1. | ||
| 261 | * 08-30-05 01.05.11 Added DeviceID for FC949E and changed the DeviceID for | ||
| 262 | * SAS1078. | ||
| 263 | * Added more defines for Manufacturing Page 4 Flags field. | ||
| 264 | * Added more defines for IOCSettings and added | ||
| 265 | * ExpanderSpinup field to Bios Page 1. | ||
| 266 | * Added postpone SATA Init bit to SAS IO Unit Page 1 | ||
| 267 | * ControlFlags. | ||
| 268 | * Changed LogEntry format for Log Page 0. | ||
| 252 | * -------------------------------------------------------------------------- | 269 | * -------------------------------------------------------------------------- |
| 253 | */ | 270 | */ |
| 254 | 271 | ||
| @@ -494,7 +511,7 @@ typedef struct _MSG_CONFIG_REPLY | |||
| 494 | #define MPI_MANUFACTPAGE_DEVICEID_FC929X (0x0626) | 511 | #define MPI_MANUFACTPAGE_DEVICEID_FC929X (0x0626) |
| 495 | #define MPI_MANUFACTPAGE_DEVICEID_FC939X (0x0642) | 512 | #define MPI_MANUFACTPAGE_DEVICEID_FC939X (0x0642) |
| 496 | #define MPI_MANUFACTPAGE_DEVICEID_FC949X (0x0640) | 513 | #define MPI_MANUFACTPAGE_DEVICEID_FC949X (0x0640) |
| 497 | #define MPI_MANUFACTPAGE_DEVICEID_FC949ES (0x0646) | 514 | #define MPI_MANUFACTPAGE_DEVICEID_FC949E (0x0646) |
| 498 | /* SCSI */ | 515 | /* SCSI */ |
| 499 | #define MPI_MANUFACTPAGE_DEVID_53C1030 (0x0030) | 516 | #define MPI_MANUFACTPAGE_DEVID_53C1030 (0x0030) |
| 500 | #define MPI_MANUFACTPAGE_DEVID_53C1030ZC (0x0031) | 517 | #define MPI_MANUFACTPAGE_DEVID_53C1030ZC (0x0031) |
| @@ -510,7 +527,7 @@ typedef struct _MSG_CONFIG_REPLY | |||
| 510 | #define MPI_MANUFACTPAGE_DEVID_SAS1066E (0x005A) | 527 | #define MPI_MANUFACTPAGE_DEVID_SAS1066E (0x005A) |
| 511 | #define MPI_MANUFACTPAGE_DEVID_SAS1068 (0x0054) | 528 | #define MPI_MANUFACTPAGE_DEVID_SAS1068 (0x0054) |
| 512 | #define MPI_MANUFACTPAGE_DEVID_SAS1068E (0x0058) | 529 | #define MPI_MANUFACTPAGE_DEVID_SAS1068E (0x0058) |
| 513 | #define MPI_MANUFACTPAGE_DEVID_SAS1078 (0x0060) | 530 | #define MPI_MANUFACTPAGE_DEVID_SAS1078 (0x0062) |
| 514 | 531 | ||
| 515 | 532 | ||
| 516 | typedef struct _CONFIG_PAGE_MANUFACTURING_0 | 533 | typedef struct _CONFIG_PAGE_MANUFACTURING_0 |
| @@ -602,9 +619,7 @@ typedef struct _CONFIG_PAGE_MANUFACTURING_4 | |||
| 602 | U32 IMVolumeSettings; /* 50h */ | 619 | U32 IMVolumeSettings; /* 50h */ |
| 603 | U32 Reserved3; /* 54h */ | 620 | U32 Reserved3; /* 54h */ |
| 604 | U32 Reserved4; /* 58h */ | 621 | U32 Reserved4; /* 58h */ |
| 605 | U8 ISDataScrubRate; /* 5Ch */ | 622 | U32 Reserved5; /* 5Ch */ |
| 606 | U8 ISResyncRate; /* 5Dh */ | ||
| 607 | U16 Reserved5; /* 5Eh */ | ||
| 608 | U8 IMEDataScrubRate; /* 60h */ | 623 | U8 IMEDataScrubRate; /* 60h */ |
| 609 | U8 IMEResyncRate; /* 61h */ | 624 | U8 IMEResyncRate; /* 61h */ |
| 610 | U16 Reserved6; /* 62h */ | 625 | U16 Reserved6; /* 62h */ |
| @@ -616,9 +631,14 @@ typedef struct _CONFIG_PAGE_MANUFACTURING_4 | |||
| 616 | } CONFIG_PAGE_MANUFACTURING_4, MPI_POINTER PTR_CONFIG_PAGE_MANUFACTURING_4, | 631 | } CONFIG_PAGE_MANUFACTURING_4, MPI_POINTER PTR_CONFIG_PAGE_MANUFACTURING_4, |
| 617 | ManufacturingPage4_t, MPI_POINTER pManufacturingPage4_t; | 632 | ManufacturingPage4_t, MPI_POINTER pManufacturingPage4_t; |
| 618 | 633 | ||
| 619 | #define MPI_MANUFACTURING4_PAGEVERSION (0x02) | 634 | #define MPI_MANUFACTURING4_PAGEVERSION (0x03) |
| 620 | 635 | ||
| 621 | /* defines for the Flags field */ | 636 | /* defines for the Flags field */ |
| 637 | #define MPI_MANPAGE4_IME_DISABLE (0x20) | ||
| 638 | #define MPI_MANPAGE4_IM_DISABLE (0x10) | ||
| 639 | #define MPI_MANPAGE4_IS_DISABLE (0x08) | ||
| 640 | #define MPI_MANPAGE4_IR_MODEPAGE8_DISABLE (0x04) | ||
| 641 | #define MPI_MANPAGE4_IM_RESYNC_CACHE_ENABLE (0x02) | ||
| 622 | #define MPI_MANPAGE4_IR_NO_MIX_SAS_SATA (0x01) | 642 | #define MPI_MANPAGE4_IR_NO_MIX_SAS_SATA (0x01) |
| 623 | 643 | ||
| 624 | 644 | ||
| @@ -669,7 +689,7 @@ typedef struct _CONFIG_PAGE_IO_UNIT_1 | |||
| 669 | } CONFIG_PAGE_IO_UNIT_1, MPI_POINTER PTR_CONFIG_PAGE_IO_UNIT_1, | 689 | } CONFIG_PAGE_IO_UNIT_1, MPI_POINTER PTR_CONFIG_PAGE_IO_UNIT_1, |
| 670 | IOUnitPage1_t, MPI_POINTER pIOUnitPage1_t; | 690 | IOUnitPage1_t, MPI_POINTER pIOUnitPage1_t; |
| 671 | 691 | ||
| 672 | #define MPI_IOUNITPAGE1_PAGEVERSION (0x01) | 692 | #define MPI_IOUNITPAGE1_PAGEVERSION (0x02) |
| 673 | 693 | ||
| 674 | /* IO Unit Page 1 Flags defines */ | 694 | /* IO Unit Page 1 Flags defines */ |
| 675 | #define MPI_IOUNITPAGE1_MULTI_FUNCTION (0x00000000) | 695 | #define MPI_IOUNITPAGE1_MULTI_FUNCTION (0x00000000) |
| @@ -681,7 +701,7 @@ typedef struct _CONFIG_PAGE_IO_UNIT_1 | |||
| 681 | #define MPI_IOUNITPAGE1_DISABLE_IR (0x00000040) | 701 | #define MPI_IOUNITPAGE1_DISABLE_IR (0x00000040) |
| 682 | #define MPI_IOUNITPAGE1_FORCE_32 (0x00000080) | 702 | #define MPI_IOUNITPAGE1_FORCE_32 (0x00000080) |
| 683 | #define MPI_IOUNITPAGE1_NATIVE_COMMAND_Q_DISABLE (0x00000100) | 703 | #define MPI_IOUNITPAGE1_NATIVE_COMMAND_Q_DISABLE (0x00000100) |
| 684 | 704 | #define MPI_IOUNITPAGE1_SATA_WRITE_CACHE_DISABLE (0x00000200) | |
| 685 | 705 | ||
| 686 | typedef struct _MPI_ADAPTER_INFO | 706 | typedef struct _MPI_ADAPTER_INFO |
| 687 | { | 707 | { |
| @@ -968,7 +988,8 @@ typedef struct _CONFIG_PAGE_BIOS_1 | |||
| 968 | U32 Reserved1; /* 0Ch */ | 988 | U32 Reserved1; /* 0Ch */ |
| 969 | U32 DeviceSettings; /* 10h */ | 989 | U32 DeviceSettings; /* 10h */ |
| 970 | U16 NumberOfDevices; /* 14h */ | 990 | U16 NumberOfDevices; /* 14h */ |
| 971 | U16 Reserved2; /* 16h */ | 991 | U8 ExpanderSpinup; /* 16h */ |
| 992 | U8 Reserved2; /* 17h */ | ||
| 972 | U16 IOTimeoutBlockDevicesNonRM; /* 18h */ | 993 | U16 IOTimeoutBlockDevicesNonRM; /* 18h */ |
| 973 | U16 IOTimeoutSequential; /* 1Ah */ | 994 | U16 IOTimeoutSequential; /* 1Ah */ |
| 974 | U16 IOTimeoutOther; /* 1Ch */ | 995 | U16 IOTimeoutOther; /* 1Ch */ |
| @@ -976,7 +997,7 @@ typedef struct _CONFIG_PAGE_BIOS_1 | |||
| 976 | } CONFIG_PAGE_BIOS_1, MPI_POINTER PTR_CONFIG_PAGE_BIOS_1, | 997 | } CONFIG_PAGE_BIOS_1, MPI_POINTER PTR_CONFIG_PAGE_BIOS_1, |
| 977 | BIOSPage1_t, MPI_POINTER pBIOSPage1_t; | 998 | BIOSPage1_t, MPI_POINTER pBIOSPage1_t; |
| 978 | 999 | ||
| 979 | #define MPI_BIOSPAGE1_PAGEVERSION (0x02) | 1000 | #define MPI_BIOSPAGE1_PAGEVERSION (0x03) |
| 980 | 1001 | ||
| 981 | /* values for the BiosOptions field */ | 1002 | /* values for the BiosOptions field */ |
| 982 | #define MPI_BIOSPAGE1_OPTIONS_SPI_ENABLE (0x00000400) | 1003 | #define MPI_BIOSPAGE1_OPTIONS_SPI_ENABLE (0x00000400) |
| @@ -985,8 +1006,15 @@ typedef struct _CONFIG_PAGE_BIOS_1 | |||
| 985 | #define MPI_BIOSPAGE1_OPTIONS_DISABLE_BIOS (0x00000001) | 1006 | #define MPI_BIOSPAGE1_OPTIONS_DISABLE_BIOS (0x00000001) |
| 986 | 1007 | ||
| 987 | /* values for the IOCSettings field */ | 1008 | /* values for the IOCSettings field */ |
| 1009 | #define MPI_BIOSPAGE1_IOCSET_MASK_INITIAL_SPINUP_DELAY (0x0F000000) | ||
| 1010 | #define MPI_BIOSPAGE1_IOCSET_SHIFT_INITIAL_SPINUP_DELAY (24) | ||
| 1011 | |||
| 988 | #define MPI_BIOSPAGE1_IOCSET_MASK_PORT_ENABLE_DELAY (0x00F00000) | 1012 | #define MPI_BIOSPAGE1_IOCSET_MASK_PORT_ENABLE_DELAY (0x00F00000) |
| 989 | #define MPI_BIOSPAGE1_IOCSET_SHIFT_PORT_ENABLE_DELAY (20) | 1013 | #define MPI_BIOSPAGE1_IOCSET_SHIFT_PORT_ENABLE_DELAY (20) |
| 1014 | |||
| 1015 | #define MPI_BIOSPAGE1_IOCSET_AUTO_PORT_ENABLE (0x00080000) | ||
| 1016 | #define MPI_BIOSPAGE1_IOCSET_DIRECT_ATTACH_SPINUP_MODE (0x00040000) | ||
| 1017 | |||
| 990 | #define MPI_BIOSPAGE1_IOCSET_MASK_BOOT_PREFERENCE (0x00030000) | 1018 | #define MPI_BIOSPAGE1_IOCSET_MASK_BOOT_PREFERENCE (0x00030000) |
| 991 | #define MPI_BIOSPAGE1_IOCSET_ENCLOSURE_SLOT_BOOT (0x00000000) | 1019 | #define MPI_BIOSPAGE1_IOCSET_ENCLOSURE_SLOT_BOOT (0x00000000) |
| 992 | #define MPI_BIOSPAGE1_IOCSET_SAS_ADDRESS_BOOT (0x00010000) | 1020 | #define MPI_BIOSPAGE1_IOCSET_SAS_ADDRESS_BOOT (0x00010000) |
| @@ -1016,6 +1044,11 @@ typedef struct _CONFIG_PAGE_BIOS_1 | |||
| 1016 | #define MPI_BIOSPAGE1_DEVSET_DISABLE_NON_RM_LUN (0x00000002) | 1044 | #define MPI_BIOSPAGE1_DEVSET_DISABLE_NON_RM_LUN (0x00000002) |
| 1017 | #define MPI_BIOSPAGE1_DEVSET_DISABLE_OTHER_LUN (0x00000001) | 1045 | #define MPI_BIOSPAGE1_DEVSET_DISABLE_OTHER_LUN (0x00000001) |
| 1018 | 1046 | ||
| 1047 | /* defines for the ExpanderSpinup field */ | ||
| 1048 | #define MPI_BIOSPAGE1_EXPSPINUP_MASK_MAX_TARGET (0xF0) | ||
| 1049 | #define MPI_BIOSPAGE1_EXPSPINUP_SHIFT_MAX_TARGET (4) | ||
| 1050 | #define MPI_BIOSPAGE1_EXPSPINUP_MASK_DELAY (0x0F) | ||
| 1051 | |||
| 1019 | typedef struct _MPI_BOOT_DEVICE_ADAPTER_ORDER | 1052 | typedef struct _MPI_BOOT_DEVICE_ADAPTER_ORDER |
| 1020 | { | 1053 | { |
| 1021 | U32 Reserved1; /* 00h */ | 1054 | U32 Reserved1; /* 00h */ |
| @@ -1233,13 +1266,13 @@ typedef struct _CONFIG_PAGE_SCSI_PORT_0 | |||
| 1233 | 1266 | ||
| 1234 | #define MPI_SCSIPORTPAGE0_CAP_SHIFT_MIN_SYNC_PERIOD (8) | 1267 | #define MPI_SCSIPORTPAGE0_CAP_SHIFT_MIN_SYNC_PERIOD (8) |
| 1235 | #define MPI_SCSIPORTPAGE0_CAP_GET_MIN_SYNC_PERIOD(Cap) \ | 1268 | #define MPI_SCSIPORTPAGE0_CAP_GET_MIN_SYNC_PERIOD(Cap) \ |
| 1236 | ( ((Cap) & MPI_SCSIPORTPAGE0_CAP_MASK_MIN_SYNC_PERIOD) \ | 1269 | ( ((Cap) & MPI_SCSIPORTPAGE0_CAP_MIN_SYNC_PERIOD_MASK) \ |
| 1237 | >> MPI_SCSIPORTPAGE0_CAP_SHIFT_MIN_SYNC_PERIOD \ | 1270 | >> MPI_SCSIPORTPAGE0_CAP_SHIFT_MIN_SYNC_PERIOD \ |
| 1238 | ) | 1271 | ) |
| 1239 | #define MPI_SCSIPORTPAGE0_CAP_MAX_SYNC_OFFSET_MASK (0x00FF0000) | 1272 | #define MPI_SCSIPORTPAGE0_CAP_MAX_SYNC_OFFSET_MASK (0x00FF0000) |
| 1240 | #define MPI_SCSIPORTPAGE0_CAP_SHIFT_MAX_SYNC_OFFSET (16) | 1273 | #define MPI_SCSIPORTPAGE0_CAP_SHIFT_MAX_SYNC_OFFSET (16) |
| 1241 | #define MPI_SCSIPORTPAGE0_CAP_GET_MAX_SYNC_OFFSET(Cap) \ | 1274 | #define MPI_SCSIPORTPAGE0_CAP_GET_MAX_SYNC_OFFSET(Cap) \ |
| 1242 | ( ((Cap) & MPI_SCSIPORTPAGE0_CAP_MASK_MAX_SYNC_OFFSET) \ | 1275 | ( ((Cap) & MPI_SCSIPORTPAGE0_CAP_MAX_SYNC_OFFSET_MASK) \ |
| 1243 | >> MPI_SCSIPORTPAGE0_CAP_SHIFT_MAX_SYNC_OFFSET \ | 1276 | >> MPI_SCSIPORTPAGE0_CAP_SHIFT_MAX_SYNC_OFFSET \ |
| 1244 | ) | 1277 | ) |
| 1245 | #define MPI_SCSIPORTPAGE0_CAP_IDP (0x08000000) | 1278 | #define MPI_SCSIPORTPAGE0_CAP_IDP (0x08000000) |
| @@ -2370,47 +2403,48 @@ typedef struct _CONFIG_PAGE_SAS_IO_UNIT_1 | |||
| 2370 | } CONFIG_PAGE_SAS_IO_UNIT_1, MPI_POINTER PTR_CONFIG_PAGE_SAS_IO_UNIT_1, | 2403 | } CONFIG_PAGE_SAS_IO_UNIT_1, MPI_POINTER PTR_CONFIG_PAGE_SAS_IO_UNIT_1, |
| 2371 | SasIOUnitPage1_t, MPI_POINTER pSasIOUnitPage1_t; | 2404 | SasIOUnitPage1_t, MPI_POINTER pSasIOUnitPage1_t; |
| 2372 | 2405 | ||
| 2373 | #define MPI_SASIOUNITPAGE1_PAGEVERSION (0x04) | 2406 | #define MPI_SASIOUNITPAGE1_PAGEVERSION (0x05) |
| 2374 | 2407 | ||
| 2375 | /* values for SAS IO Unit Page 1 ControlFlags */ | 2408 | /* values for SAS IO Unit Page 1 ControlFlags */ |
| 2376 | #define MPI_SAS_IOUNIT1_CONTROL_DEVICE_SELF_TEST (0x8000) | 2409 | #define MPI_SAS_IOUNIT1_CONTROL_DEVICE_SELF_TEST (0x8000) |
| 2377 | #define MPI_SAS_IOUNIT1_CONTROL_SATA_3_0_MAX (0x4000) | 2410 | #define MPI_SAS_IOUNIT1_CONTROL_SATA_3_0_MAX (0x4000) |
| 2378 | #define MPI_SAS_IOUNIT1_CONTROL_SATA_1_5_MAX (0x2000) | 2411 | #define MPI_SAS_IOUNIT1_CONTROL_SATA_1_5_MAX (0x2000) |
| 2379 | #define MPI_SAS_IOUNIT1_CONTROL_SATA_SW_PRESERVE (0x1000) | 2412 | #define MPI_SAS_IOUNIT1_CONTROL_SATA_SW_PRESERVE (0x1000) |
| 2380 | #define MPI_SAS_IOUNIT1_CONTROL_DISABLE_SAS_HASH (0x0800) | 2413 | #define MPI_SAS_IOUNIT1_CONTROL_DISABLE_SAS_HASH (0x0800) |
| 2381 | 2414 | ||
| 2382 | #define MPI_SAS_IOUNIT1_CONTROL_MASK_DEV_SUPPORT (0x0600) | 2415 | #define MPI_SAS_IOUNIT1_CONTROL_MASK_DEV_SUPPORT (0x0600) |
| 2383 | #define MPI_SAS_IOUNIT1_CONTROL_SHIFT_DEV_SUPPORT (9) | 2416 | #define MPI_SAS_IOUNIT1_CONTROL_SHIFT_DEV_SUPPORT (9) |
| 2384 | #define MPI_SAS_IOUNIT1_CONTROL_DEV_SUPPORT_BOTH (0x00) | 2417 | #define MPI_SAS_IOUNIT1_CONTROL_DEV_SUPPORT_BOTH (0x00) |
| 2385 | #define MPI_SAS_IOUNIT1_CONTROL_DEV_SAS_SUPPORT (0x01) | 2418 | #define MPI_SAS_IOUNIT1_CONTROL_DEV_SAS_SUPPORT (0x01) |
| 2386 | #define MPI_SAS_IOUNIT1_CONTROL_DEV_SATA_SUPPORT (0x02) | 2419 | #define MPI_SAS_IOUNIT1_CONTROL_DEV_SATA_SUPPORT (0x02) |
| 2387 | 2420 | ||
| 2388 | #define MPI_SAS_IOUNIT1_CONTROL_SATA_48BIT_LBA_REQUIRED (0x0080) | 2421 | #define MPI_SAS_IOUNIT1_CONTROL_POSTPONE_SATA_INIT (0x0100) |
| 2389 | #define MPI_SAS_IOUNIT1_CONTROL_SATA_SMART_REQUIRED (0x0040) | 2422 | #define MPI_SAS_IOUNIT1_CONTROL_SATA_48BIT_LBA_REQUIRED (0x0080) |
| 2390 | #define MPI_SAS_IOUNIT1_CONTROL_SATA_NCQ_REQUIRED (0x0020) | 2423 | #define MPI_SAS_IOUNIT1_CONTROL_SATA_SMART_REQUIRED (0x0040) |
| 2391 | #define MPI_SAS_IOUNIT1_CONTROL_SATA_FUA_REQUIRED (0x0010) | 2424 | #define MPI_SAS_IOUNIT1_CONTROL_SATA_NCQ_REQUIRED (0x0020) |
| 2392 | #define MPI_SAS_IOUNIT1_CONTROL_PHY_ENABLE_ORDER_HIGH (0x0008) | 2425 | #define MPI_SAS_IOUNIT1_CONTROL_SATA_FUA_REQUIRED (0x0010) |
| 2393 | #define MPI_SAS_IOUNIT1_CONTROL_SUBTRACTIVE_ILLEGAL (0x0004) | 2426 | #define MPI_SAS_IOUNIT1_CONTROL_PHY_ENABLE_ORDER_HIGH (0x0008) |
| 2394 | #define MPI_SAS_IOUNIT1_CONTROL_FIRST_LVL_DISC_ONLY (0x0002) | 2427 | #define MPI_SAS_IOUNIT1_CONTROL_SUBTRACTIVE_ILLEGAL (0x0004) |
| 2395 | #define MPI_SAS_IOUNIT1_CONTROL_CLEAR_AFFILIATION (0x0001) | 2428 | #define MPI_SAS_IOUNIT1_CONTROL_FIRST_LVL_DISC_ONLY (0x0002) |
| 2429 | #define MPI_SAS_IOUNIT1_CONTROL_CLEAR_AFFILIATION (0x0001) | ||
| 2396 | 2430 | ||
| 2397 | /* values for SAS IO Unit Page 1 PortFlags */ | 2431 | /* values for SAS IO Unit Page 1 PortFlags */ |
| 2398 | #define MPI_SAS_IOUNIT1_PORT_FLAGS_0_TARGET_IOC_NUM (0x00) | 2432 | #define MPI_SAS_IOUNIT1_PORT_FLAGS_0_TARGET_IOC_NUM (0x00) |
| 2399 | #define MPI_SAS_IOUNIT1_PORT_FLAGS_1_TARGET_IOC_NUM (0x04) | 2433 | #define MPI_SAS_IOUNIT1_PORT_FLAGS_1_TARGET_IOC_NUM (0x04) |
| 2400 | #define MPI_SAS_IOUNIT1_PORT_FLAGS_AUTO_PORT_CONFIG (0x01) | 2434 | #define MPI_SAS_IOUNIT1_PORT_FLAGS_AUTO_PORT_CONFIG (0x01) |
| 2401 | 2435 | ||
| 2402 | /* values for SAS IO Unit Page 0 PhyFlags */ | 2436 | /* values for SAS IO Unit Page 0 PhyFlags */ |
| 2403 | #define MPI_SAS_IOUNIT1_PHY_FLAGS_PHY_DISABLE (0x04) | 2437 | #define MPI_SAS_IOUNIT1_PHY_FLAGS_PHY_DISABLE (0x04) |
| 2404 | #define MPI_SAS_IOUNIT1_PHY_FLAGS_TX_INVERT (0x02) | 2438 | #define MPI_SAS_IOUNIT1_PHY_FLAGS_TX_INVERT (0x02) |
| 2405 | #define MPI_SAS_IOUNIT1_PHY_FLAGS_RX_INVERT (0x01) | 2439 | #define MPI_SAS_IOUNIT1_PHY_FLAGS_RX_INVERT (0x01) |
| 2406 | 2440 | ||
| 2407 | /* values for SAS IO Unit Page 0 MaxMinLinkRate */ | 2441 | /* values for SAS IO Unit Page 0 MaxMinLinkRate */ |
| 2408 | #define MPI_SAS_IOUNIT1_MAX_RATE_MASK (0xF0) | 2442 | #define MPI_SAS_IOUNIT1_MAX_RATE_MASK (0xF0) |
| 2409 | #define MPI_SAS_IOUNIT1_MAX_RATE_1_5 (0x80) | 2443 | #define MPI_SAS_IOUNIT1_MAX_RATE_1_5 (0x80) |
| 2410 | #define MPI_SAS_IOUNIT1_MAX_RATE_3_0 (0x90) | 2444 | #define MPI_SAS_IOUNIT1_MAX_RATE_3_0 (0x90) |
| 2411 | #define MPI_SAS_IOUNIT1_MIN_RATE_MASK (0x0F) | 2445 | #define MPI_SAS_IOUNIT1_MIN_RATE_MASK (0x0F) |
| 2412 | #define MPI_SAS_IOUNIT1_MIN_RATE_1_5 (0x08) | 2446 | #define MPI_SAS_IOUNIT1_MIN_RATE_1_5 (0x08) |
| 2413 | #define MPI_SAS_IOUNIT1_MIN_RATE_3_0 (0x09) | 2447 | #define MPI_SAS_IOUNIT1_MIN_RATE_3_0 (0x09) |
| 2414 | 2448 | ||
| 2415 | /* see mpi_sas.h for values for SAS IO Unit Page 1 ControllerPhyDeviceInfo values */ | 2449 | /* see mpi_sas.h for values for SAS IO Unit Page 1 ControllerPhyDeviceInfo values */ |
| 2416 | 2450 | ||
| @@ -2418,16 +2452,18 @@ typedef struct _CONFIG_PAGE_SAS_IO_UNIT_1 | |||
| 2418 | typedef struct _CONFIG_PAGE_SAS_IO_UNIT_2 | 2452 | typedef struct _CONFIG_PAGE_SAS_IO_UNIT_2 |
| 2419 | { | 2453 | { |
| 2420 | CONFIG_EXTENDED_PAGE_HEADER Header; /* 00h */ | 2454 | CONFIG_EXTENDED_PAGE_HEADER Header; /* 00h */ |
| 2421 | U32 Reserved1; /* 08h */ | 2455 | U8 NumDevsPerEnclosure; /* 08h */ |
| 2456 | U8 Reserved1; /* 09h */ | ||
| 2457 | U16 Reserved2; /* 0Ah */ | ||
| 2422 | U16 MaxPersistentIDs; /* 0Ch */ | 2458 | U16 MaxPersistentIDs; /* 0Ch */ |
| 2423 | U16 NumPersistentIDsUsed; /* 0Eh */ | 2459 | U16 NumPersistentIDsUsed; /* 0Eh */ |
| 2424 | U8 Status; /* 10h */ | 2460 | U8 Status; /* 10h */ |
| 2425 | U8 Flags; /* 11h */ | 2461 | U8 Flags; /* 11h */ |
| 2426 | U16 MaxNumPhysicalMappedIDs;/* 12h */ /* 12h */ | 2462 | U16 MaxNumPhysicalMappedIDs;/* 12h */ |
| 2427 | } CONFIG_PAGE_SAS_IO_UNIT_2, MPI_POINTER PTR_CONFIG_PAGE_SAS_IO_UNIT_2, | 2463 | } CONFIG_PAGE_SAS_IO_UNIT_2, MPI_POINTER PTR_CONFIG_PAGE_SAS_IO_UNIT_2, |
| 2428 | SasIOUnitPage2_t, MPI_POINTER pSasIOUnitPage2_t; | 2464 | SasIOUnitPage2_t, MPI_POINTER pSasIOUnitPage2_t; |
| 2429 | 2465 | ||
| 2430 | #define MPI_SASIOUNITPAGE2_PAGEVERSION (0x04) | 2466 | #define MPI_SASIOUNITPAGE2_PAGEVERSION (0x05) |
| 2431 | 2467 | ||
| 2432 | /* values for SAS IO Unit Page 2 Status field */ | 2468 | /* values for SAS IO Unit Page 2 Status field */ |
| 2433 | #define MPI_SAS_IOUNIT2_STATUS_DISABLED_PERSISTENT_MAPPINGS (0x02) | 2469 | #define MPI_SAS_IOUNIT2_STATUS_DISABLED_PERSISTENT_MAPPINGS (0x02) |
| @@ -2441,6 +2477,7 @@ typedef struct _CONFIG_PAGE_SAS_IO_UNIT_2 | |||
| 2441 | #define MPI_SAS_IOUNIT2_FLAGS_NO_PHYS_MAP (0x00) | 2477 | #define MPI_SAS_IOUNIT2_FLAGS_NO_PHYS_MAP (0x00) |
| 2442 | #define MPI_SAS_IOUNIT2_FLAGS_DIRECT_ATTACH_PHYS_MAP (0x01) | 2478 | #define MPI_SAS_IOUNIT2_FLAGS_DIRECT_ATTACH_PHYS_MAP (0x01) |
| 2443 | #define MPI_SAS_IOUNIT2_FLAGS_ENCLOSURE_SLOT_PHYS_MAP (0x02) | 2479 | #define MPI_SAS_IOUNIT2_FLAGS_ENCLOSURE_SLOT_PHYS_MAP (0x02) |
| 2480 | #define MPI_SAS_IOUNIT2_FLAGS_HOST_ASSIGNED_PHYS_MAP (0x07) | ||
| 2444 | 2481 | ||
| 2445 | #define MPI_SAS_IOUNIT2_FLAGS_RESERVE_ID_0_FOR_BOOT (0x10) | 2482 | #define MPI_SAS_IOUNIT2_FLAGS_RESERVE_ID_0_FOR_BOOT (0x10) |
| 2446 | #define MPI_SAS_IOUNIT2_FLAGS_DA_STARTING_SLOT (0x20) | 2483 | #define MPI_SAS_IOUNIT2_FLAGS_DA_STARTING_SLOT (0x20) |
| @@ -2473,7 +2510,7 @@ typedef struct _CONFIG_PAGE_SAS_EXPANDER_0 | |||
| 2473 | CONFIG_EXTENDED_PAGE_HEADER Header; /* 00h */ | 2510 | CONFIG_EXTENDED_PAGE_HEADER Header; /* 00h */ |
| 2474 | U8 PhysicalPort; /* 08h */ | 2511 | U8 PhysicalPort; /* 08h */ |
| 2475 | U8 Reserved1; /* 09h */ | 2512 | U8 Reserved1; /* 09h */ |
| 2476 | U16 Reserved2; /* 0Ah */ | 2513 | U16 EnclosureHandle; /* 0Ah */ |
| 2477 | U64 SASAddress; /* 0Ch */ | 2514 | U64 SASAddress; /* 0Ch */ |
| 2478 | U32 DiscoveryStatus; /* 14h */ | 2515 | U32 DiscoveryStatus; /* 14h */ |
| 2479 | U16 DevHandle; /* 18h */ | 2516 | U16 DevHandle; /* 18h */ |
| @@ -2487,7 +2524,7 @@ typedef struct _CONFIG_PAGE_SAS_EXPANDER_0 | |||
| 2487 | } CONFIG_PAGE_SAS_EXPANDER_0, MPI_POINTER PTR_CONFIG_PAGE_SAS_EXPANDER_0, | 2524 | } CONFIG_PAGE_SAS_EXPANDER_0, MPI_POINTER PTR_CONFIG_PAGE_SAS_EXPANDER_0, |
| 2488 | SasExpanderPage0_t, MPI_POINTER pSasExpanderPage0_t; | 2525 | SasExpanderPage0_t, MPI_POINTER pSasExpanderPage0_t; |
| 2489 | 2526 | ||
| 2490 | #define MPI_SASEXPANDER0_PAGEVERSION (0x02) | 2527 | #define MPI_SASEXPANDER0_PAGEVERSION (0x03) |
| 2491 | 2528 | ||
| 2492 | /* values for SAS Expander Page 0 DiscoveryStatus field */ | 2529 | /* values for SAS Expander Page 0 DiscoveryStatus field */ |
| 2493 | #define MPI_SAS_EXPANDER0_DS_LOOP_DETECTED (0x00000001) | 2530 | #define MPI_SAS_EXPANDER0_DS_LOOP_DETECTED (0x00000001) |
| @@ -2527,9 +2564,9 @@ typedef struct _CONFIG_PAGE_SAS_EXPANDER_1 | |||
| 2527 | U8 NegotiatedLinkRate; /* 1Fh */ | 2564 | U8 NegotiatedLinkRate; /* 1Fh */ |
| 2528 | U8 PhyIdentifier; /* 20h */ | 2565 | U8 PhyIdentifier; /* 20h */ |
| 2529 | U8 AttachedPhyIdentifier; /* 21h */ | 2566 | U8 AttachedPhyIdentifier; /* 21h */ |
| 2530 | U8 NumTableEntriesProg; /* 22h */ | 2567 | U8 Reserved3; /* 22h */ |
| 2531 | U8 DiscoveryInfo; /* 23h */ | 2568 | U8 DiscoveryInfo; /* 23h */ |
| 2532 | U32 Reserved3; /* 24h */ | 2569 | U32 Reserved4; /* 24h */ |
| 2533 | } CONFIG_PAGE_SAS_EXPANDER_1, MPI_POINTER PTR_CONFIG_PAGE_SAS_EXPANDER_1, | 2570 | } CONFIG_PAGE_SAS_EXPANDER_1, MPI_POINTER PTR_CONFIG_PAGE_SAS_EXPANDER_1, |
| 2534 | SasExpanderPage1_t, MPI_POINTER pSasExpanderPage1_t; | 2571 | SasExpanderPage1_t, MPI_POINTER pSasExpanderPage1_t; |
| 2535 | 2572 | ||
| @@ -2766,16 +2803,15 @@ typedef struct _CONFIG_PAGE_SAS_ENCLOSURE_0 | |||
| 2766 | #define MPI_LOG_0_NUM_LOG_ENTRIES (1) | 2803 | #define MPI_LOG_0_NUM_LOG_ENTRIES (1) |
| 2767 | #endif | 2804 | #endif |
| 2768 | 2805 | ||
| 2769 | #define MPI_LOG_0_LOG_DATA_LENGTH (20) | 2806 | #define MPI_LOG_0_LOG_DATA_LENGTH (0x1C) |
| 2770 | 2807 | ||
| 2771 | typedef struct _MPI_LOG_0_ENTRY | 2808 | typedef struct _MPI_LOG_0_ENTRY |
| 2772 | { | 2809 | { |
| 2773 | U64 WWID; /* 00h */ | 2810 | U32 TimeStamp; /* 00h */ |
| 2774 | U32 TimeStamp; /* 08h */ | 2811 | U32 Reserved1; /* 04h */ |
| 2775 | U32 Reserved1; /* 0Ch */ | 2812 | U16 LogSequence; /* 08h */ |
| 2776 | U16 LogSequence; /* 10h */ | 2813 | U16 LogEntryQualifier; /* 0Ah */ |
| 2777 | U16 LogEntryQualifier; /* 12h */ | 2814 | U8 LogData[MPI_LOG_0_LOG_DATA_LENGTH]; /* 0Ch */ |
| 2778 | U8 LogData[MPI_LOG_0_LOG_DATA_LENGTH]; /* 14h */ | ||
| 2779 | } MPI_LOG_0_ENTRY, MPI_POINTER PTR_MPI_LOG_0_ENTRY, | 2815 | } MPI_LOG_0_ENTRY, MPI_POINTER PTR_MPI_LOG_0_ENTRY, |
| 2780 | MpiLog0Entry_t, MPI_POINTER pMpiLog0Entry_t; | 2816 | MpiLog0Entry_t, MPI_POINTER pMpiLog0Entry_t; |
| 2781 | 2817 | ||
| @@ -2794,7 +2830,7 @@ typedef struct _CONFIG_PAGE_LOG_0 | |||
| 2794 | } CONFIG_PAGE_LOG_0, MPI_POINTER PTR_CONFIG_PAGE_LOG_0, | 2830 | } CONFIG_PAGE_LOG_0, MPI_POINTER PTR_CONFIG_PAGE_LOG_0, |
| 2795 | LogPage0_t, MPI_POINTER pLogPage0_t; | 2831 | LogPage0_t, MPI_POINTER pLogPage0_t; |
| 2796 | 2832 | ||
| 2797 | #define MPI_LOG_0_PAGEVERSION (0x00) | 2833 | #define MPI_LOG_0_PAGEVERSION (0x01) |
| 2798 | 2834 | ||
| 2799 | 2835 | ||
| 2800 | #endif | 2836 | #endif |
diff --git a/drivers/message/fusion/lsi/mpi_history.txt b/drivers/message/fusion/lsi/mpi_history.txt index 1a30ef16adb4..4a5f8dd1d766 100644 --- a/drivers/message/fusion/lsi/mpi_history.txt +++ b/drivers/message/fusion/lsi/mpi_history.txt | |||
| @@ -6,25 +6,25 @@ | |||
| 6 | Copyright (c) 2000-2005 LSI Logic Corporation. | 6 | Copyright (c) 2000-2005 LSI Logic Corporation. |
| 7 | 7 | ||
| 8 | --------------------------------------- | 8 | --------------------------------------- |
| 9 | Header Set Release Version: 01.05.10 | 9 | Header Set Release Version: 01.05.12 |
| 10 | Header Set Release Date: 03-11-05 | 10 | Header Set Release Date: 08-30-05 |
| 11 | --------------------------------------- | 11 | --------------------------------------- |
| 12 | 12 | ||
| 13 | Filename Current version Prior version | 13 | Filename Current version Prior version |
| 14 | ---------- --------------- ------------- | 14 | ---------- --------------- ------------- |
| 15 | mpi.h 01.05.08 01.05.07 | 15 | mpi.h 01.05.10 01.05.09 |
| 16 | mpi_ioc.h 01.05.09 01.05.08 | 16 | mpi_ioc.h 01.05.10 01.05.09 |
| 17 | mpi_cnfg.h 01.05.09 01.05.08 | 17 | mpi_cnfg.h 01.05.11 01.05.10 |
| 18 | mpi_init.h 01.05.05 01.05.04 | 18 | mpi_init.h 01.05.06 01.05.06 |
| 19 | mpi_targ.h 01.05.05 01.05.04 | 19 | mpi_targ.h 01.05.05 01.05.05 |
| 20 | mpi_fc.h 01.05.01 01.05.01 | 20 | mpi_fc.h 01.05.01 01.05.01 |
| 21 | mpi_lan.h 01.05.01 01.05.01 | 21 | mpi_lan.h 01.05.01 01.05.01 |
| 22 | mpi_raid.h 01.05.02 01.05.02 | 22 | mpi_raid.h 01.05.02 01.05.02 |
| 23 | mpi_tool.h 01.05.03 01.05.03 | 23 | mpi_tool.h 01.05.03 01.05.03 |
| 24 | mpi_inb.h 01.05.01 01.05.01 | 24 | mpi_inb.h 01.05.01 01.05.01 |
| 25 | mpi_sas.h 01.05.01 01.05.01 | 25 | mpi_sas.h 01.05.02 01.05.01 |
| 26 | mpi_type.h 01.05.01 01.05.01 | 26 | mpi_type.h 01.05.02 01.05.01 |
| 27 | mpi_history.txt 01.05.09 01.05.09 | 27 | mpi_history.txt 01.05.12 01.05.11 |
| 28 | 28 | ||
| 29 | 29 | ||
| 30 | * Date Version Description | 30 | * Date Version Description |
| @@ -91,6 +91,8 @@ mpi.h | |||
| 91 | * 06-24-05 01.05.08 Added function codes for SCSI IO 32 and | 91 | * 06-24-05 01.05.08 Added function codes for SCSI IO 32 and |
| 92 | * TargetAssistExtended requests. | 92 | * TargetAssistExtended requests. |
| 93 | * Added EEDP IOCStatus codes. | 93 | * Added EEDP IOCStatus codes. |
| 94 | * 08-03-05 01.05.09 Bumped MPI_HEADER_VERSION_UNIT. | ||
| 95 | * 08-30-05 01.05.10 Added 2 new IOCStatus codes for Target. | ||
| 94 | * -------------------------------------------------------------------------- | 96 | * -------------------------------------------------------------------------- |
| 95 | 97 | ||
| 96 | mpi_ioc.h | 98 | mpi_ioc.h |
| @@ -164,6 +166,10 @@ mpi_ioc.h | |||
| 164 | * Removed IOCFacts Reply EEDP Capability bit. | 166 | * Removed IOCFacts Reply EEDP Capability bit. |
| 165 | * 06-24-05 01.05.09 Added 5 new IOCFacts Reply IOCCapabilities bits. | 167 | * 06-24-05 01.05.09 Added 5 new IOCFacts Reply IOCCapabilities bits. |
| 166 | * Added Max SATA Targets to SAS Discovery Error event. | 168 | * Added Max SATA Targets to SAS Discovery Error event. |
| 169 | * 08-30-05 01.05.10 Added 4 new events and their event data structures. | ||
| 170 | * Added new ReasonCode value for SAS Device Status Change | ||
| 171 | * event. | ||
| 172 | * Added new family code for FC949E. | ||
| 167 | * -------------------------------------------------------------------------- | 173 | * -------------------------------------------------------------------------- |
| 168 | 174 | ||
| 169 | mpi_cnfg.h | 175 | mpi_cnfg.h |
| @@ -402,6 +408,23 @@ mpi_cnfg.h | |||
| 402 | * Added OwnerDevHandle and Flags field to SAS PHY Page 0. | 408 | * Added OwnerDevHandle and Flags field to SAS PHY Page 0. |
| 403 | * Added IOC GPIO Flags define to SAS Enclosure Page 0. | 409 | * Added IOC GPIO Flags define to SAS Enclosure Page 0. |
| 404 | * Fixed the value for MPI_SAS_IOUNIT1_CONTROL_DEV_SATA_SUPPORT. | 410 | * Fixed the value for MPI_SAS_IOUNIT1_CONTROL_DEV_SATA_SUPPORT. |
| 411 | * 08-03-05 01.05.10 Removed ISDataScrubRate and ISResyncRate from | ||
| 412 | * Manufacturing Page 4. | ||
| 413 | * Added MPI_IOUNITPAGE1_SATA_WRITE_CACHE_DISABLE bit. | ||
| 414 | * Added NumDevsPerEnclosure field to SAS IO Unit page 2. | ||
| 415 | * Added MPI_SAS_IOUNIT2_FLAGS_HOST_ASSIGNED_PHYS_MAP | ||
| 416 | * define. | ||
| 417 | * Added EnclosureHandle field to SAS Expander page 0. | ||
| 418 | * Removed redundant NumTableEntriesProg field from SAS | ||
| 419 | * Expander Page 1. | ||
| 420 | * 08-30-05 01.05.11 Added DeviceID for FC949E and changed the DeviceID for | ||
| 421 | * SAS1078. | ||
| 422 | * Added more defines for Manufacturing Page 4 Flags field. | ||
| 423 | * Added more defines for IOCSettings and added | ||
| 424 | * ExpanderSpinup field to Bios Page 1. | ||
| 425 | * Added postpone SATA Init bit to SAS IO Unit Page 1 | ||
| 426 | * ControlFlags. | ||
| 427 | * Changed LogEntry format for Log Page 0. | ||
| 405 | * -------------------------------------------------------------------------- | 428 | * -------------------------------------------------------------------------- |
| 406 | 429 | ||
| 407 | mpi_init.h | 430 | mpi_init.h |
| @@ -442,6 +465,8 @@ mpi_init.h | |||
| 442 | * addressing. | 465 | * addressing. |
| 443 | * 06-24-05 01.05.05 Added SCSI IO 32 structures and defines. | 466 | * 06-24-05 01.05.05 Added SCSI IO 32 structures and defines. |
| 444 | * Added four new defines for SEP SlotStatus. | 467 | * Added four new defines for SEP SlotStatus. |
| 468 | * 08-03-05 01.05.06 Fixed some MPI_SCSIIO32_MSGFLGS_ defines to make them | ||
| 469 | * unique in the first 32 characters. | ||
| 445 | * -------------------------------------------------------------------------- | 470 | * -------------------------------------------------------------------------- |
| 446 | 471 | ||
| 447 | mpi_targ.h | 472 | mpi_targ.h |
| @@ -582,6 +607,9 @@ mpi_inb.h | |||
| 582 | 607 | ||
| 583 | mpi_sas.h | 608 | mpi_sas.h |
| 584 | * 08-19-04 01.05.01 Original release. | 609 | * 08-19-04 01.05.01 Original release. |
| 610 | * 08-30-05 01.05.02 Added DeviceInfo bit for SEP. | ||
| 611 | * Added PrimFlags and Primitive field to SAS IO Unit | ||
| 612 | * Control request, and added a new operation code. | ||
| 585 | * -------------------------------------------------------------------------- | 613 | * -------------------------------------------------------------------------- |
| 586 | 614 | ||
| 587 | mpi_type.h | 615 | mpi_type.h |
| @@ -592,24 +620,25 @@ mpi_type.h | |||
| 592 | * 08-08-01 01.02.01 Original release for v1.2 work. | 620 | * 08-08-01 01.02.01 Original release for v1.2 work. |
| 593 | * 05-11-04 01.03.01 Original release for MPI v1.3. | 621 | * 05-11-04 01.03.01 Original release for MPI v1.3. |
| 594 | * 08-19-04 01.05.01 Original release for MPI v1.5. | 622 | * 08-19-04 01.05.01 Original release for MPI v1.5. |
| 623 | * 08-30-05 01.05.02 Added PowerPC option to #ifdef's. | ||
| 595 | * -------------------------------------------------------------------------- | 624 | * -------------------------------------------------------------------------- |
| 596 | 625 | ||
| 597 | mpi_history.txt Parts list history | 626 | mpi_history.txt Parts list history |
| 598 | 627 | ||
| 599 | Filename 01.05.10 01.05.09 | 628 | Filename 01.05.12 01.05.11 01.05.10 01.05.09 |
| 600 | ---------- -------- -------- | 629 | ---------- -------- -------- -------- -------- |
| 601 | mpi.h 01.05.08 01.05.07 | 630 | mpi.h 01.05.10 01.05.09 01.05.08 01.05.07 |
| 602 | mpi_ioc.h 01.05.09 01.05.08 | 631 | mpi_ioc.h 01.05.10 01.05.09 01.05.09 01.05.08 |
| 603 | mpi_cnfg.h 01.05.09 01.05.08 | 632 | mpi_cnfg.h 01.05.11 01.05.10 01.05.09 01.05.08 |
| 604 | mpi_init.h 01.05.05 01.05.04 | 633 | mpi_init.h 01.05.06 01.05.06 01.05.05 01.05.04 |
| 605 | mpi_targ.h 01.05.05 01.05.04 | 634 | mpi_targ.h 01.05.05 01.05.05 01.05.05 01.05.04 |
| 606 | mpi_fc.h 01.05.01 01.05.01 | 635 | mpi_fc.h 01.05.01 01.05.01 01.05.01 01.05.01 |
| 607 | mpi_lan.h 01.05.01 01.05.01 | 636 | mpi_lan.h 01.05.01 01.05.01 01.05.01 01.05.01 |
| 608 | mpi_raid.h 01.05.02 01.05.02 | 637 | mpi_raid.h 01.05.02 01.05.02 01.05.02 01.05.02 |
| 609 | mpi_tool.h 01.05.03 01.05.03 | 638 | mpi_tool.h 01.05.03 01.05.03 01.05.03 01.05.03 |
| 610 | mpi_inb.h 01.05.01 01.05.01 | 639 | mpi_inb.h 01.05.01 01.05.01 01.05.01 01.05.01 |
| 611 | mpi_sas.h 01.05.01 01.05.01 | 640 | mpi_sas.h 01.05.02 01.05.01 01.05.01 01.05.01 |
| 612 | mpi_type.h 01.05.01 01.05.01 | 641 | mpi_type.h 01.05.02 01.05.01 01.05.01 01.05.01 |
| 613 | 642 | ||
| 614 | Filename 01.05.08 01.05.07 01.05.06 01.05.05 01.05.04 01.05.03 | 643 | Filename 01.05.08 01.05.07 01.05.06 01.05.05 01.05.04 01.05.03 |
| 615 | ---------- -------- -------- -------- -------- -------- -------- | 644 | ---------- -------- -------- -------- -------- -------- -------- |
diff --git a/drivers/message/fusion/lsi/mpi_init.h b/drivers/message/fusion/lsi/mpi_init.h index d5af75afbd94..68941f459ca3 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.05 | 9 | * mpi_init.h Version: 01.05.06 |
| 10 | * | 10 | * |
| 11 | * Version History | 11 | * Version History |
| 12 | * --------------- | 12 | * --------------- |
| @@ -50,6 +50,8 @@ | |||
| 50 | * addressing. | 50 | * addressing. |
| 51 | * 06-24-05 01.05.05 Added SCSI IO 32 structures and defines. | 51 | * 06-24-05 01.05.05 Added SCSI IO 32 structures and defines. |
| 52 | * Added four new defines for SEP SlotStatus. | 52 | * Added four new defines for SEP SlotStatus. |
| 53 | * 08-03-05 01.05.06 Fixed some MPI_SCSIIO32_MSGFLGS_ defines to make them | ||
| 54 | * unique in the first 32 characters. | ||
| 53 | * -------------------------------------------------------------------------- | 55 | * -------------------------------------------------------------------------- |
| 54 | */ | 56 | */ |
| 55 | 57 | ||
| @@ -290,8 +292,8 @@ typedef struct _MSG_SCSI_IO32_REQUEST | |||
| 290 | 292 | ||
| 291 | /* SCSI IO 32 MsgFlags bits */ | 293 | /* SCSI IO 32 MsgFlags bits */ |
| 292 | #define MPI_SCSIIO32_MSGFLGS_SENSE_WIDTH (0x01) | 294 | #define MPI_SCSIIO32_MSGFLGS_SENSE_WIDTH (0x01) |
| 293 | #define MPI_SCSIIO32_MSGFLGS_SENSE_WIDTH_32 (0x00) | 295 | #define MPI_SCSIIO32_MSGFLGS_32_SENSE_WIDTH (0x00) |
| 294 | #define MPI_SCSIIO32_MSGFLGS_SENSE_WIDTH_64 (0x01) | 296 | #define MPI_SCSIIO32_MSGFLGS_64_SENSE_WIDTH (0x01) |
| 295 | 297 | ||
| 296 | #define MPI_SCSIIO32_MSGFLGS_SENSE_LOCATION (0x02) | 298 | #define MPI_SCSIIO32_MSGFLGS_SENSE_LOCATION (0x02) |
| 297 | #define MPI_SCSIIO32_MSGFLGS_SENSE_LOC_HOST (0x00) | 299 | #define MPI_SCSIIO32_MSGFLGS_SENSE_LOC_HOST (0x00) |
diff --git a/drivers/message/fusion/lsi/mpi_ioc.h b/drivers/message/fusion/lsi/mpi_ioc.h index 93b70e2b4266..2c5f43fa7c73 100644 --- a/drivers/message/fusion/lsi/mpi_ioc.h +++ b/drivers/message/fusion/lsi/mpi_ioc.h | |||
| @@ -6,7 +6,7 @@ | |||
| 6 | * Title: MPI IOC, Port, Event, FW Download, and FW Upload messages | 6 | * Title: MPI IOC, Port, Event, FW Download, and FW Upload messages |
| 7 | * Creation Date: August 11, 2000 | 7 | * Creation Date: August 11, 2000 |
| 8 | * | 8 | * |
| 9 | * mpi_ioc.h Version: 01.05.09 | 9 | * mpi_ioc.h Version: 01.05.10 |
| 10 | * | 10 | * |
| 11 | * Version History | 11 | * Version History |
| 12 | * --------------- | 12 | * --------------- |
| @@ -83,6 +83,10 @@ | |||
| 83 | * Removed IOCFacts Reply EEDP Capability bit. | 83 | * Removed IOCFacts Reply EEDP Capability bit. |
| 84 | * 06-24-05 01.05.09 Added 5 new IOCFacts Reply IOCCapabilities bits. | 84 | * 06-24-05 01.05.09 Added 5 new IOCFacts Reply IOCCapabilities bits. |
| 85 | * Added Max SATA Targets to SAS Discovery Error event. | 85 | * Added Max SATA Targets to SAS Discovery Error event. |
| 86 | * 08-30-05 01.05.10 Added 4 new events and their event data structures. | ||
| 87 | * Added new ReasonCode value for SAS Device Status Change | ||
| 88 | * event. | ||
| 89 | * Added new family code for FC949E. | ||
| 86 | * -------------------------------------------------------------------------- | 90 | * -------------------------------------------------------------------------- |
| 87 | */ | 91 | */ |
| 88 | 92 | ||
| @@ -464,6 +468,10 @@ typedef struct _MSG_EVENT_ACK_REPLY | |||
| 464 | #define MPI_EVENT_PERSISTENT_TABLE_FULL (0x00000011) | 468 | #define MPI_EVENT_PERSISTENT_TABLE_FULL (0x00000011) |
| 465 | #define MPI_EVENT_SAS_PHY_LINK_STATUS (0x00000012) | 469 | #define MPI_EVENT_SAS_PHY_LINK_STATUS (0x00000012) |
| 466 | #define MPI_EVENT_SAS_DISCOVERY_ERROR (0x00000013) | 470 | #define MPI_EVENT_SAS_DISCOVERY_ERROR (0x00000013) |
| 471 | #define MPI_EVENT_IR_RESYNC_UPDATE (0x00000014) | ||
| 472 | #define MPI_EVENT_IR2 (0x00000015) | ||
| 473 | #define MPI_EVENT_SAS_DISCOVERY (0x00000016) | ||
| 474 | #define MPI_EVENT_LOG_ENTRY_ADDED (0x00000021) | ||
| 467 | 475 | ||
| 468 | /* AckRequired field values */ | 476 | /* AckRequired field values */ |
| 469 | 477 | ||
| @@ -480,6 +488,29 @@ typedef struct _EVENT_DATA_EVENT_CHANGE | |||
| 480 | } EVENT_DATA_EVENT_CHANGE, MPI_POINTER PTR_EVENT_DATA_EVENT_CHANGE, | 488 | } EVENT_DATA_EVENT_CHANGE, MPI_POINTER PTR_EVENT_DATA_EVENT_CHANGE, |
| 481 | EventDataEventChange_t, MPI_POINTER pEventDataEventChange_t; | 489 | EventDataEventChange_t, MPI_POINTER pEventDataEventChange_t; |
| 482 | 490 | ||
| 491 | /* LogEntryAdded Event data */ | ||
| 492 | |||
| 493 | /* this structure matches MPI_LOG_0_ENTRY in mpi_cnfg.h */ | ||
| 494 | #define MPI_EVENT_DATA_LOG_ENTRY_DATA_LENGTH (0x1C) | ||
| 495 | typedef struct _EVENT_DATA_LOG_ENTRY | ||
| 496 | { | ||
| 497 | U32 TimeStamp; /* 00h */ | ||
| 498 | U32 Reserved1; /* 04h */ | ||
| 499 | U16 LogSequence; /* 08h */ | ||
| 500 | U16 LogEntryQualifier; /* 0Ah */ | ||
| 501 | U8 LogData[MPI_EVENT_DATA_LOG_ENTRY_DATA_LENGTH]; /* 0Ch */ | ||
| 502 | } EVENT_DATA_LOG_ENTRY, MPI_POINTER PTR_EVENT_DATA_LOG_ENTRY, | ||
| 503 | MpiEventDataLogEntry_t, MPI_POINTER pMpiEventDataLogEntry_t; | ||
| 504 | |||
| 505 | typedef struct _EVENT_DATA_LOG_ENTRY_ADDED | ||
| 506 | { | ||
| 507 | U16 LogSequence; /* 00h */ | ||
| 508 | U16 Reserved1; /* 02h */ | ||
| 509 | U32 Reserved2; /* 04h */ | ||
| 510 | EVENT_DATA_LOG_ENTRY LogEntry; /* 08h */ | ||
| 511 | } EVENT_DATA_LOG_ENTRY_ADDED, MPI_POINTER PTR_EVENT_DATA_LOG_ENTRY_ADDED, | ||
| 512 | MpiEventDataLogEntryAdded_t, MPI_POINTER pMpiEventDataLogEntryAdded_t; | ||
| 513 | |||
| 483 | /* SCSI Event data for Port, Bus and Device forms */ | 514 | /* SCSI Event data for Port, Bus and Device forms */ |
| 484 | 515 | ||
| 485 | typedef struct _EVENT_DATA_SCSI | 516 | typedef struct _EVENT_DATA_SCSI |
| @@ -538,6 +569,7 @@ typedef struct _EVENT_DATA_SAS_DEVICE_STATUS_CHANGE | |||
| 538 | #define MPI_EVENT_SAS_DEV_STAT_RC_SMART_DATA (0x05) | 569 | #define MPI_EVENT_SAS_DEV_STAT_RC_SMART_DATA (0x05) |
| 539 | #define MPI_EVENT_SAS_DEV_STAT_RC_NO_PERSIST_ADDED (0x06) | 570 | #define MPI_EVENT_SAS_DEV_STAT_RC_NO_PERSIST_ADDED (0x06) |
| 540 | #define MPI_EVENT_SAS_DEV_STAT_RC_UNSUPPORTED (0x07) | 571 | #define MPI_EVENT_SAS_DEV_STAT_RC_UNSUPPORTED (0x07) |
| 572 | #define MPI_EVENT_SAS_DEV_STAT_RC_INTERNAL_DEVICE_RESET (0x08) | ||
| 541 | 573 | ||
| 542 | 574 | ||
| 543 | /* SCSI Event data for Queue Full event */ | 575 | /* SCSI Event data for Queue Full event */ |
| @@ -579,6 +611,79 @@ typedef struct _EVENT_DATA_RAID | |||
| 579 | #define MPI_EVENT_RAID_RC_SMART_DATA (0x0A) | 611 | #define MPI_EVENT_RAID_RC_SMART_DATA (0x0A) |
| 580 | #define MPI_EVENT_RAID_RC_REPLACE_ACTION_STARTED (0x0B) | 612 | #define MPI_EVENT_RAID_RC_REPLACE_ACTION_STARTED (0x0B) |
| 581 | 613 | ||
| 614 | |||
| 615 | /* MPI Integrated RAID Resync Update Event data */ | ||
| 616 | |||
| 617 | typedef struct _MPI_EVENT_DATA_IR_RESYNC_UPDATE | ||
| 618 | { | ||
| 619 | U8 VolumeID; /* 00h */ | ||
| 620 | U8 VolumeBus; /* 01h */ | ||
| 621 | U8 ResyncComplete; /* 02h */ | ||
| 622 | U8 Reserved1; /* 03h */ | ||
| 623 | U32 Reserved2; /* 04h */ | ||
| 624 | } MPI_EVENT_DATA_IR_RESYNC_UPDATE, | ||
| 625 | MPI_POINTER PTR_MPI_EVENT_DATA_IR_RESYNC_UPDATE, | ||
| 626 | MpiEventDataIrResyncUpdate_t, MPI_POINTER pMpiEventDataIrResyncUpdate_t; | ||
| 627 | |||
| 628 | /* MPI IR2 Event data */ | ||
| 629 | |||
| 630 | /* MPI_LD_STATE or MPI_PD_STATE */ | ||
| 631 | typedef struct _IR2_STATE_CHANGED | ||
| 632 | { | ||
| 633 | U16 PreviousState; /* 00h */ | ||
| 634 | U16 NewState; /* 02h */ | ||
| 635 | } IR2_STATE_CHANGED, MPI_POINTER PTR_IR2_STATE_CHANGED; | ||
| 636 | |||
| 637 | typedef struct _IR2_PD_INFO | ||
| 638 | { | ||
| 639 | U16 DeviceHandle; /* 00h */ | ||
| 640 | U8 TruncEnclosureHandle; /* 02h */ | ||
| 641 | U8 TruncatedSlot; /* 03h */ | ||
| 642 | } IR2_PD_INFO, MPI_POINTER PTR_IR2_PD_INFO; | ||
| 643 | |||
| 644 | typedef union _MPI_IR2_RC_EVENT_DATA | ||
| 645 | { | ||
| 646 | IR2_STATE_CHANGED StateChanged; | ||
| 647 | U32 Lba; | ||
| 648 | IR2_PD_INFO PdInfo; | ||
| 649 | } MPI_IR2_RC_EVENT_DATA, MPI_POINTER PTR_MPI_IR2_RC_EVENT_DATA; | ||
| 650 | |||
| 651 | typedef struct _MPI_EVENT_DATA_IR2 | ||
| 652 | { | ||
| 653 | U8 TargetID; /* 00h */ | ||
| 654 | U8 Bus; /* 01h */ | ||
| 655 | U8 ReasonCode; /* 02h */ | ||
| 656 | U8 PhysDiskNum; /* 03h */ | ||
| 657 | MPI_IR2_RC_EVENT_DATA IR2EventData; /* 04h */ | ||
| 658 | } MPI_EVENT_DATA_IR2, MPI_POINTER PTR_MPI_EVENT_DATA_IR2, | ||
| 659 | MpiEventDataIR2_t, MPI_POINTER pMpiEventDataIR2_t; | ||
| 660 | |||
| 661 | /* MPI IR2 Event data ReasonCode values */ | ||
| 662 | #define MPI_EVENT_IR2_RC_LD_STATE_CHANGED (0x01) | ||
| 663 | #define MPI_EVENT_IR2_RC_PD_STATE_CHANGED (0x02) | ||
| 664 | #define MPI_EVENT_IR2_RC_BAD_BLOCK_TABLE_FULL (0x03) | ||
| 665 | #define MPI_EVENT_IR2_RC_PD_INSERTED (0x04) | ||
| 666 | #define MPI_EVENT_IR2_RC_PD_REMOVED (0x05) | ||
| 667 | #define MPI_EVENT_IR2_RC_FOREIGN_CFG_DETECTED (0x06) | ||
| 668 | #define MPI_EVENT_IR2_RC_REBUILD_MEDIUM_ERROR (0x07) | ||
| 669 | |||
| 670 | /* defines for logical disk states */ | ||
| 671 | #define MPI_LD_STATE_OPTIMAL (0x00) | ||
| 672 | #define MPI_LD_STATE_DEGRADED (0x01) | ||
| 673 | #define MPI_LD_STATE_FAILED (0x02) | ||
| 674 | #define MPI_LD_STATE_MISSING (0x03) | ||
| 675 | #define MPI_LD_STATE_OFFLINE (0x04) | ||
| 676 | |||
| 677 | /* defines for physical disk states */ | ||
| 678 | #define MPI_PD_STATE_ONLINE (0x00) | ||
| 679 | #define MPI_PD_STATE_MISSING (0x01) | ||
| 680 | #define MPI_PD_STATE_NOT_COMPATIBLE (0x02) | ||
| 681 | #define MPI_PD_STATE_FAILED (0x03) | ||
| 682 | #define MPI_PD_STATE_INITIALIZING (0x04) | ||
| 683 | #define MPI_PD_STATE_OFFLINE_AT_HOST_REQUEST (0x05) | ||
| 684 | #define MPI_PD_STATE_FAILED_AT_HOST_REQUEST (0x06) | ||
| 685 | #define MPI_PD_STATE_OFFLINE_FOR_ANOTHER_REASON (0xFF) | ||
| 686 | |||
| 582 | /* MPI Link Status Change Event data */ | 687 | /* MPI Link Status Change Event data */ |
| 583 | 688 | ||
| 584 | typedef struct _EVENT_DATA_LINK_STATUS | 689 | typedef struct _EVENT_DATA_LINK_STATUS |
| @@ -660,6 +765,20 @@ typedef struct _EVENT_DATA_SAS_PHY_LINK_STATUS | |||
| 660 | #define MPI_EVENT_SAS_PLS_LR_RATE_1_5 (0x08) | 765 | #define MPI_EVENT_SAS_PLS_LR_RATE_1_5 (0x08) |
| 661 | #define MPI_EVENT_SAS_PLS_LR_RATE_3_0 (0x09) | 766 | #define MPI_EVENT_SAS_PLS_LR_RATE_3_0 (0x09) |
| 662 | 767 | ||
| 768 | /* SAS Discovery Event data */ | ||
| 769 | |||
| 770 | typedef struct _EVENT_DATA_SAS_DISCOVERY | ||
| 771 | { | ||
| 772 | U32 DiscoveryStatus; /* 00h */ | ||
| 773 | U32 Reserved1; /* 04h */ | ||
| 774 | } EVENT_DATA_SAS_DISCOVERY, MPI_POINTER PTR_EVENT_DATA_SAS_DISCOVERY, | ||
| 775 | EventDataSasDiscovery_t, MPI_POINTER pEventDataSasDiscovery_t; | ||
| 776 | |||
| 777 | #define MPI_EVENT_SAS_DSCVRY_COMPLETE (0x00000000) | ||
| 778 | #define MPI_EVENT_SAS_DSCVRY_IN_PROGRESS (0x00000001) | ||
| 779 | #define MPI_EVENT_SAS_DSCVRY_PHY_BITS_MASK (0xFFFF0000) | ||
| 780 | #define MPI_EVENT_SAS_DSCVRY_PHY_BITS_SHIFT (16) | ||
| 781 | |||
| 663 | /* SAS Discovery Errror Event data */ | 782 | /* SAS Discovery Errror Event data */ |
| 664 | 783 | ||
| 665 | typedef struct _EVENT_DATA_DISCOVERY_ERROR | 784 | typedef struct _EVENT_DATA_DISCOVERY_ERROR |
| @@ -869,6 +988,7 @@ typedef struct _MPI_FW_HEADER | |||
| 869 | #define MPI_FW_HEADER_PID_FAMILY_919XL_FC (0x0003) /* 919XL and 929XL */ | 988 | #define MPI_FW_HEADER_PID_FAMILY_919XL_FC (0x0003) /* 919XL and 929XL */ |
| 870 | #define MPI_FW_HEADER_PID_FAMILY_939X_FC (0x0004) /* 939X and 949X */ | 989 | #define MPI_FW_HEADER_PID_FAMILY_939X_FC (0x0004) /* 939X and 949X */ |
| 871 | #define MPI_FW_HEADER_PID_FAMILY_959_FC (0x0005) | 990 | #define MPI_FW_HEADER_PID_FAMILY_959_FC (0x0005) |
| 991 | #define MPI_FW_HEADER_PID_FAMILY_949E_FC (0x0006) | ||
| 872 | /* SAS */ | 992 | /* SAS */ |
| 873 | #define MPI_FW_HEADER_PID_FAMILY_1064_SAS (0x0001) | 993 | #define MPI_FW_HEADER_PID_FAMILY_1064_SAS (0x0001) |
| 874 | #define MPI_FW_HEADER_PID_FAMILY_1068_SAS (0x0002) | 994 | #define MPI_FW_HEADER_PID_FAMILY_1068_SAS (0x0002) |
diff --git a/drivers/message/fusion/lsi/mpi_log_fc.h b/drivers/message/fusion/lsi/mpi_log_fc.h new file mode 100644 index 000000000000..dc98d46f9071 --- /dev/null +++ b/drivers/message/fusion/lsi/mpi_log_fc.h | |||
| @@ -0,0 +1,89 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (c) 2000-2001 LSI Logic Corporation. All rights reserved. | ||
| 3 | * | ||
| 4 | * NAME: fc_log.h | ||
| 5 | * SUMMARY: MPI IocLogInfo definitions for the SYMFC9xx chips | ||
| 6 | * DESCRIPTION: Contains the enumerated list of values that may be returned | ||
| 7 | * in the IOCLogInfo field of a MPI Default Reply Message. | ||
| 8 | * | ||
| 9 | * CREATION DATE: 6/02/2000 | ||
| 10 | * ID: $Id: fc_log.h,v 4.6 2001/07/26 14:41:33 sschremm Exp $ | ||
| 11 | */ | ||
| 12 | |||
| 13 | |||
| 14 | /* | ||
| 15 | * MpiIocLogInfo_t enum | ||
| 16 | * | ||
| 17 | * These 32 bit values are used in the IOCLogInfo field of the MPI reply | ||
| 18 | * messages. | ||
| 19 | * The value is 0xabcccccc where | ||
| 20 | * a = The type of log info as per the MPI spec. Since these codes are | ||
| 21 | * all for Fibre Channel this value will always be 2. | ||
| 22 | * b = Specifies a subclass of the firmware where | ||
| 23 | * 0 = FCP Initiator | ||
| 24 | * 1 = FCP Target | ||
| 25 | * 2 = LAN | ||
| 26 | * 3 = MPI Message Layer | ||
| 27 | * 4 = FC Link | ||
| 28 | * 5 = Context Manager | ||
| 29 | * 6 = Invalid Field Offset | ||
| 30 | * 7 = State Change Info | ||
| 31 | * all others are reserved for future use | ||
| 32 | * c = A specific value within the subclass. | ||
| 33 | * | ||
| 34 | * NOTE: Any new values should be added to the end of each subclass so that the | ||
| 35 | * codes remain consistent across firmware releases. | ||
| 36 | */ | ||
| 37 | typedef enum _MpiIocLogInfoFc | ||
| 38 | { | ||
| 39 | MPI_IOCLOGINFO_FC_INIT_BASE = 0x20000000, | ||
| 40 | MPI_IOCLOGINFO_FC_INIT_ERROR_OUT_OF_ORDER_FRAME = 0x20000001, /* received an out of order frame - unsupported */ | ||
| 41 | MPI_IOCLOGINFO_FC_INIT_ERROR_BAD_START_OF_FRAME = 0x20000002, /* Bad Rx Frame, bad start of frame primative */ | ||
| 42 | MPI_IOCLOGINFO_FC_INIT_ERROR_BAD_END_OF_FRAME = 0x20000003, /* Bad Rx Frame, bad end of frame primative */ | ||
| 43 | MPI_IOCLOGINFO_FC_INIT_ERROR_OVER_RUN = 0x20000004, /* Bad Rx Frame, overrun */ | ||
| 44 | MPI_IOCLOGINFO_FC_INIT_ERROR_RX_OTHER = 0x20000005, /* Other errors caught by IOC which require retries */ | ||
| 45 | MPI_IOCLOGINFO_FC_INIT_ERROR_SUBPROC_DEAD = 0x20000006, /* Main processor could not initialize sub-processor */ | ||
| 46 | MPI_IOCLOGINFO_FC_INIT_ERROR_RX_OVERRUN = 0x20000007, /* Scatter Gather overrun */ | ||
| 47 | MPI_IOCLOGINFO_FC_INIT_ERROR_RX_BAD_STATUS = 0x20000008, /* Receiver detected context mismatch via invalid header */ | ||
| 48 | MPI_IOCLOGINFO_FC_INIT_ERROR_RX_UNEXPECTED_FRAME= 0x20000009, /* CtxMgr detected unsupported frame type */ | ||
| 49 | MPI_IOCLOGINFO_FC_INIT_ERROR_LINK_FAILURE = 0x2000000A, /* Link failure occurred */ | ||
| 50 | MPI_IOCLOGINFO_FC_INIT_ERROR_TX_TIMEOUT = 0x2000000B, /* Transmitter timeout error */ | ||
| 51 | |||
| 52 | MPI_IOCLOGINFO_FC_TARGET_BASE = 0x21000000, | ||
| 53 | MPI_IOCLOGINFO_FC_TARGET_NO_PDISC = 0x21000001, /* not sent because we are waiting for a PDISC from the initiator */ | ||
| 54 | MPI_IOCLOGINFO_FC_TARGET_NO_LOGIN = 0x21000002, /* not sent because we are not logged in to the remote node */ | ||
| 55 | MPI_IOCLOGINFO_FC_TARGET_DOAR_KILLED_BY_LIP = 0x21000003, /* Data Out, Auto Response, not sent due to a LIP */ | ||
| 56 | MPI_IOCLOGINFO_FC_TARGET_DIAR_KILLED_BY_LIP = 0x21000004, /* Data In, Auto Response, not sent due to a LIP */ | ||
| 57 | MPI_IOCLOGINFO_FC_TARGET_DIAR_MISSING_DATA = 0x21000005, /* Data In, Auto Response, missing data frames */ | ||
| 58 | MPI_IOCLOGINFO_FC_TARGET_DONR_KILLED_BY_LIP = 0x21000006, /* Data Out, No Response, not sent due to a LIP */ | ||
| 59 | MPI_IOCLOGINFO_FC_TARGET_WRSP_KILLED_BY_LIP = 0x21000007, /* Auto-response after a write not sent due to a LIP */ | ||
| 60 | MPI_IOCLOGINFO_FC_TARGET_DINR_KILLED_BY_LIP = 0x21000008, /* Data In, No Response, not completed due to a LIP */ | ||
| 61 | MPI_IOCLOGINFO_FC_TARGET_DINR_MISSING_DATA = 0x21000009, /* Data In, No Response, missing data frames */ | ||
| 62 | MPI_IOCLOGINFO_FC_TARGET_MRSP_KILLED_BY_LIP = 0x2100000a, /* Manual Response not sent due to a LIP */ | ||
| 63 | MPI_IOCLOGINFO_FC_TARGET_NO_CLASS_3 = 0x2100000b, /* not sent because remote node does not support Class 3 */ | ||
| 64 | MPI_IOCLOGINFO_FC_TARGET_LOGIN_NOT_VALID = 0x2100000c, /* not sent because login to remote node not validated */ | ||
| 65 | MPI_IOCLOGINFO_FC_TARGET_FROM_OUTBOUND = 0x2100000e, /* cleared from the outbound queue after a logout */ | ||
| 66 | MPI_IOCLOGINFO_FC_TARGET_WAITING_FOR_DATA_IN = 0x2100000f, /* cleared waiting for data after a logout */ | ||
| 67 | |||
| 68 | MPI_IOCLOGINFO_FC_LAN_BASE = 0x22000000, | ||
| 69 | MPI_IOCLOGINFO_FC_LAN_TRANS_SGL_MISSING = 0x22000001, /* Transaction Context Sgl Missing */ | ||
| 70 | MPI_IOCLOGINFO_FC_LAN_TRANS_WRONG_PLACE = 0x22000002, /* Transaction Context found before an EOB */ | ||
| 71 | MPI_IOCLOGINFO_FC_LAN_TRANS_RES_BITS_SET = 0x22000003, /* Transaction Context value has reserved bits set */ | ||
| 72 | MPI_IOCLOGINFO_FC_LAN_WRONG_SGL_FLAG = 0x22000004, /* Invalid SGL Flags */ | ||
| 73 | |||
| 74 | MPI_IOCLOGINFO_FC_MSG_BASE = 0x23000000, | ||
| 75 | |||
| 76 | MPI_IOCLOGINFO_FC_LINK_BASE = 0x24000000, | ||
| 77 | MPI_IOCLOGINFO_FC_LINK_LOOP_INIT_TIMEOUT = 0x24000001, /* Loop initialization timed out */ | ||
| 78 | MPI_IOCLOGINFO_FC_LINK_ALREADY_INITIALIZED = 0x24000002, /* Another system controller already initialized the loop */ | ||
| 79 | MPI_IOCLOGINFO_FC_LINK_LINK_NOT_ESTABLISHED = 0x24000003, /* Not synchronized to signal or still negotiating (possible cable problem) */ | ||
| 80 | MPI_IOCLOGINFO_FC_LINK_CRC_ERROR = 0x24000004, /* CRC check detected error on received frame */ | ||
| 81 | |||
| 82 | MPI_IOCLOGINFO_FC_CTX_BASE = 0x25000000, | ||
| 83 | |||
| 84 | MPI_IOCLOGINFO_FC_INVALID_FIELD_BYTE_OFFSET = 0x26000000, /* The lower 24 bits give the byte offset of the field in the request message that is invalid */ | ||
| 85 | MPI_IOCLOGINFO_FC_INVALID_FIELD_MAX_OFFSET = 0x26ffffff, | ||
| 86 | |||
| 87 | MPI_IOCLOGINFO_FC_STATE_CHANGE = 0x27000000 /* The lower 24 bits give additional information concerning state change */ | ||
| 88 | |||
| 89 | } MpiIocLogInfoFc_t; | ||
diff --git a/drivers/message/fusion/lsi/mpi_log_sas.h b/drivers/message/fusion/lsi/mpi_log_sas.h new file mode 100644 index 000000000000..9259d1ad6e6e --- /dev/null +++ b/drivers/message/fusion/lsi/mpi_log_sas.h | |||
| @@ -0,0 +1,162 @@ | |||
| 1 | |||
| 2 | /*************************************************************************** | ||
| 3 | * * | ||
| 4 | * Copyright 2003 LSI Logic Corporation. All rights reserved. * | ||
| 5 | * * | ||
| 6 | * This file is confidential and a trade secret of LSI Logic. The * | ||
| 7 | * receipt of or possession of this file does not convey any rights to * | ||
| 8 | * reproduce or disclose its contents or to manufacture, use, or sell * | ||
| 9 | * anything it may describe, in whole, or in part, without the specific * | ||
| 10 | * written consent of LSI Logic Corporation. * | ||
| 11 | * * | ||
| 12 | *************************************************************************** | ||
| 13 | * | ||
| 14 | * Name: iopiIocLogInfo.h | ||
| 15 | * Title: SAS Firmware IOP Interface IOC Log Info Definitions | ||
| 16 | * Programmer: Guy Kendall | ||
| 17 | * Creation Date: September 24, 2003 | ||
| 18 | * | ||
| 19 | * Version History | ||
| 20 | * --------------- | ||
| 21 | * | ||
| 22 | * Last Updated | ||
| 23 | * ------------- | ||
| 24 | * Version %version: 22 % | ||
| 25 | * Date Updated %date_modified: % | ||
| 26 | * Programmer %created_by: nperucca % | ||
| 27 | * | ||
| 28 | * Date Who Description | ||
| 29 | * -------- --- ------------------------------------------------------- | ||
| 30 | * 09/24/03 GWK Initial version | ||
| 31 | * | ||
| 32 | * | ||
| 33 | * Description | ||
| 34 | * ------------ | ||
| 35 | * This include file contains SAS firmware interface IOC Log Info codes | ||
| 36 | * | ||
| 37 | *------------------------------------------------------------------------- | ||
| 38 | */ | ||
| 39 | |||
| 40 | #ifndef IOPI_IOCLOGINFO_H_INCLUDED | ||
| 41 | #define IOPI_IOCLOGINFO_H_INCLUDED | ||
| 42 | |||
| 43 | |||
| 44 | /****************************************************************************/ | ||
| 45 | /* IOC LOGINFO defines, 0x00000000 - 0x0FFFFFFF */ | ||
| 46 | /* Format: */ | ||
| 47 | /* Bits 31-28: MPI_IOCLOGINFO_TYPE_SAS (3) */ | ||
| 48 | /* Bits 27-24: IOC_LOGINFO_ORIGINATOR: 0=IOP, 1=PL, 2=IR */ | ||
| 49 | /* Bits 23-16: LOGINFO_CODE */ | ||
| 50 | /* Bits 15-0: LOGINFO_CODE Specific */ | ||
| 51 | /****************************************************************************/ | ||
| 52 | |||
| 53 | /****************************************************************************/ | ||
| 54 | /* IOC_LOGINFO_ORIGINATOR defines */ | ||
| 55 | /****************************************************************************/ | ||
| 56 | #define IOC_LOGINFO_ORIGINATOR_IOP (0x00000000) | ||
| 57 | #define IOC_LOGINFO_ORIGINATOR_PL (0x01000000) | ||
| 58 | #define IOC_LOGINFO_ORIGINATOR_IR (0x02000000) | ||
| 59 | |||
| 60 | /****************************************************************************/ | ||
| 61 | /* LOGINFO_CODE defines */ | ||
| 62 | /****************************************************************************/ | ||
| 63 | #define IOC_LOGINFO_CODE_MASK (0x00FF0000) | ||
| 64 | #define IOC_LOGINFO_CODE_SHIFT (16) | ||
| 65 | |||
| 66 | /****************************************************************************/ | ||
| 67 | /* IOP LOGINFO_CODE defines, valid if IOC_LOGINFO_ORIGINATOR = IOP */ | ||
| 68 | /****************************************************************************/ | ||
| 69 | #define IOP_LOGINFO_CODE_INVALID_SAS_ADDRESS (0x00010000) | ||
| 70 | #define IOP_LOGINFO_CODE_UNUSED2 (0x00020000) | ||
| 71 | #define IOP_LOGINFO_CODE_CONFIG_INVALID_PAGE (0x00030000) | ||
| 72 | #define IOP_LOGINFO_CODE_CONFIG_INVALID_PAGE_RT (0x00030100) /* Route Table Entry not found */ | ||
| 73 | #define IOP_LOGINFO_CODE_CONFIG_INVALID_PAGE_PN (0x00030200) /* Invalid Page Number */ | ||
| 74 | #define IOP_LOGINFO_CODE_CONFIG_INVALID_PAGE_FORM (0x00030300) /* Invalid FORM */ | ||
| 75 | #define IOP_LOGINFO_CODE_CONFIG_INVALID_PAGE_PT (0x00030400) /* Invalid Page Type */ | ||
| 76 | #define IOP_LOGINFO_CODE_CONFIG_INVALID_PAGE_DNM (0x00030500) /* Device Not Mapped */ | ||
| 77 | #define IOP_LOGINFO_CODE_CONFIG_INVALID_PAGE_PERSIST (0x00030600) /* Persistent Page not found */ | ||
| 78 | #define IOP_LOGINFO_CODE_CONFIG_INVALID_PAGE_DEFAULT (0x00030700) /* Default Page not found */ | ||
| 79 | #define IOP_LOGINFO_CODE_TASK_TERMINATED (0x00050000) | ||
| 80 | |||
| 81 | |||
| 82 | /****************************************************************************/ | ||
| 83 | /* PL LOGINFO_CODE defines, valid if IOC_LOGINFO_ORIGINATOR = PL */ | ||
| 84 | /****************************************************************************/ | ||
| 85 | #define PL_LOGINFO_CODE_OPEN_FAILURE (0x00010000) | ||
| 86 | #define PL_LOGINFO_CODE_INVALID_SGL (0x00020000) | ||
| 87 | #define PL_LOGINFO_CODE_WRONG_REL_OFF_OR_FRAME_LENGTH (0x00030000) | ||
| 88 | #define PL_LOGINFO_CODE_FRAME_XFER_ERROR (0x00040000) | ||
| 89 | #define PL_LOGINFO_CODE_TX_FM_CONNECTED_LOW (0x00050000) | ||
| 90 | #define PL_LOGINFO_CODE_SATA_NON_NCQ_RW_ERR_BIT_SET (0x00060000) | ||
| 91 | #define PL_LOGINFO_CODE_SATA_READ_LOG_RECEIVE_DATA_ERR (0x00070000) | ||
| 92 | #define PL_LOGINFO_CODE_SATA_NCQ_FAIL_ALL_CMDS_AFTR_ERR (0x00080000) | ||
| 93 | #define PL_LOGINFO_CODE_SATA_ERR_IN_RCV_SET_DEV_BIT_FIS (0x00090000) | ||
| 94 | #define PL_LOGINFO_CODE_RX_FM_INVALID_MESSAGE (0x000A0000) | ||
| 95 | #define PL_LOGINFO_CODE_RX_CTX_MESSAGE_VALID_ERROR (0x000B0000) | ||
| 96 | #define PL_LOGINFO_CODE_RX_FM_CURRENT_FRAME_ERROR (0x000C0000) | ||
| 97 | #define PL_LOGINFO_CODE_SATA_LINK_DOWN (0x000D0000) | ||
| 98 | #define PL_LOGINFO_CODE_DISCOVERY_SATA_INIT_W_IOS (0x000E0000) | ||
| 99 | #define PL_LOGINFO_CODE_CONFIG_INVALID_PAGE (0x000F0000) | ||
| 100 | #define PL_LOGINFO_CODE_CONFIG_INVALID_PAGE_PT (0x000F0100) /* Invalid Page Type */ | ||
| 101 | #define PL_LOGINFO_CODE_CONFIG_INVALID_PAGE_NUM_PHYS (0x000F0200) /* Invalid Number of Phys */ | ||
| 102 | #define PL_LOGINFO_CODE_CONFIG_INVALID_PAGE_NOT_IMP (0x000F0300) /* Case Not Handled */ | ||
| 103 | #define PL_LOGINFO_CODE_CONFIG_INVALID_PAGE_NO_DEV (0x000F0400) /* No Device Found */ | ||
| 104 | #define PL_LOGINFO_CODE_CONFIG_INVALID_PAGE_FORM (0x000F0500) /* Invalid FORM */ | ||
| 105 | #define PL_LOGINFO_CODE_CONFIG_INVALID_PAGE_PHY (0x000F0600) /* Invalid Phy */ | ||
| 106 | #define PL_LOGINFO_CODE_CONFIG_INVALID_PAGE_NO_OWNER (0x000F0700) /* No Owner Found */ | ||
| 107 | #define PL_LOGINFO_CODE_DSCVRY_SATA_INIT_TIMEOUT (0x00100000) | ||
| 108 | #define PL_LOGINFO_CODE_RESET (0x00110000) | ||
| 109 | #define PL_LOGINFO_CODE_ABORT (0x00120000) | ||
| 110 | #define PL_LOGINFO_CODE_IO_NOT_YET_EXECUTED (0x00130000) | ||
| 111 | #define PL_LOGINFO_CODE_IO_EXECUTED (0x00140000) | ||
| 112 | #define PL_LOGINFO_SUB_CODE_OPEN_FAILURE (0x00000100) | ||
| 113 | #define PL_LOGINFO_SUB_CODE_INVALID_SGL (0x00000200) | ||
| 114 | #define PL_LOGINFO_SUB_CODE_WRONG_REL_OFF_OR_FRAME_LENGTH (0x00000300) | ||
| 115 | #define PL_LOGINFO_SUB_CODE_FRAME_XFER_ERROR (0x00000400) | ||
| 116 | #define PL_LOGINFO_SUB_CODE_TX_FM_CONNECTED_LOW (0x00000500) | ||
| 117 | #define PL_LOGINFO_SUB_CODE_SATA_NON_NCQ_RW_ERR_BIT_SET (0x00000600) | ||
| 118 | #define PL_LOGINFO_SUB_CODE_SATA_READ_LOG_RECEIVE_DATA_ERR (0x00000700) | ||
| 119 | #define PL_LOGINFO_SUB_CODE_SATA_NCQ_FAIL_ALL_CMDS_AFTR_ERR (0x00000800) | ||
| 120 | #define PL_LOGINFO_SUB_CODE_SATA_ERR_IN_RCV_SET_DEV_BIT_FIS (0x00000900) | ||
| 121 | #define PL_LOGINFO_SUB_CODE_RX_FM_INVALID_MESSAGE (0x00000A00) | ||
| 122 | #define PL_LOGINFO_SUB_CODE_RX_CTX_MESSAGE_VALID_ERROR (0x00000B00) | ||
| 123 | #define PL_LOGINFO_SUB_CODE_RX_FM_CURRENT_FRAME_ERROR (0x00000C00) | ||
| 124 | #define PL_LOGINFO_SUB_CODE_SATA_LINK_DOWN (0x00000D00) | ||
| 125 | #define PL_LOGINFO_SUB_CODE_DISCOVERY_SATA_INIT_W_IOS (0x00000E00) | ||
| 126 | #define PL_LOGINFO_SUB_CODE_DSCVRY_SATA_INIT_TIMEOUT (0x00001000) | ||
| 127 | |||
| 128 | |||
| 129 | #define PL_LOGINFO_CODE_ENCL_MGMT_SMP_FRAME_FAILURE (0x00200000) /* Can't get SMP Frame */ | ||
| 130 | #define PL_LOGINFO_CODE_ENCL_MGMT_SMP_READ_ERROR (0x00200001) /* Error occured on SMP Read */ | ||
| 131 | #define PL_LOGINFO_CODE_ENCL_MGMT_SMP_WRITE_ERROR (0x00200002) /* Error occured on SMP Write */ | ||
| 132 | #define PL_LOGINFO_CODE_ENCL_MGMT_NOT_SUPPORTED_ON_ENCL (0x00200004) /* Encl Mgmt services not available for this WWID */ | ||
| 133 | #define PL_LOGINFO_CODE_ENCL_MGMT_ADDR_MODE_NOT_SUPPORTED (0x00200005) /* Address Mode not suppored */ | ||
| 134 | #define PL_LOGINFO_CODE_ENCL_MGMT_BAD_SLOT_NUM (0x00200006) /* Invalid Slot Number in SEP Msg */ | ||
| 135 | #define PL_LOGINFO_CODE_ENCL_MGMT_SGPIO_NOT_PRESENT (0x00200007) /* SGPIO not present/enabled */ | ||
| 136 | |||
| 137 | #define PL_LOGINFO_DA_SEP_NOT_PRESENT (0x00200100) /* SEP not present when msg received */ | ||
| 138 | #define PL_LOGINFO_DA_SEP_SINGLE_THREAD_ERROR (0x00200101) /* Can only accept 1 msg at a time */ | ||
| 139 | #define PL_LOGINFO_DA_SEP_ISTWI_INTR_IN_IDLE_STATE (0x00200102) /* ISTWI interrupt recvd. while IDLE */ | ||
| 140 | #define PL_LOGINFO_DA_SEP_RECEIVED_NACK_FROM_SLAVE (0x00200103) /* SEP NACK'd, it is busy */ | ||
| 141 | #define PL_LOGINFO_DA_SEP_BAD_STATUS_HDR_CHKSUM (0x00200104) /* SEP stopped or sent bad chksum in Hdr */ | ||
| 142 | #define PL_LOGINFO_DA_SEP_UNSUPPORTED_SCSI_STATUS_1 (0x00200105) /* SEP returned unknown scsi status */ | ||
| 143 | #define PL_LOGINFO_DA_SEP_UNSUPPORTED_SCSI_STATUS_2 (0x00200106) /* SEP returned unknown scsi status */ | ||
| 144 | #define PL_LOGINFO_DA_SEP_CHKSUM_ERROR_AFTER_STOP (0x00200107) /* SEP returned bad chksum after STOP */ | ||
| 145 | #define PL_LOGINFO_DA_SEP_CHKSUM_ERROR_AFTER_STOP_GETDATA (0x00200108) /* SEP returned bad chksum after STOP while gettin data*/ | ||
| 146 | |||
| 147 | |||
| 148 | /****************************************************************************/ | ||
| 149 | /* IR LOGINFO_CODE defines, valid if IOC_LOGINFO_ORIGINATOR = IR */ | ||
| 150 | /****************************************************************************/ | ||
| 151 | #define IR_LOGINFO_CODE_UNUSED1 (0x00010000) | ||
| 152 | #define IR_LOGINFO_CODE_UNUSED2 (0x00020000) | ||
| 153 | |||
| 154 | /****************************************************************************/ | ||
| 155 | /* Defines for convienence */ | ||
| 156 | /****************************************************************************/ | ||
| 157 | #define IOC_LOGINFO_PREFIX_IOP ((MPI_IOCLOGINFO_TYPE_SAS << MPI_IOCLOGINFO_TYPE_SHIFT) | IOC_LOGINFO_ORIGINATOR_IOP) | ||
| 158 | #define IOC_LOGINFO_PREFIX_PL ((MPI_IOCLOGINFO_TYPE_SAS << MPI_IOCLOGINFO_TYPE_SHIFT) | IOC_LOGINFO_ORIGINATOR_PL) | ||
| 159 | #define IOC_LOGINFO_PREFIX_IR ((MPI_IOCLOGINFO_TYPE_SAS << MPI_IOCLOGINFO_TYPE_SHIFT) | IOC_LOGINFO_ORIGINATOR_IR) | ||
| 160 | |||
| 161 | #endif /* end of file */ | ||
| 162 | |||
diff --git a/drivers/message/fusion/lsi/mpi_sas.h b/drivers/message/fusion/lsi/mpi_sas.h index 230fa69b5353..70514867bddf 100644 --- a/drivers/message/fusion/lsi/mpi_sas.h +++ b/drivers/message/fusion/lsi/mpi_sas.h | |||
| @@ -6,7 +6,7 @@ | |||
| 6 | * Title: MPI Serial Attached SCSI structures and definitions | 6 | * Title: MPI Serial Attached SCSI structures and definitions |
| 7 | * Creation Date: August 19, 2004 | 7 | * Creation Date: August 19, 2004 |
| 8 | * | 8 | * |
| 9 | * mpi_sas.h Version: 01.05.01 | 9 | * mpi_sas.h Version: 01.05.02 |
| 10 | * | 10 | * |
| 11 | * Version History | 11 | * Version History |
| 12 | * --------------- | 12 | * --------------- |
| @@ -14,6 +14,9 @@ | |||
| 14 | * Date Version Description | 14 | * Date Version Description |
| 15 | * -------- -------- ------------------------------------------------------ | 15 | * -------- -------- ------------------------------------------------------ |
| 16 | * 08-19-04 01.05.01 Original release. | 16 | * 08-19-04 01.05.01 Original release. |
| 17 | * 08-30-05 01.05.02 Added DeviceInfo bit for SEP. | ||
| 18 | * Added PrimFlags and Primitive field to SAS IO Unit | ||
| 19 | * Control request, and added a new operation code. | ||
| 17 | * -------------------------------------------------------------------------- | 20 | * -------------------------------------------------------------------------- |
| 18 | */ | 21 | */ |
| 19 | 22 | ||
| @@ -51,6 +54,7 @@ | |||
| 51 | * Values for the SAS DeviceInfo field used in SAS Device Status Change Event | 54 | * Values for the SAS DeviceInfo field used in SAS Device Status Change Event |
| 52 | * data and SAS IO Unit Configuration pages. | 55 | * data and SAS IO Unit Configuration pages. |
| 53 | */ | 56 | */ |
| 57 | #define MPI_SAS_DEVICE_INFO_SEP (0x00004000) | ||
| 54 | #define MPI_SAS_DEVICE_INFO_ATAPI_DEVICE (0x00002000) | 58 | #define MPI_SAS_DEVICE_INFO_ATAPI_DEVICE (0x00002000) |
| 55 | #define MPI_SAS_DEVICE_INFO_LSI_DEVICE (0x00001000) | 59 | #define MPI_SAS_DEVICE_INFO_LSI_DEVICE (0x00001000) |
| 56 | #define MPI_SAS_DEVICE_INFO_DIRECT_ATTACH (0x00000800) | 60 | #define MPI_SAS_DEVICE_INFO_DIRECT_ATTACH (0x00000800) |
| @@ -212,20 +216,26 @@ typedef struct _MSG_SAS_IOUNIT_CONTROL_REQUEST | |||
| 212 | U8 TargetID; /* 0Ch */ | 216 | U8 TargetID; /* 0Ch */ |
| 213 | U8 Bus; /* 0Dh */ | 217 | U8 Bus; /* 0Dh */ |
| 214 | U8 PhyNum; /* 0Eh */ | 218 | U8 PhyNum; /* 0Eh */ |
| 215 | U8 Reserved4; /* 0Fh */ | 219 | U8 PrimFlags; /* 0Fh */ |
| 216 | U32 Reserved5; /* 10h */ | 220 | U32 Primitive; /* 10h */ |
| 217 | U64 SASAddress; /* 14h */ | 221 | U64 SASAddress; /* 14h */ |
| 218 | U32 Reserved6; /* 1Ch */ | 222 | U32 Reserved4; /* 1Ch */ |
| 219 | } MSG_SAS_IOUNIT_CONTROL_REQUEST, MPI_POINTER PTR_MSG_SAS_IOUNIT_CONTROL_REQUEST, | 223 | } MSG_SAS_IOUNIT_CONTROL_REQUEST, MPI_POINTER PTR_MSG_SAS_IOUNIT_CONTROL_REQUEST, |
| 220 | SasIoUnitControlRequest_t, MPI_POINTER pSasIoUnitControlRequest_t; | 224 | SasIoUnitControlRequest_t, MPI_POINTER pSasIoUnitControlRequest_t; |
| 221 | 225 | ||
| 222 | /* values for the Operation field */ | 226 | /* values for the Operation field */ |
| 223 | #define MPI_SAS_OP_CLEAR_NOT_PRESENT (0x01) | 227 | #define MPI_SAS_OP_CLEAR_NOT_PRESENT (0x01) |
| 224 | #define MPI_SAS_OP_CLEAR_ALL_PERSISTENT (0x02) | 228 | #define MPI_SAS_OP_CLEAR_ALL_PERSISTENT (0x02) |
| 225 | #define MPI_SAS_OP_PHY_LINK_RESET (0x06) | 229 | #define MPI_SAS_OP_PHY_LINK_RESET (0x06) |
| 226 | #define MPI_SAS_OP_PHY_HARD_RESET (0x07) | 230 | #define MPI_SAS_OP_PHY_HARD_RESET (0x07) |
| 227 | #define MPI_SAS_OP_PHY_CLEAR_ERROR_LOG (0x08) | 231 | #define MPI_SAS_OP_PHY_CLEAR_ERROR_LOG (0x08) |
| 228 | #define MPI_SAS_OP_MAP_CURRENT (0x09) | 232 | #define MPI_SAS_OP_MAP_CURRENT (0x09) |
| 233 | #define MPI_SAS_OP_SEND_PRIMITIVE (0x0A) | ||
| 234 | |||
| 235 | /* values for the PrimFlags field */ | ||
| 236 | #define MPI_SAS_PRIMFLAGS_SINGLE (0x08) | ||
| 237 | #define MPI_SAS_PRIMFLAGS_TRIPLE (0x02) | ||
| 238 | #define MPI_SAS_PRIMFLAGS_REDUNDANT (0x01) | ||
| 229 | 239 | ||
| 230 | 240 | ||
| 231 | /* SAS IO Unit Control Reply */ | 241 | /* SAS IO Unit Control Reply */ |
