aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/mpt2sas/mpi/mpi2_ioc.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/mpt2sas/mpi/mpi2_ioc.h')
-rw-r--r--drivers/scsi/mpt2sas/mpi/mpi2_ioc.h81
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
479typedef 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
466typedef struct _MPI2_EVENT_DATA_HARD_RESET_RECEIVED 489typedef 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
852typedef 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