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.h119
1 files changed, 117 insertions, 2 deletions
diff --git a/drivers/scsi/mpt2sas/mpi/mpi2_ioc.h b/drivers/scsi/mpt2sas/mpi/mpi2_ioc.h
index f18f114922b..495bedc4d1f 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.13 9 * mpi2_ioc.h Version: 02.00.14
10 * 10 *
11 * Version History 11 * Version History
12 * --------------- 12 * ---------------
@@ -98,6 +98,9 @@
98 * (MPI2_FW_HEADER_PID_). 98 * (MPI2_FW_HEADER_PID_).
99 * Modified values for SAS ProductID Family 99 * Modified values for SAS ProductID Family
100 * (MPI2_FW_HEADER_PID_FAMILY_). 100 * (MPI2_FW_HEADER_PID_FAMILY_).
101 * 02-10-10 02.00.14 Added SAS Quiesce Event structure and defines.
102 * Added PowerManagementControl Request structures and
103 * defines.
101 * -------------------------------------------------------------------------- 104 * --------------------------------------------------------------------------
102 */ 105 */
103 106
@@ -469,6 +472,7 @@ typedef struct _MPI2_EVENT_NOTIFICATION_REPLY
469#define MPI2_EVENT_SAS_PHY_COUNTER (0x0022) 472#define MPI2_EVENT_SAS_PHY_COUNTER (0x0022)
470#define MPI2_EVENT_GPIO_INTERRUPT (0x0023) 473#define MPI2_EVENT_GPIO_INTERRUPT (0x0023)
471#define MPI2_EVENT_HOST_BASED_DISCOVERY_PHY (0x0024) 474#define MPI2_EVENT_HOST_BASED_DISCOVERY_PHY (0x0024)
475#define MPI2_EVENT_SAS_QUIESCE (0x0025)
472 476
473 477
474/* Log Entry Added Event data */ 478/* Log Entry Added Event data */
@@ -895,6 +899,22 @@ typedef struct _MPI2_EVENT_DATA_SAS_PHY_COUNTER {
895 * */ 899 * */
896 900
897 901
902/* SAS Quiesce Event data */
903
904typedef struct _MPI2_EVENT_DATA_SAS_QUIESCE {
905 U8 ReasonCode; /* 0x00 */
906 U8 Reserved1; /* 0x01 */
907 U16 Reserved2; /* 0x02 */
908 U32 Reserved3; /* 0x04 */
909} MPI2_EVENT_DATA_SAS_QUIESCE,
910 MPI2_POINTER PTR_MPI2_EVENT_DATA_SAS_QUIESCE,
911 Mpi2EventDataSasQuiesce_t, MPI2_POINTER pMpi2EventDataSasQuiesce_t;
912
913/* SAS Quiesce Event data ReasonCode values */
914#define MPI2_EVENT_SAS_QUIESCE_RC_STARTED (0x01)
915#define MPI2_EVENT_SAS_QUIESCE_RC_COMPLETED (0x02)
916
917
898/* Host Based Discovery Phy Event data */ 918/* Host Based Discovery Phy Event data */
899 919
900typedef struct _MPI2_EVENT_HBD_PHY_SAS { 920typedef struct _MPI2_EVENT_HBD_PHY_SAS {
@@ -1006,6 +1026,7 @@ typedef struct _MPI2_FW_DOWNLOAD_REQUEST
1006#define MPI2_FW_DOWNLOAD_ITYPE_CONFIG_1 (0x07) 1026#define MPI2_FW_DOWNLOAD_ITYPE_CONFIG_1 (0x07)
1007#define MPI2_FW_DOWNLOAD_ITYPE_CONFIG_2 (0x08) 1027#define MPI2_FW_DOWNLOAD_ITYPE_CONFIG_2 (0x08)
1008#define MPI2_FW_DOWNLOAD_ITYPE_MEGARAID (0x09) 1028#define MPI2_FW_DOWNLOAD_ITYPE_MEGARAID (0x09)
1029#define MPI2_FW_DOWNLOAD_ITYPE_COMPLETE (0x0A)
1009#define MPI2_FW_DOWNLOAD_ITYPE_COMMON_BOOT_BLOCK (0x0B) 1030#define MPI2_FW_DOWNLOAD_ITYPE_COMMON_BOOT_BLOCK (0x0B)
1010 1031
1011/* FWDownload TransactionContext Element */ 1032/* FWDownload TransactionContext Element */
@@ -1183,7 +1204,6 @@ typedef struct _MPI2_FW_IMAGE_HEADER
1183 1204
1184#define MPI2_FW_HEADER_PID_PROD_MASK (0x0F00) 1205#define MPI2_FW_HEADER_PID_PROD_MASK (0x0F00)
1185#define MPI2_FW_HEADER_PID_PROD_A (0x0000) 1206#define MPI2_FW_HEADER_PID_PROD_A (0x0000)
1186#define MPI2_FW_HEADER_PID_PROD_MASK (0x0F00)
1187#define MPI2_FW_HEADER_PID_PROD_TARGET_INITIATOR_SCSI (0x0200) 1207#define MPI2_FW_HEADER_PID_PROD_TARGET_INITIATOR_SCSI (0x0200)
1188#define MPI2_FW_HEADER_PID_PROD_IR_SCSI (0x0700) 1208#define MPI2_FW_HEADER_PID_PROD_IR_SCSI (0x0700)
1189 1209
@@ -1407,5 +1427,100 @@ typedef struct _MPI2_INIT_IMAGE_FOOTER
1407#define MPI2_INIT_IMAGE_RESETVECTOR_OFFSET (0x14) 1427#define MPI2_INIT_IMAGE_RESETVECTOR_OFFSET (0x14)
1408 1428
1409 1429
1430/****************************************************************************
1431* PowerManagementControl message
1432****************************************************************************/
1433
1434/* PowerManagementControl Request message */
1435typedef struct _MPI2_PWR_MGMT_CONTROL_REQUEST {
1436 U8 Feature; /* 0x00 */
1437 U8 Reserved1; /* 0x01 */
1438 U8 ChainOffset; /* 0x02 */
1439 U8 Function; /* 0x03 */
1440 U16 Reserved2; /* 0x04 */
1441 U8 Reserved3; /* 0x06 */
1442 U8 MsgFlags; /* 0x07 */
1443 U8 VP_ID; /* 0x08 */
1444 U8 VF_ID; /* 0x09 */
1445 U16 Reserved4; /* 0x0A */
1446 U8 Parameter1; /* 0x0C */
1447 U8 Parameter2; /* 0x0D */
1448 U8 Parameter3; /* 0x0E */
1449 U8 Parameter4; /* 0x0F */
1450 U32 Reserved5; /* 0x10 */
1451 U32 Reserved6; /* 0x14 */
1452} MPI2_PWR_MGMT_CONTROL_REQUEST, MPI2_POINTER PTR_MPI2_PWR_MGMT_CONTROL_REQUEST,
1453 Mpi2PwrMgmtControlRequest_t, MPI2_POINTER pMpi2PwrMgmtControlRequest_t;
1454
1455/* defines for the Feature field */
1456#define MPI2_PM_CONTROL_FEATURE_DA_PHY_POWER_COND (0x01)
1457#define MPI2_PM_CONTROL_FEATURE_PORT_WIDTH_MODULATION (0x02)
1458#define MPI2_PM_CONTROL_FEATURE_PCIE_LINK (0x03)
1459#define MPI2_PM_CONTROL_FEATURE_IOC_SPEED (0x04)
1460#define MPI2_PM_CONTROL_FEATURE_MIN_PRODUCT_SPECIFIC (0x80)
1461#define MPI2_PM_CONTROL_FEATURE_MAX_PRODUCT_SPECIFIC (0xFF)
1462
1463/* parameter usage for the MPI2_PM_CONTROL_FEATURE_DA_PHY_POWER_COND Feature */
1464/* Parameter1 contains a PHY number */
1465/* Parameter2 indicates power condition action using these defines */
1466#define MPI2_PM_CONTROL_PARAM2_PARTIAL (0x01)
1467#define MPI2_PM_CONTROL_PARAM2_SLUMBER (0x02)
1468#define MPI2_PM_CONTROL_PARAM2_EXIT_PWR_MGMT (0x03)
1469/* Parameter3 and Parameter4 are reserved */
1470
1471/* parameter usage for the MPI2_PM_CONTROL_FEATURE_PORT_WIDTH_MODULATION
1472 * Feature */
1473/* Parameter1 contains SAS port width modulation group number */
1474/* Parameter2 indicates IOC action using these defines */
1475#define MPI2_PM_CONTROL_PARAM2_REQUEST_OWNERSHIP (0x01)
1476#define MPI2_PM_CONTROL_PARAM2_CHANGE_MODULATION (0x02)
1477#define MPI2_PM_CONTROL_PARAM2_RELINQUISH_OWNERSHIP (0x03)
1478/* Parameter3 indicates desired modulation level using these defines */
1479#define MPI2_PM_CONTROL_PARAM3_25_PERCENT (0x00)
1480#define MPI2_PM_CONTROL_PARAM3_50_PERCENT (0x01)
1481#define MPI2_PM_CONTROL_PARAM3_75_PERCENT (0x02)
1482#define MPI2_PM_CONTROL_PARAM3_100_PERCENT (0x03)
1483/* Parameter4 is reserved */
1484
1485/* parameter usage for the MPI2_PM_CONTROL_FEATURE_PCIE_LINK Feature */
1486/* Parameter1 indicates desired PCIe link speed using these defines */
1487#define MPI2_PM_CONTROL_PARAM1_PCIE_2_5_GBPS (0x00)
1488#define MPI2_PM_CONTROL_PARAM1_PCIE_5_0_GBPS (0x01)
1489#define MPI2_PM_CONTROL_PARAM1_PCIE_8_0_GBPS (0x02)
1490/* Parameter2 indicates desired PCIe link width using these defines */
1491#define MPI2_PM_CONTROL_PARAM2_WIDTH_X1 (0x01)
1492#define MPI2_PM_CONTROL_PARAM2_WIDTH_X2 (0x02)
1493#define MPI2_PM_CONTROL_PARAM2_WIDTH_X4 (0x04)
1494#define MPI2_PM_CONTROL_PARAM2_WIDTH_X8 (0x08)
1495/* Parameter3 and Parameter4 are reserved */
1496
1497/* parameter usage for the MPI2_PM_CONTROL_FEATURE_IOC_SPEED Feature */
1498/* Parameter1 indicates desired IOC hardware clock speed using these defines */
1499#define MPI2_PM_CONTROL_PARAM1_FULL_IOC_SPEED (0x01)
1500#define MPI2_PM_CONTROL_PARAM1_HALF_IOC_SPEED (0x02)
1501#define MPI2_PM_CONTROL_PARAM1_QUARTER_IOC_SPEED (0x04)
1502#define MPI2_PM_CONTROL_PARAM1_EIGHTH_IOC_SPEED (0x08)
1503/* Parameter2, Parameter3, and Parameter4 are reserved */
1504
1505
1506/* PowerManagementControl Reply message */
1507typedef struct _MPI2_PWR_MGMT_CONTROL_REPLY {
1508 U8 Feature; /* 0x00 */
1509 U8 Reserved1; /* 0x01 */
1510 U8 MsgLength; /* 0x02 */
1511 U8 Function; /* 0x03 */
1512 U16 Reserved2; /* 0x04 */
1513 U8 Reserved3; /* 0x06 */
1514 U8 MsgFlags; /* 0x07 */
1515 U8 VP_ID; /* 0x08 */
1516 U8 VF_ID; /* 0x09 */
1517 U16 Reserved4; /* 0x0A */
1518 U16 Reserved5; /* 0x0C */
1519 U16 IOCStatus; /* 0x0E */
1520 U32 IOCLogInfo; /* 0x10 */
1521} MPI2_PWR_MGMT_CONTROL_REPLY, MPI2_POINTER PTR_MPI2_PWR_MGMT_CONTROL_REPLY,
1522 Mpi2PwrMgmtControlReply_t, MPI2_POINTER pMpi2PwrMgmtControlReply_t;
1523
1524
1410#endif 1525#endif
1411 1526