aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/scsi/mpt2sas/mpi/mpi2.h12
-rw-r--r--drivers/scsi/mpt2sas/mpi/mpi2_cnfg.h74
-rw-r--r--drivers/scsi/mpt2sas/mpi/mpi2_init.h6
-rw-r--r--drivers/scsi/mpt2sas/mpi/mpi2_ioc.h4
4 files changed, 75 insertions, 21 deletions
diff --git a/drivers/scsi/mpt2sas/mpi/mpi2.h b/drivers/scsi/mpt2sas/mpi/mpi2.h
index a3e60385787f..3105d5e8d908 100644
--- a/drivers/scsi/mpt2sas/mpi/mpi2.h
+++ b/drivers/scsi/mpt2sas/mpi/mpi2.h
@@ -8,7 +8,7 @@
8 * scatter/gather formats. 8 * scatter/gather formats.
9 * Creation Date: June 21, 2006 9 * Creation Date: June 21, 2006
10 * 10 *
11 * mpi2.h Version: 02.00.17 11 * mpi2.h Version: 02.00.18
12 * 12 *
13 * Version History 13 * Version History
14 * --------------- 14 * ---------------
@@ -64,6 +64,8 @@
64 * 05-12-10 02.00.16 Bumped MPI2_HEADER_VERSION_UNIT. 64 * 05-12-10 02.00.16 Bumped MPI2_HEADER_VERSION_UNIT.
65 * Added alternative defines for the SGE Direction bit. 65 * Added alternative defines for the SGE Direction bit.
66 * 08-11-10 02.00.17 Bumped MPI2_HEADER_VERSION_UNIT. 66 * 08-11-10 02.00.17 Bumped MPI2_HEADER_VERSION_UNIT.
67 * 11-10-10 02.00.18 Bumped MPI2_HEADER_VERSION_UNIT.
68 * Added MPI2_IEEE_SGE_FLAGS_SYSTEMPLBCPI_ADDR define.
67 * -------------------------------------------------------------------------- 69 * --------------------------------------------------------------------------
68 */ 70 */
69 71
@@ -89,7 +91,7 @@
89#define MPI2_VERSION_02_00 (0x0200) 91#define MPI2_VERSION_02_00 (0x0200)
90 92
91/* versioning for this MPI header set */ 93/* versioning for this MPI header set */
92#define MPI2_HEADER_VERSION_UNIT (0x11) 94#define MPI2_HEADER_VERSION_UNIT (0x12)
93#define MPI2_HEADER_VERSION_DEV (0x00) 95#define MPI2_HEADER_VERSION_DEV (0x00)
94#define MPI2_HEADER_VERSION_UNIT_MASK (0xFF00) 96#define MPI2_HEADER_VERSION_UNIT_MASK (0xFF00)
95#define MPI2_HEADER_VERSION_UNIT_SHIFT (8) 97#define MPI2_HEADER_VERSION_UNIT_SHIFT (8)
@@ -1060,10 +1062,14 @@ typedef struct _MPI2_IEEE_SGE_UNION
1060 1062
1061#define MPI2_IEEE_SGE_FLAGS_ADDR_MASK (0x03) 1063#define MPI2_IEEE_SGE_FLAGS_ADDR_MASK (0x03)
1062#define MPI2_IEEE_SGE_FLAGS_SYSTEM_ADDR (0x00) 1064#define MPI2_IEEE_SGE_FLAGS_SYSTEM_ADDR (0x00)
1065 /* IEEE Simple Element only */
1063#define MPI2_IEEE_SGE_FLAGS_IOCDDR_ADDR (0x01) 1066#define MPI2_IEEE_SGE_FLAGS_IOCDDR_ADDR (0x01)
1067 /* IEEE Simple Element only */
1064#define MPI2_IEEE_SGE_FLAGS_IOCPLB_ADDR (0x02) 1068#define MPI2_IEEE_SGE_FLAGS_IOCPLB_ADDR (0x02)
1065#define MPI2_IEEE_SGE_FLAGS_IOCPLBNTA_ADDR (0x03) 1069#define MPI2_IEEE_SGE_FLAGS_IOCPLBNTA_ADDR (0x03)
1066 1070 /* IEEE Simple Element only */
1071#define MPI2_IEEE_SGE_FLAGS_SYSTEMPLBCPI_ADDR (0x03)
1072 /* IEEE Chain Element only */
1067 1073
1068/**************************************************************************** 1074/****************************************************************************
1069* IEEE SGE operation Macros 1075* IEEE SGE operation Macros
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
diff --git a/drivers/scsi/mpt2sas/mpi/mpi2_init.h b/drivers/scsi/mpt2sas/mpi/mpi2_init.h
index 165454d52591..de90162413c2 100644
--- a/drivers/scsi/mpt2sas/mpi/mpi2_init.h
+++ b/drivers/scsi/mpt2sas/mpi/mpi2_init.h
@@ -6,7 +6,7 @@
6 * Title: MPI SCSI initiator mode messages and structures 6 * Title: MPI SCSI initiator mode messages and structures
7 * Creation Date: June 23, 2006 7 * Creation Date: June 23, 2006
8 * 8 *
9 * mpi2_init.h Version: 02.00.10 9 * mpi2_init.h Version: 02.00.11
10 * 10 *
11 * Version History 11 * Version History
12 * --------------- 12 * ---------------
@@ -33,6 +33,7 @@
33 * Added MPI2_SCSITASKMGMT_RSP_TM_OVERLAPPED_TAG define. 33 * Added MPI2_SCSITASKMGMT_RSP_TM_OVERLAPPED_TAG define.
34 * 02-10-10 02.00.09 Removed unused structure that had "#if 0" around it. 34 * 02-10-10 02.00.09 Removed unused structure that had "#if 0" around it.
35 * 05-12-10 02.00.10 Added optional vendor-unique region to SCSI IO Request. 35 * 05-12-10 02.00.10 Added optional vendor-unique region to SCSI IO Request.
36 * 11-10-10 02.00.11 Added MPI2_SCSIIO_NUM_SGLOFFSETS define.
36 * -------------------------------------------------------------------------- 37 * --------------------------------------------------------------------------
37 */ 38 */
38 39
@@ -139,6 +140,9 @@ typedef struct _MPI2_SCSI_IO_REQUEST
139#define MPI2_SCSIIO_SGLFLAGS_SGL1_SHIFT (4) 140#define MPI2_SCSIIO_SGLFLAGS_SGL1_SHIFT (4)
140#define MPI2_SCSIIO_SGLFLAGS_SGL0_SHIFT (0) 141#define MPI2_SCSIIO_SGLFLAGS_SGL0_SHIFT (0)
141 142
143/* number of SGLOffset fields */
144#define MPI2_SCSIIO_NUM_SGLOFFSETS (4)
145
142/* SCSI IO IoFlags bits */ 146/* SCSI IO IoFlags bits */
143 147
144/* Large CDB Address Space */ 148/* Large CDB Address Space */
diff --git a/drivers/scsi/mpt2sas/mpi/mpi2_ioc.h b/drivers/scsi/mpt2sas/mpi/mpi2_ioc.h
index 761cbdb8a033..1f0c190d336e 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.15 9 * mpi2_ioc.h Version: 02.00.16
10 * 10 *
11 * Version History 11 * Version History
12 * --------------- 12 * ---------------
@@ -103,6 +103,7 @@
103 * defines. 103 * defines.
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 * -------------------------------------------------------------------------- 107 * --------------------------------------------------------------------------
107 */ 108 */
108 109
@@ -1032,6 +1033,7 @@ typedef struct _MPI2_FW_DOWNLOAD_REQUEST
1032#define MPI2_FW_DOWNLOAD_ITYPE_MEGARAID (0x09) 1033#define MPI2_FW_DOWNLOAD_ITYPE_MEGARAID (0x09)
1033#define MPI2_FW_DOWNLOAD_ITYPE_COMPLETE (0x0A) 1034#define MPI2_FW_DOWNLOAD_ITYPE_COMPLETE (0x0A)
1034#define MPI2_FW_DOWNLOAD_ITYPE_COMMON_BOOT_BLOCK (0x0B) 1035#define MPI2_FW_DOWNLOAD_ITYPE_COMMON_BOOT_BLOCK (0x0B)
1036#define MPI2_FW_DOWNLOAD_ITYPE_MIN_PRODUCT_SPECIFIC (0xF0)
1035 1037
1036/* FWDownload TransactionContext Element */ 1038/* FWDownload TransactionContext Element */
1037typedef struct _MPI2_FW_DOWNLOAD_TCSGE 1039typedef struct _MPI2_FW_DOWNLOAD_TCSGE