aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/mpt2sas/mpi/mpi2_cnfg.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/mpt2sas/mpi/mpi2_cnfg.h')
-rw-r--r--drivers/scsi/mpt2sas/mpi/mpi2_cnfg.h74
1 files changed, 58 insertions, 16 deletions
diff --git a/drivers/scsi/mpt2sas/mpi/mpi2_cnfg.h b/drivers/scsi/mpt2sas/mpi/mpi2_cnfg.h
index f5b9c766e28f..61475a6480e3 100644
--- a/drivers/scsi/mpt2sas/mpi/mpi2_cnfg.h
+++ b/drivers/scsi/mpt2sas/mpi/mpi2_cnfg.h
@@ -6,7 +6,7 @@
6 * Title: MPI Configuration messages and pages 6 * Title: MPI Configuration messages and pages
7 * Creation Date: November 10, 2006 7 * Creation Date: November 10, 2006
8 * 8 *
9 * mpi2_cnfg.h Version: 02.00.16 9 * mpi2_cnfg.h Version: 02.00.17
10 * 10 *
11 * Version History 11 * Version History
12 * --------------- 12 * ---------------
@@ -127,6 +127,13 @@
127 * Added MPI2_SAS_NEG_LINK_RATE_UNSUPPORTED_PHY define. 127 * Added MPI2_SAS_NEG_LINK_RATE_UNSUPPORTED_PHY define.
128 * 08-11-10 02.00.16 Removed IO Unit Page 1 device path (multi-pathing) 128 * 08-11-10 02.00.16 Removed IO Unit Page 1 device path (multi-pathing)
129 * defines. 129 * defines.
130 * 11-10-10 02.00.17 Added ReceptacleID field (replacing Reserved1) to
131 * MPI2_MANPAGE7_CONNECTOR_INFO and reworked defines for
132 * the Pinout field.
133 * Added BoardTemperature and BoardTemperatureUnits fields
134 * to MPI2_CONFIG_PAGE_IO_UNIT_7.
135 * Added MPI2_CONFIG_EXTPAGETYPE_EXT_MANUFACTURING define
136 * and MPI2_CONFIG_PAGE_EXT_MAN_PS structure.
130 * -------------------------------------------------------------------------- 137 * --------------------------------------------------------------------------
131 */ 138 */
132 139
@@ -210,6 +217,7 @@ typedef union _MPI2_CONFIG_EXT_PAGE_HEADER_UNION
210#define MPI2_CONFIG_EXTPAGETYPE_DRIVER_MAPPING (0x17) 217#define MPI2_CONFIG_EXTPAGETYPE_DRIVER_MAPPING (0x17)
211#define MPI2_CONFIG_EXTPAGETYPE_SAS_PORT (0x18) 218#define MPI2_CONFIG_EXTPAGETYPE_SAS_PORT (0x18)
212#define MPI2_CONFIG_EXTPAGETYPE_ETHERNET (0x19) 219#define MPI2_CONFIG_EXTPAGETYPE_ETHERNET (0x19)
220#define MPI2_CONFIG_EXTPAGETYPE_EXT_MANUFACTURING (0x1A)
213 221
214 222
215/***************************************************************************** 223/*****************************************************************************
@@ -612,23 +620,31 @@ typedef struct _MPI2_MANPAGE7_CONNECTOR_INFO
612 U32 Pinout; /* 0x00 */ 620 U32 Pinout; /* 0x00 */
613 U8 Connector[16]; /* 0x04 */ 621 U8 Connector[16]; /* 0x04 */
614 U8 Location; /* 0x14 */ 622 U8 Location; /* 0x14 */
615 U8 Reserved1; /* 0x15 */ 623 U8 ReceptacleID; /* 0x15 */
616 U16 Slot; /* 0x16 */ 624 U16 Slot; /* 0x16 */
617 U32 Reserved2; /* 0x18 */ 625 U32 Reserved2; /* 0x18 */
618} MPI2_MANPAGE7_CONNECTOR_INFO, MPI2_POINTER PTR_MPI2_MANPAGE7_CONNECTOR_INFO, 626} MPI2_MANPAGE7_CONNECTOR_INFO, MPI2_POINTER PTR_MPI2_MANPAGE7_CONNECTOR_INFO,
619 Mpi2ManPage7ConnectorInfo_t, MPI2_POINTER pMpi2ManPage7ConnectorInfo_t; 627 Mpi2ManPage7ConnectorInfo_t, MPI2_POINTER pMpi2ManPage7ConnectorInfo_t;
620 628
621/* defines for the Pinout field */ 629/* defines for the Pinout field */
622#define MPI2_MANPAGE7_PINOUT_SFF_8484_L4 (0x00080000) 630#define MPI2_MANPAGE7_PINOUT_LANE_MASK (0x0000FF00)
623#define MPI2_MANPAGE7_PINOUT_SFF_8484_L3 (0x00040000) 631#define MPI2_MANPAGE7_PINOUT_LANE_SHIFT (8)
624#define MPI2_MANPAGE7_PINOUT_SFF_8484_L2 (0x00020000) 632
625#define MPI2_MANPAGE7_PINOUT_SFF_8484_L1 (0x00010000) 633#define MPI2_MANPAGE7_PINOUT_TYPE_MASK (0x000000FF)
626#define MPI2_MANPAGE7_PINOUT_SFF_8470_L4 (0x00000800) 634#define MPI2_MANPAGE7_PINOUT_TYPE_UNKNOWN (0x00)
627#define MPI2_MANPAGE7_PINOUT_SFF_8470_L3 (0x00000400) 635#define MPI2_MANPAGE7_PINOUT_SATA_SINGLE (0x01)
628#define MPI2_MANPAGE7_PINOUT_SFF_8470_L2 (0x00000200) 636#define MPI2_MANPAGE7_PINOUT_SFF_8482 (0x02)
629#define MPI2_MANPAGE7_PINOUT_SFF_8470_L1 (0x00000100) 637#define MPI2_MANPAGE7_PINOUT_SFF_8486 (0x03)
630#define MPI2_MANPAGE7_PINOUT_SFF_8482 (0x00000002) 638#define MPI2_MANPAGE7_PINOUT_SFF_8484 (0x04)
631#define MPI2_MANPAGE7_PINOUT_CONNECTION_UNKNOWN (0x00000001) 639#define MPI2_MANPAGE7_PINOUT_SFF_8087 (0x05)
640#define MPI2_MANPAGE7_PINOUT_SFF_8643_4I (0x06)
641#define MPI2_MANPAGE7_PINOUT_SFF_8643_8I (0x07)
642#define MPI2_MANPAGE7_PINOUT_SFF_8470 (0x08)
643#define MPI2_MANPAGE7_PINOUT_SFF_8088 (0x09)
644#define MPI2_MANPAGE7_PINOUT_SFF_8644_4X (0x0A)
645#define MPI2_MANPAGE7_PINOUT_SFF_8644_8X (0x0B)
646#define MPI2_MANPAGE7_PINOUT_SFF_8644_16X (0x0C)
647#define MPI2_MANPAGE7_PINOUT_SFF_8436 (0x0D)
632 648
633/* defines for the Location field */ 649/* defines for the Location field */
634#define MPI2_MANPAGE7_LOCATION_UNKNOWN (0x01) 650#define MPI2_MANPAGE7_LOCATION_UNKNOWN (0x01)
@@ -662,7 +678,7 @@ typedef struct _MPI2_CONFIG_PAGE_MAN_7
662 MPI2_POINTER PTR_MPI2_CONFIG_PAGE_MAN_7, 678 MPI2_POINTER PTR_MPI2_CONFIG_PAGE_MAN_7,
663 Mpi2ManufacturingPage7_t, MPI2_POINTER pMpi2ManufacturingPage7_t; 679 Mpi2ManufacturingPage7_t, MPI2_POINTER pMpi2ManufacturingPage7_t;
664 680
665#define MPI2_MANUFACTURING7_PAGEVERSION (0x00) 681#define MPI2_MANUFACTURING7_PAGEVERSION (0x01)
666 682
667/* defines for the Flags field */ 683/* defines for the Flags field */
668#define MPI2_MANPAGE7_FLAG_USE_SLOT_INFO (0x00000001) 684#define MPI2_MANPAGE7_FLAG_USE_SLOT_INFO (0x00000001)
@@ -849,11 +865,13 @@ typedef struct _MPI2_CONFIG_PAGE_IO_UNIT_7 {
849 U16 IOCTemperature; /* 0x10 */ 865 U16 IOCTemperature; /* 0x10 */
850 U8 IOCTemperatureUnits; /* 0x12 */ 866 U8 IOCTemperatureUnits; /* 0x12 */
851 U8 IOCSpeed; /* 0x13 */ 867 U8 IOCSpeed; /* 0x13 */
852 U32 Reserved3; /* 0x14 */ 868 U16 BoardTemperature; /* 0x14 */
869 U8 BoardTemperatureUnits; /* 0x16 */
870 U8 Reserved3; /* 0x17 */
853} MPI2_CONFIG_PAGE_IO_UNIT_7, MPI2_POINTER PTR_MPI2_CONFIG_PAGE_IO_UNIT_7, 871} MPI2_CONFIG_PAGE_IO_UNIT_7, MPI2_POINTER PTR_MPI2_CONFIG_PAGE_IO_UNIT_7,
854 Mpi2IOUnitPage7_t, MPI2_POINTER pMpi2IOUnitPage7_t; 872 Mpi2IOUnitPage7_t, MPI2_POINTER pMpi2IOUnitPage7_t;
855 873
856#define MPI2_IOUNITPAGE7_PAGEVERSION (0x01) 874#define MPI2_IOUNITPAGE7_PAGEVERSION (0x02)
857 875
858/* defines for IO Unit Page 7 PCIeWidth field */ 876/* defines for IO Unit Page 7 PCIeWidth field */
859#define MPI2_IOUNITPAGE7_PCIE_WIDTH_X1 (0x01) 877#define MPI2_IOUNITPAGE7_PCIE_WIDTH_X1 (0x01)
@@ -881,7 +899,6 @@ typedef struct _MPI2_CONFIG_PAGE_IO_UNIT_7 {
881#define MPI2_IOUNITPAGE7_PMCAP_PCIE_WIDTH_CHANGE (0x00000008) 899#define MPI2_IOUNITPAGE7_PMCAP_PCIE_WIDTH_CHANGE (0x00000008)
882#define MPI2_IOUNITPAGE7_PMCAP_PCIE_SPEED_CHANGE (0x00000004) 900#define MPI2_IOUNITPAGE7_PMCAP_PCIE_SPEED_CHANGE (0x00000004)
883 901
884
885/* defines for IO Unit Page 7 IOCTemperatureUnits field */ 902/* defines for IO Unit Page 7 IOCTemperatureUnits field */
886#define MPI2_IOUNITPAGE7_IOC_TEMP_NOT_PRESENT (0x00) 903#define MPI2_IOUNITPAGE7_IOC_TEMP_NOT_PRESENT (0x00)
887#define MPI2_IOUNITPAGE7_IOC_TEMP_FAHRENHEIT (0x01) 904#define MPI2_IOUNITPAGE7_IOC_TEMP_FAHRENHEIT (0x01)
@@ -893,6 +910,11 @@ typedef struct _MPI2_CONFIG_PAGE_IO_UNIT_7 {
893#define MPI2_IOUNITPAGE7_IOC_SPEED_QUARTER (0x04) 910#define MPI2_IOUNITPAGE7_IOC_SPEED_QUARTER (0x04)
894#define MPI2_IOUNITPAGE7_IOC_SPEED_EIGHTH (0x08) 911#define MPI2_IOUNITPAGE7_IOC_SPEED_EIGHTH (0x08)
895 912
913/* defines for IO Unit Page 7 BoardTemperatureUnits field */
914#define MPI2_IOUNITPAGE7_BOARD_TEMP_NOT_PRESENT (0x00)
915#define MPI2_IOUNITPAGE7_BOARD_TEMP_FAHRENHEIT (0x01)
916#define MPI2_IOUNITPAGE7_BOARD_TEMP_CELSIUS (0x02)
917
896 918
897 919
898/**************************************************************************** 920/****************************************************************************
@@ -2799,5 +2821,25 @@ typedef struct _MPI2_CONFIG_PAGE_ETHERNET_1 {
2799#define MPI2_ETHPG1_MS_DATA_RATE_1GBIT (0x03) 2821#define MPI2_ETHPG1_MS_DATA_RATE_1GBIT (0x03)
2800 2822
2801 2823
2824/****************************************************************************
2825* Extended Manufacturing Config Pages
2826****************************************************************************/
2827
2828/*
2829 * Generic structure to use for product-specific extended manufacturing pages
2830 * (currently Extended Manufacturing Page 40 through Extended Manufacturing
2831 * Page 60).
2832 */
2833
2834typedef struct _MPI2_CONFIG_PAGE_EXT_MAN_PS {
2835 MPI2_CONFIG_EXTENDED_PAGE_HEADER Header; /* 0x00 */
2836 U32 ProductSpecificInfo; /* 0x08 */
2837} MPI2_CONFIG_PAGE_EXT_MAN_PS,
2838 MPI2_POINTER PTR_MPI2_CONFIG_PAGE_EXT_MAN_PS,
2839 Mpi2ExtManufacturingPagePS_t,
2840 MPI2_POINTER pMpi2ExtManufacturingPagePS_t;
2841
2842/* PageVersion should be provided by product-specific code */
2843
2802#endif 2844#endif
2803 2845