diff options
Diffstat (limited to 'drivers/scsi/mpt2sas/mpi/mpi2_cnfg.h')
-rw-r--r-- | drivers/scsi/mpt2sas/mpi/mpi2_cnfg.h | 74 |
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 | |||
2834 | typedef 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 | ||