diff options
Diffstat (limited to 'drivers/scsi/mpt2sas/mpi/mpi2_ioc.h')
| -rw-r--r-- | drivers/scsi/mpt2sas/mpi/mpi2_ioc.h | 81 |
1 files changed, 69 insertions, 12 deletions
diff --git a/drivers/scsi/mpt2sas/mpi/mpi2_ioc.h b/drivers/scsi/mpt2sas/mpi/mpi2_ioc.h index 8c5d81870c03..ea51ce868690 100644 --- a/drivers/scsi/mpt2sas/mpi/mpi2_ioc.h +++ b/drivers/scsi/mpt2sas/mpi/mpi2_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: October 11, 2006 | 7 | * Creation Date: October 11, 2006 |
| 8 | * | 8 | * |
| 9 | * mpi2_ioc.h Version: 02.00.10 | 9 | * mpi2_ioc.h Version: 02.00.12 |
| 10 | * | 10 | * |
| 11 | * Version History | 11 | * Version History |
| 12 | * --------------- | 12 | * --------------- |
| @@ -79,6 +79,14 @@ | |||
| 79 | * Added MPI2_EVENT_SAS_DEV_STAT_RC_SATA_INIT_FAILURE | 79 | * Added MPI2_EVENT_SAS_DEV_STAT_RC_SATA_INIT_FAILURE |
| 80 | * define. | 80 | * define. |
| 81 | * Removed MPI2_EVENT_SAS_DISC_DS_SATA_INIT_FAILURE define. | 81 | * Removed MPI2_EVENT_SAS_DISC_DS_SATA_INIT_FAILURE define. |
| 82 | * 05-06-09 02.00.11 Added MPI2_IOCFACTS_CAPABILITY_RAID_ACCELERATOR define. | ||
| 83 | * Added MPI2_IOCFACTS_CAPABILITY_MSI_X_INDEX define. | ||
| 84 | * Added two new reason codes for SAS Device Status Change | ||
| 85 | * Event. | ||
| 86 | * Added new event: SAS PHY Counter. | ||
| 87 | * 07-30-09 02.00.12 Added GPIO Interrupt event define and structure. | ||
| 88 | * Added MPI2_IOCFACTS_CAPABILITY_EXTENDED_BUFFER define. | ||
| 89 | * Added new product id family for 2208. | ||
| 82 | * -------------------------------------------------------------------------- | 90 | * -------------------------------------------------------------------------- |
| 83 | */ | 91 | */ |
| 84 | 92 | ||
| @@ -261,12 +269,15 @@ typedef struct _MPI2_IOC_FACTS_REPLY | |||
| 261 | /* ProductID field uses MPI2_FW_HEADER_PID_ */ | 269 | /* ProductID field uses MPI2_FW_HEADER_PID_ */ |
| 262 | 270 | ||
| 263 | /* IOCCapabilities */ | 271 | /* IOCCapabilities */ |
| 272 | #define MPI2_IOCFACTS_CAPABILITY_MSI_X_INDEX (0x00008000) | ||
| 273 | #define MPI2_IOCFACTS_CAPABILITY_RAID_ACCELERATOR (0x00004000) | ||
| 264 | #define MPI2_IOCFACTS_CAPABILITY_EVENT_REPLAY (0x00002000) | 274 | #define MPI2_IOCFACTS_CAPABILITY_EVENT_REPLAY (0x00002000) |
| 265 | #define MPI2_IOCFACTS_CAPABILITY_INTEGRATED_RAID (0x00001000) | 275 | #define MPI2_IOCFACTS_CAPABILITY_INTEGRATED_RAID (0x00001000) |
| 266 | #define MPI2_IOCFACTS_CAPABILITY_TLR (0x00000800) | 276 | #define MPI2_IOCFACTS_CAPABILITY_TLR (0x00000800) |
| 267 | #define MPI2_IOCFACTS_CAPABILITY_MULTICAST (0x00000100) | 277 | #define MPI2_IOCFACTS_CAPABILITY_MULTICAST (0x00000100) |
| 268 | #define MPI2_IOCFACTS_CAPABILITY_BIDIRECTIONAL_TARGET (0x00000080) | 278 | #define MPI2_IOCFACTS_CAPABILITY_BIDIRECTIONAL_TARGET (0x00000080) |
| 269 | #define MPI2_IOCFACTS_CAPABILITY_EEDP (0x00000040) | 279 | #define MPI2_IOCFACTS_CAPABILITY_EEDP (0x00000040) |
| 280 | #define MPI2_IOCFACTS_CAPABILITY_EXTENDED_BUFFER (0x00000020) | ||
| 270 | #define MPI2_IOCFACTS_CAPABILITY_SNAPSHOT_BUFFER (0x00000010) | 281 | #define MPI2_IOCFACTS_CAPABILITY_SNAPSHOT_BUFFER (0x00000010) |
| 271 | #define MPI2_IOCFACTS_CAPABILITY_DIAG_TRACE_BUFFER (0x00000008) | 282 | #define MPI2_IOCFACTS_CAPABILITY_DIAG_TRACE_BUFFER (0x00000008) |
| 272 | #define MPI2_IOCFACTS_CAPABILITY_TASK_SET_FULL_HANDLING (0x00000004) | 283 | #define MPI2_IOCFACTS_CAPABILITY_TASK_SET_FULL_HANDLING (0x00000004) |
| @@ -440,6 +451,8 @@ typedef struct _MPI2_EVENT_NOTIFICATION_REPLY | |||
| 440 | #define MPI2_EVENT_IR_PHYSICAL_DISK (0x001F) | 451 | #define MPI2_EVENT_IR_PHYSICAL_DISK (0x001F) |
| 441 | #define MPI2_EVENT_IR_CONFIGURATION_CHANGE_LIST (0x0020) | 452 | #define MPI2_EVENT_IR_CONFIGURATION_CHANGE_LIST (0x0020) |
| 442 | #define MPI2_EVENT_LOG_ENTRY_ADDED (0x0021) | 453 | #define MPI2_EVENT_LOG_ENTRY_ADDED (0x0021) |
| 454 | #define MPI2_EVENT_SAS_PHY_COUNTER (0x0022) | ||
| 455 | #define MPI2_EVENT_GPIO_INTERRUPT (0x0023) | ||
| 443 | 456 | ||
| 444 | 457 | ||
| 445 | /* Log Entry Added Event data */ | 458 | /* Log Entry Added Event data */ |
| @@ -461,6 +474,16 @@ typedef struct _MPI2_EVENT_DATA_LOG_ENTRY_ADDED | |||
| 461 | MPI2_POINTER PTR_MPI2_EVENT_DATA_LOG_ENTRY_ADDED, | 474 | MPI2_POINTER PTR_MPI2_EVENT_DATA_LOG_ENTRY_ADDED, |
| 462 | Mpi2EventDataLogEntryAdded_t, MPI2_POINTER pMpi2EventDataLogEntryAdded_t; | 475 | Mpi2EventDataLogEntryAdded_t, MPI2_POINTER pMpi2EventDataLogEntryAdded_t; |
| 463 | 476 | ||
| 477 | /* GPIO Interrupt Event data */ | ||
| 478 | |||
| 479 | typedef struct _MPI2_EVENT_DATA_GPIO_INTERRUPT { | ||
| 480 | U8 GPIONum; /* 0x00 */ | ||
| 481 | U8 Reserved1; /* 0x01 */ | ||
| 482 | U16 Reserved2; /* 0x02 */ | ||
| 483 | } MPI2_EVENT_DATA_GPIO_INTERRUPT, | ||
| 484 | MPI2_POINTER PTR_MPI2_EVENT_DATA_GPIO_INTERRUPT, | ||
| 485 | Mpi2EventDataGpioInterrupt_t, MPI2_POINTER pMpi2EventDataGpioInterrupt_t; | ||
| 486 | |||
| 464 | /* Hard Reset Received Event data */ | 487 | /* Hard Reset Received Event data */ |
| 465 | 488 | ||
| 466 | typedef struct _MPI2_EVENT_DATA_HARD_RESET_RECEIVED | 489 | typedef struct _MPI2_EVENT_DATA_HARD_RESET_RECEIVED |
| @@ -502,17 +525,19 @@ typedef struct _MPI2_EVENT_DATA_SAS_DEVICE_STATUS_CHANGE | |||
| 502 | MPI2_POINTER pMpi2EventDataSasDeviceStatusChange_t; | 525 | MPI2_POINTER pMpi2EventDataSasDeviceStatusChange_t; |
| 503 | 526 | ||
| 504 | /* SAS Device Status Change Event data ReasonCode values */ | 527 | /* SAS Device Status Change Event data ReasonCode values */ |
| 505 | #define MPI2_EVENT_SAS_DEV_STAT_RC_SMART_DATA (0x05) | 528 | #define MPI2_EVENT_SAS_DEV_STAT_RC_SMART_DATA (0x05) |
| 506 | #define MPI2_EVENT_SAS_DEV_STAT_RC_UNSUPPORTED (0x07) | 529 | #define MPI2_EVENT_SAS_DEV_STAT_RC_UNSUPPORTED (0x07) |
| 507 | #define MPI2_EVENT_SAS_DEV_STAT_RC_INTERNAL_DEVICE_RESET (0x08) | 530 | #define MPI2_EVENT_SAS_DEV_STAT_RC_INTERNAL_DEVICE_RESET (0x08) |
| 508 | #define MPI2_EVENT_SAS_DEV_STAT_RC_TASK_ABORT_INTERNAL (0x09) | 531 | #define MPI2_EVENT_SAS_DEV_STAT_RC_TASK_ABORT_INTERNAL (0x09) |
| 509 | #define MPI2_EVENT_SAS_DEV_STAT_RC_ABORT_TASK_SET_INTERNAL (0x0A) | 532 | #define MPI2_EVENT_SAS_DEV_STAT_RC_ABORT_TASK_SET_INTERNAL (0x0A) |
| 510 | #define MPI2_EVENT_SAS_DEV_STAT_RC_CLEAR_TASK_SET_INTERNAL (0x0B) | 533 | #define MPI2_EVENT_SAS_DEV_STAT_RC_CLEAR_TASK_SET_INTERNAL (0x0B) |
| 511 | #define MPI2_EVENT_SAS_DEV_STAT_RC_QUERY_TASK_INTERNAL (0x0C) | 534 | #define MPI2_EVENT_SAS_DEV_STAT_RC_QUERY_TASK_INTERNAL (0x0C) |
| 512 | #define MPI2_EVENT_SAS_DEV_STAT_RC_ASYNC_NOTIFICATION (0x0D) | 535 | #define MPI2_EVENT_SAS_DEV_STAT_RC_ASYNC_NOTIFICATION (0x0D) |
| 513 | #define MPI2_EVENT_SAS_DEV_STAT_RC_CMP_INTERNAL_DEV_RESET (0x0E) | 536 | #define MPI2_EVENT_SAS_DEV_STAT_RC_CMP_INTERNAL_DEV_RESET (0x0E) |
| 514 | #define MPI2_EVENT_SAS_DEV_STAT_RC_CMP_TASK_ABORT_INTERNAL (0x0F) | 537 | #define MPI2_EVENT_SAS_DEV_STAT_RC_CMP_TASK_ABORT_INTERNAL (0x0F) |
| 515 | #define MPI2_EVENT_SAS_DEV_STAT_RC_SATA_INIT_FAILURE (0x10) | 538 | #define MPI2_EVENT_SAS_DEV_STAT_RC_SATA_INIT_FAILURE (0x10) |
| 539 | #define MPI2_EVENT_SAS_DEV_STAT_RC_EXPANDER_REDUCED_FUNCTIONALITY (0x11) | ||
| 540 | #define MPI2_EVENT_SAS_DEV_STAT_RC_CMP_EXPANDER_REDUCED_FUNCTIONALITY (0x12) | ||
| 516 | 541 | ||
| 517 | 542 | ||
| 518 | /* Integrated RAID Operation Status Event data */ | 543 | /* Integrated RAID Operation Status Event data */ |
| @@ -822,6 +847,37 @@ typedef struct _MPI2_EVENT_DATA_SAS_ENCL_DEV_STATUS_CHANGE | |||
| 822 | #define MPI2_EVENT_SAS_ENCL_RC_NOT_RESPONDING (0x02) | 847 | #define MPI2_EVENT_SAS_ENCL_RC_NOT_RESPONDING (0x02) |
| 823 | 848 | ||
| 824 | 849 | ||
| 850 | /* SAS PHY Counter Event data */ | ||
| 851 | |||
| 852 | typedef struct _MPI2_EVENT_DATA_SAS_PHY_COUNTER { | ||
| 853 | U64 TimeStamp; /* 0x00 */ | ||
| 854 | U32 Reserved1; /* 0x08 */ | ||
| 855 | U8 PhyEventCode; /* 0x0C */ | ||
| 856 | U8 PhyNum; /* 0x0D */ | ||
| 857 | U16 Reserved2; /* 0x0E */ | ||
| 858 | U32 PhyEventInfo; /* 0x10 */ | ||
| 859 | U8 CounterType; /* 0x14 */ | ||
| 860 | U8 ThresholdWindow; /* 0x15 */ | ||
| 861 | U8 TimeUnits; /* 0x16 */ | ||
| 862 | U8 Reserved3; /* 0x17 */ | ||
| 863 | U32 EventThreshold; /* 0x18 */ | ||
| 864 | U16 ThresholdFlags; /* 0x1C */ | ||
| 865 | U16 Reserved4; /* 0x1E */ | ||
| 866 | } MPI2_EVENT_DATA_SAS_PHY_COUNTER, | ||
| 867 | MPI2_POINTER PTR_MPI2_EVENT_DATA_SAS_PHY_COUNTER, | ||
| 868 | Mpi2EventDataSasPhyCounter_t, MPI2_POINTER pMpi2EventDataSasPhyCounter_t; | ||
| 869 | |||
| 870 | /* use MPI2_SASPHY3_EVENT_CODE_ values from mpi2_cnfg.h for the | ||
| 871 | * PhyEventCode field | ||
| 872 | * use MPI2_SASPHY3_COUNTER_TYPE_ values from mpi2_cnfg.h for the | ||
| 873 | * CounterType field | ||
| 874 | * use MPI2_SASPHY3_TIME_UNITS_ values from mpi2_cnfg.h for the | ||
| 875 | * TimeUnits field | ||
| 876 | * use MPI2_SASPHY3_TFLAGS_ values from mpi2_cnfg.h for the | ||
| 877 | * ThresholdFlags field | ||
| 878 | * */ | ||
| 879 | |||
| 880 | |||
| 825 | /**************************************************************************** | 881 | /**************************************************************************** |
| 826 | * EventAck message | 882 | * EventAck message |
| 827 | ****************************************************************************/ | 883 | ****************************************************************************/ |
| @@ -1076,6 +1132,7 @@ typedef struct _MPI2_FW_IMAGE_HEADER | |||
| 1076 | #define MPI2_FW_HEADER_PID_FAMILY_MASK (0x00FF) | 1132 | #define MPI2_FW_HEADER_PID_FAMILY_MASK (0x00FF) |
| 1077 | /* SAS */ | 1133 | /* SAS */ |
| 1078 | #define MPI2_FW_HEADER_PID_FAMILY_2108_SAS (0x0010) | 1134 | #define MPI2_FW_HEADER_PID_FAMILY_2108_SAS (0x0010) |
| 1135 | #define MPI2_FW_HEADER_PID_FAMILY_2208_SAS (0x0011) | ||
| 1079 | 1136 | ||
| 1080 | /* use MPI2_IOCFACTS_PROTOCOL_ defines for ProtocolFlags field */ | 1137 | /* use MPI2_IOCFACTS_PROTOCOL_ defines for ProtocolFlags field */ |
| 1081 | 1138 | ||
