diff options
Diffstat (limited to 'drivers/scsi/mpt2sas/mpi/mpi2_ioc.h')
-rw-r--r-- | drivers/scsi/mpt2sas/mpi/mpi2_ioc.h | 113 |
1 files changed, 110 insertions, 3 deletions
diff --git a/drivers/scsi/mpt2sas/mpi/mpi2_ioc.h b/drivers/scsi/mpt2sas/mpi/mpi2_ioc.h index 1f0c190d336e..93d9b6956d05 100644 --- a/drivers/scsi/mpt2sas/mpi/mpi2_ioc.h +++ b/drivers/scsi/mpt2sas/mpi/mpi2_ioc.h | |||
@@ -1,12 +1,12 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (c) 2000-2010 LSI Corporation. | 2 | * Copyright (c) 2000-2011 LSI Corporation. |
3 | * | 3 | * |
4 | * | 4 | * |
5 | * Name: mpi2_ioc.h | 5 | * Name: mpi2_ioc.h |
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.16 | 9 | * mpi2_ioc.h Version: 02.00.17 |
10 | * | 10 | * |
11 | * Version History | 11 | * Version History |
12 | * --------------- | 12 | * --------------- |
@@ -104,6 +104,12 @@ | |||
104 | * 05-12-10 02.00.15 Marked Task Set Full Event as obsolete. | 104 | * 05-12-10 02.00.15 Marked Task Set Full Event as obsolete. |
105 | * Added MPI2_EVENT_SAS_TOPO_LR_UNSUPPORTED_PHY define. | 105 | * Added MPI2_EVENT_SAS_TOPO_LR_UNSUPPORTED_PHY define. |
106 | * 11-10-10 02.00.16 Added MPI2_FW_DOWNLOAD_ITYPE_MIN_PRODUCT_SPECIFIC. | 106 | * 11-10-10 02.00.16 Added MPI2_FW_DOWNLOAD_ITYPE_MIN_PRODUCT_SPECIFIC. |
107 | * 02-23-11 02.00.17 Added SAS NOTIFY Primitive event, and added | ||
108 | * SASNotifyPrimitiveMasks field to | ||
109 | * MPI2_EVENT_NOTIFICATION_REQUEST. | ||
110 | * Added Temperature Threshold Event. | ||
111 | * Added Host Message Event. | ||
112 | * Added Send Host Message request and reply. | ||
107 | * -------------------------------------------------------------------------- | 113 | * -------------------------------------------------------------------------- |
108 | */ | 114 | */ |
109 | 115 | ||
@@ -421,7 +427,7 @@ typedef struct _MPI2_EVENT_NOTIFICATION_REQUEST | |||
421 | U32 Reserved6; /* 0x10 */ | 427 | U32 Reserved6; /* 0x10 */ |
422 | U32 EventMasks[MPI2_EVENT_NOTIFY_EVENTMASK_WORDS];/* 0x14 */ | 428 | U32 EventMasks[MPI2_EVENT_NOTIFY_EVENTMASK_WORDS];/* 0x14 */ |
423 | U16 SASBroadcastPrimitiveMasks; /* 0x24 */ | 429 | U16 SASBroadcastPrimitiveMasks; /* 0x24 */ |
424 | U16 Reserved7; /* 0x26 */ | 430 | U16 SASNotifyPrimitiveMasks; /* 0x26 */ |
425 | U32 Reserved8; /* 0x28 */ | 431 | U32 Reserved8; /* 0x28 */ |
426 | } MPI2_EVENT_NOTIFICATION_REQUEST, | 432 | } MPI2_EVENT_NOTIFICATION_REQUEST, |
427 | MPI2_POINTER PTR_MPI2_EVENT_NOTIFICATION_REQUEST, | 433 | MPI2_POINTER PTR_MPI2_EVENT_NOTIFICATION_REQUEST, |
@@ -476,6 +482,9 @@ typedef struct _MPI2_EVENT_NOTIFICATION_REPLY | |||
476 | #define MPI2_EVENT_GPIO_INTERRUPT (0x0023) | 482 | #define MPI2_EVENT_GPIO_INTERRUPT (0x0023) |
477 | #define MPI2_EVENT_HOST_BASED_DISCOVERY_PHY (0x0024) | 483 | #define MPI2_EVENT_HOST_BASED_DISCOVERY_PHY (0x0024) |
478 | #define MPI2_EVENT_SAS_QUIESCE (0x0025) | 484 | #define MPI2_EVENT_SAS_QUIESCE (0x0025) |
485 | #define MPI2_EVENT_SAS_NOTIFY_PRIMITIVE (0x0026) | ||
486 | #define MPI2_EVENT_TEMP_THRESHOLD (0x0027) | ||
487 | #define MPI2_EVENT_HOST_MESSAGE (0x0028) | ||
479 | 488 | ||
480 | 489 | ||
481 | /* Log Entry Added Event data */ | 490 | /* Log Entry Added Event data */ |
@@ -507,6 +516,39 @@ typedef struct _MPI2_EVENT_DATA_GPIO_INTERRUPT { | |||
507 | MPI2_POINTER PTR_MPI2_EVENT_DATA_GPIO_INTERRUPT, | 516 | MPI2_POINTER PTR_MPI2_EVENT_DATA_GPIO_INTERRUPT, |
508 | Mpi2EventDataGpioInterrupt_t, MPI2_POINTER pMpi2EventDataGpioInterrupt_t; | 517 | Mpi2EventDataGpioInterrupt_t, MPI2_POINTER pMpi2EventDataGpioInterrupt_t; |
509 | 518 | ||
519 | /* Temperature Threshold Event data */ | ||
520 | |||
521 | typedef struct _MPI2_EVENT_DATA_TEMPERATURE { | ||
522 | U16 Status; /* 0x00 */ | ||
523 | U8 SensorNum; /* 0x02 */ | ||
524 | U8 Reserved1; /* 0x03 */ | ||
525 | U16 CurrentTemperature; /* 0x04 */ | ||
526 | U16 Reserved2; /* 0x06 */ | ||
527 | U32 Reserved3; /* 0x08 */ | ||
528 | U32 Reserved4; /* 0x0C */ | ||
529 | } MPI2_EVENT_DATA_TEMPERATURE, | ||
530 | MPI2_POINTER PTR_MPI2_EVENT_DATA_TEMPERATURE, | ||
531 | Mpi2EventDataTemperature_t, MPI2_POINTER pMpi2EventDataTemperature_t; | ||
532 | |||
533 | /* Temperature Threshold Event data Status bits */ | ||
534 | #define MPI2_EVENT_TEMPERATURE3_EXCEEDED (0x0008) | ||
535 | #define MPI2_EVENT_TEMPERATURE2_EXCEEDED (0x0004) | ||
536 | #define MPI2_EVENT_TEMPERATURE1_EXCEEDED (0x0002) | ||
537 | #define MPI2_EVENT_TEMPERATURE0_EXCEEDED (0x0001) | ||
538 | |||
539 | |||
540 | /* Host Message Event data */ | ||
541 | |||
542 | typedef struct _MPI2_EVENT_DATA_HOST_MESSAGE { | ||
543 | U8 SourceVF_ID; /* 0x00 */ | ||
544 | U8 Reserved1; /* 0x01 */ | ||
545 | U16 Reserved2; /* 0x02 */ | ||
546 | U32 Reserved3; /* 0x04 */ | ||
547 | U32 HostData[1]; /* 0x08 */ | ||
548 | } MPI2_EVENT_DATA_HOST_MESSAGE, MPI2_POINTER PTR_MPI2_EVENT_DATA_HOST_MESSAGE, | ||
549 | Mpi2EventDataHostMessage_t, MPI2_POINTER pMpi2EventDataHostMessage_t; | ||
550 | |||
551 | |||
510 | /* Hard Reset Received Event data */ | 552 | /* Hard Reset Received Event data */ |
511 | 553 | ||
512 | typedef struct _MPI2_EVENT_DATA_HARD_RESET_RECEIVED | 554 | typedef struct _MPI2_EVENT_DATA_HARD_RESET_RECEIVED |
@@ -749,6 +791,24 @@ typedef struct _MPI2_EVENT_DATA_SAS_BROADCAST_PRIMITIVE | |||
749 | #define MPI2_EVENT_PRIMITIVE_CHANGE0_RESERVED (0x07) | 791 | #define MPI2_EVENT_PRIMITIVE_CHANGE0_RESERVED (0x07) |
750 | #define MPI2_EVENT_PRIMITIVE_CHANGE1_RESERVED (0x08) | 792 | #define MPI2_EVENT_PRIMITIVE_CHANGE1_RESERVED (0x08) |
751 | 793 | ||
794 | /* SAS Notify Primitive Event data */ | ||
795 | |||
796 | typedef struct _MPI2_EVENT_DATA_SAS_NOTIFY_PRIMITIVE { | ||
797 | U8 PhyNum; /* 0x00 */ | ||
798 | U8 Port; /* 0x01 */ | ||
799 | U8 Reserved1; /* 0x02 */ | ||
800 | U8 Primitive; /* 0x03 */ | ||
801 | } MPI2_EVENT_DATA_SAS_NOTIFY_PRIMITIVE, | ||
802 | MPI2_POINTER PTR_MPI2_EVENT_DATA_SAS_NOTIFY_PRIMITIVE, | ||
803 | Mpi2EventDataSasNotifyPrimitive_t, | ||
804 | MPI2_POINTER pMpi2EventDataSasNotifyPrimitive_t; | ||
805 | |||
806 | /* defines for the Primitive field */ | ||
807 | #define MPI2_EVENT_NOTIFY_ENABLE_SPINUP (0x01) | ||
808 | #define MPI2_EVENT_NOTIFY_POWER_LOSS_EXPECTED (0x02) | ||
809 | #define MPI2_EVENT_NOTIFY_RESERVED1 (0x03) | ||
810 | #define MPI2_EVENT_NOTIFY_RESERVED2 (0x04) | ||
811 | |||
752 | 812 | ||
753 | /* SAS Initiator Device Status Change Event data */ | 813 | /* SAS Initiator Device Status Change Event data */ |
754 | 814 | ||
@@ -1001,6 +1061,53 @@ typedef struct _MPI2_EVENT_ACK_REPLY | |||
1001 | 1061 | ||
1002 | 1062 | ||
1003 | /**************************************************************************** | 1063 | /**************************************************************************** |
1064 | * SendHostMessage message | ||
1065 | ****************************************************************************/ | ||
1066 | |||
1067 | /* SendHostMessage Request message */ | ||
1068 | typedef struct _MPI2_SEND_HOST_MESSAGE_REQUEST { | ||
1069 | U16 HostDataLength; /* 0x00 */ | ||
1070 | U8 ChainOffset; /* 0x02 */ | ||
1071 | U8 Function; /* 0x03 */ | ||
1072 | U16 Reserved1; /* 0x04 */ | ||
1073 | U8 Reserved2; /* 0x06 */ | ||
1074 | U8 MsgFlags; /* 0x07 */ | ||
1075 | U8 VP_ID; /* 0x08 */ | ||
1076 | U8 VF_ID; /* 0x09 */ | ||
1077 | U16 Reserved3; /* 0x0A */ | ||
1078 | U8 Reserved4; /* 0x0C */ | ||
1079 | U8 DestVF_ID; /* 0x0D */ | ||
1080 | U16 Reserved5; /* 0x0E */ | ||
1081 | U32 Reserved6; /* 0x10 */ | ||
1082 | U32 Reserved7; /* 0x14 */ | ||
1083 | U32 Reserved8; /* 0x18 */ | ||
1084 | U32 Reserved9; /* 0x1C */ | ||
1085 | U32 Reserved10; /* 0x20 */ | ||
1086 | U32 HostData[1]; /* 0x24 */ | ||
1087 | } MPI2_SEND_HOST_MESSAGE_REQUEST, | ||
1088 | MPI2_POINTER PTR_MPI2_SEND_HOST_MESSAGE_REQUEST, | ||
1089 | Mpi2SendHostMessageRequest_t, MPI2_POINTER pMpi2SendHostMessageRequest_t; | ||
1090 | |||
1091 | |||
1092 | /* SendHostMessage Reply message */ | ||
1093 | typedef struct _MPI2_SEND_HOST_MESSAGE_REPLY { | ||
1094 | U16 HostDataLength; /* 0x00 */ | ||
1095 | U8 MsgLength; /* 0x02 */ | ||
1096 | U8 Function; /* 0x03 */ | ||
1097 | U16 Reserved1; /* 0x04 */ | ||
1098 | U8 Reserved2; /* 0x06 */ | ||
1099 | U8 MsgFlags; /* 0x07 */ | ||
1100 | U8 VP_ID; /* 0x08 */ | ||
1101 | U8 VF_ID; /* 0x09 */ | ||
1102 | U16 Reserved3; /* 0x0A */ | ||
1103 | U16 Reserved4; /* 0x0C */ | ||
1104 | U16 IOCStatus; /* 0x0E */ | ||
1105 | U32 IOCLogInfo; /* 0x10 */ | ||
1106 | } MPI2_SEND_HOST_MESSAGE_REPLY, MPI2_POINTER PTR_MPI2_SEND_HOST_MESSAGE_REPLY, | ||
1107 | Mpi2SendHostMessageReply_t, MPI2_POINTER pMpi2SendHostMessageReply_t; | ||
1108 | |||
1109 | |||
1110 | /**************************************************************************** | ||
1004 | * FWDownload message | 1111 | * FWDownload message |
1005 | ****************************************************************************/ | 1112 | ****************************************************************************/ |
1006 | 1113 | ||