diff options
Diffstat (limited to 'drivers/scsi/mpt2sas/mpi/mpi2_ioc.h')
-rw-r--r-- | drivers/scsi/mpt2sas/mpi/mpi2_ioc.h | 119 |
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 | |||
904 | typedef 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 | ||
900 | typedef struct _MPI2_EVENT_HBD_PHY_SAS { | 920 | typedef 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 */ | ||
1435 | typedef 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 */ | ||
1507 | typedef 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 | ||