diff options
Diffstat (limited to 'drivers/scsi/mpt2sas/mpi/mpi2_cnfg.h')
-rw-r--r-- | drivers/scsi/mpt2sas/mpi/mpi2_cnfg.h | 193 |
1 files changed, 171 insertions, 22 deletions
diff --git a/drivers/scsi/mpt2sas/mpi/mpi2_cnfg.h b/drivers/scsi/mpt2sas/mpi/mpi2_cnfg.h index d4e9d6f8452e..e3728d736d85 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.13 | 9 | * mpi2_cnfg.h Version: 02.00.14 |
10 | * | 10 | * |
11 | * Version History | 11 | * Version History |
12 | * --------------- | 12 | * --------------- |
@@ -109,6 +109,18 @@ | |||
109 | * Added Ethernet configuration pages. | 109 | * Added Ethernet configuration pages. |
110 | * 10-28-09 02.00.13 Added MPI2_IOUNITPAGE1_ENABLE_HOST_BASED_DISCOVERY. | 110 | * 10-28-09 02.00.13 Added MPI2_IOUNITPAGE1_ENABLE_HOST_BASED_DISCOVERY. |
111 | * Added SAS PHY Page 4 structure and defines. | 111 | * Added SAS PHY Page 4 structure and defines. |
112 | * 02-10-10 02.00.14 Modified the comments for the configuration page | ||
113 | * structures that contain an array of data. The host | ||
114 | * should use the "count" field in the page data (e.g. the | ||
115 | * NumPhys field) to determine the number of valid elements | ||
116 | * in the array. | ||
117 | * Added/modified some MPI2_MFGPAGE_DEVID_SAS defines. | ||
118 | * Added PowerManagementCapabilities to IO Unit Page 7. | ||
119 | * Added PortWidthModGroup field to | ||
120 | * MPI2_SAS_IO_UNIT5_PHY_PM_SETTINGS. | ||
121 | * Added MPI2_CONFIG_PAGE_SASIOUNIT_6 and related defines. | ||
122 | * Added MPI2_CONFIG_PAGE_SASIOUNIT_7 and related defines. | ||
123 | * Added MPI2_CONFIG_PAGE_SASIOUNIT_8 and related defines. | ||
112 | * -------------------------------------------------------------------------- | 124 | * -------------------------------------------------------------------------- |
113 | */ | 125 | */ |
114 | 126 | ||
@@ -373,8 +385,9 @@ typedef struct _MPI2_CONFIG_REPLY | |||
373 | #define MPI2_MFGPAGE_DEVID_SAS2208_4 (0x0083) | 385 | #define MPI2_MFGPAGE_DEVID_SAS2208_4 (0x0083) |
374 | #define MPI2_MFGPAGE_DEVID_SAS2208_5 (0x0084) | 386 | #define MPI2_MFGPAGE_DEVID_SAS2208_5 (0x0084) |
375 | #define MPI2_MFGPAGE_DEVID_SAS2208_6 (0x0085) | 387 | #define MPI2_MFGPAGE_DEVID_SAS2208_6 (0x0085) |
376 | #define MPI2_MFGPAGE_DEVID_SAS2208_7 (0x0086) | 388 | #define MPI2_MFGPAGE_DEVID_SAS2308_1 (0x0086) |
377 | #define MPI2_MFGPAGE_DEVID_SAS2208_8 (0x0087) | 389 | #define MPI2_MFGPAGE_DEVID_SAS2308_2 (0x0087) |
390 | #define MPI2_MFGPAGE_DEVID_SAS2308_3 (0x006E) | ||
378 | 391 | ||
379 | 392 | ||
380 | /* Manufacturing Page 0 */ | 393 | /* Manufacturing Page 0 */ |
@@ -540,7 +553,7 @@ typedef struct _MPI2_CONFIG_PAGE_MAN_4 | |||
540 | 553 | ||
541 | /* | 554 | /* |
542 | * Host code (drivers, BIOS, utilities, etc.) should leave this define set to | 555 | * Host code (drivers, BIOS, utilities, etc.) should leave this define set to |
543 | * one and check Header.PageLength or NumPhys at runtime. | 556 | * one and check the value returned for NumPhys at runtime. |
544 | */ | 557 | */ |
545 | #ifndef MPI2_MAN_PAGE_5_PHY_ENTRIES | 558 | #ifndef MPI2_MAN_PAGE_5_PHY_ENTRIES |
546 | #define MPI2_MAN_PAGE_5_PHY_ENTRIES (1) | 559 | #define MPI2_MAN_PAGE_5_PHY_ENTRIES (1) |
@@ -618,7 +631,7 @@ typedef struct _MPI2_MANPAGE7_CONNECTOR_INFO | |||
618 | 631 | ||
619 | /* | 632 | /* |
620 | * Host code (drivers, BIOS, utilities, etc.) should leave this define set to | 633 | * Host code (drivers, BIOS, utilities, etc.) should leave this define set to |
621 | * one and check NumPhys at runtime. | 634 | * one and check the value returned for NumPhys at runtime. |
622 | */ | 635 | */ |
623 | #ifndef MPI2_MANPAGE7_CONNECTOR_INFO_MAX | 636 | #ifndef MPI2_MANPAGE7_CONNECTOR_INFO_MAX |
624 | #define MPI2_MANPAGE7_CONNECTOR_INFO_MAX (1) | 637 | #define MPI2_MANPAGE7_CONNECTOR_INFO_MAX (1) |
@@ -731,7 +744,7 @@ typedef struct _MPI2_CONFIG_PAGE_IO_UNIT_1 | |||
731 | 744 | ||
732 | /* | 745 | /* |
733 | * Host code (drivers, BIOS, utilities, etc.) should leave this define set to | 746 | * Host code (drivers, BIOS, utilities, etc.) should leave this define set to |
734 | * one and check Header.PageLength at runtime. | 747 | * one and check the value returned for GPIOCount at runtime. |
735 | */ | 748 | */ |
736 | #ifndef MPI2_IO_UNIT_PAGE_3_GPIO_VAL_MAX | 749 | #ifndef MPI2_IO_UNIT_PAGE_3_GPIO_VAL_MAX |
737 | #define MPI2_IO_UNIT_PAGE_3_GPIO_VAL_MAX (1) | 750 | #define MPI2_IO_UNIT_PAGE_3_GPIO_VAL_MAX (1) |
@@ -760,7 +773,7 @@ typedef struct _MPI2_CONFIG_PAGE_IO_UNIT_3 | |||
760 | 773 | ||
761 | /* | 774 | /* |
762 | * Upper layer code (drivers, utilities, etc.) should leave this define set to | 775 | * Upper layer code (drivers, utilities, etc.) should leave this define set to |
763 | * one and check Header.PageLength or NumDmaEngines at runtime. | 776 | * one and check the value returned for NumDmaEngines at runtime. |
764 | */ | 777 | */ |
765 | #ifndef MPI2_IOUNITPAGE5_DMAENGINE_ENTRIES | 778 | #ifndef MPI2_IOUNITPAGE5_DMAENGINE_ENTRIES |
766 | #define MPI2_IOUNITPAGE5_DMAENGINE_ENTRIES (1) | 779 | #define MPI2_IOUNITPAGE5_DMAENGINE_ENTRIES (1) |
@@ -823,7 +836,7 @@ typedef struct _MPI2_CONFIG_PAGE_IO_UNIT_7 { | |||
823 | U8 PCIeWidth; /* 0x06 */ | 836 | U8 PCIeWidth; /* 0x06 */ |
824 | U8 PCIeSpeed; /* 0x07 */ | 837 | U8 PCIeSpeed; /* 0x07 */ |
825 | U32 ProcessorState; /* 0x08 */ | 838 | U32 ProcessorState; /* 0x08 */ |
826 | U32 Reserved2; /* 0x0C */ | 839 | U32 PowerManagementCapabilities; /* 0x0C */ |
827 | U16 IOCTemperature; /* 0x10 */ | 840 | U16 IOCTemperature; /* 0x10 */ |
828 | U8 IOCTemperatureUnits; /* 0x12 */ | 841 | U8 IOCTemperatureUnits; /* 0x12 */ |
829 | U8 IOCSpeed; /* 0x13 */ | 842 | U8 IOCSpeed; /* 0x13 */ |
@@ -831,7 +844,7 @@ typedef struct _MPI2_CONFIG_PAGE_IO_UNIT_7 { | |||
831 | } MPI2_CONFIG_PAGE_IO_UNIT_7, MPI2_POINTER PTR_MPI2_CONFIG_PAGE_IO_UNIT_7, | 844 | } MPI2_CONFIG_PAGE_IO_UNIT_7, MPI2_POINTER PTR_MPI2_CONFIG_PAGE_IO_UNIT_7, |
832 | Mpi2IOUnitPage7_t, MPI2_POINTER pMpi2IOUnitPage7_t; | 845 | Mpi2IOUnitPage7_t, MPI2_POINTER pMpi2IOUnitPage7_t; |
833 | 846 | ||
834 | #define MPI2_IOUNITPAGE7_PAGEVERSION (0x00) | 847 | #define MPI2_IOUNITPAGE7_PAGEVERSION (0x01) |
835 | 848 | ||
836 | /* defines for IO Unit Page 7 PCIeWidth field */ | 849 | /* defines for IO Unit Page 7 PCIeWidth field */ |
837 | #define MPI2_IOUNITPAGE7_PCIE_WIDTH_X1 (0x01) | 850 | #define MPI2_IOUNITPAGE7_PCIE_WIDTH_X1 (0x01) |
@@ -852,6 +865,14 @@ typedef struct _MPI2_CONFIG_PAGE_IO_UNIT_7 { | |||
852 | #define MPI2_IOUNITPAGE7_PSTATE_DISABLED (0x01) | 865 | #define MPI2_IOUNITPAGE7_PSTATE_DISABLED (0x01) |
853 | #define MPI2_IOUNITPAGE7_PSTATE_ENABLED (0x02) | 866 | #define MPI2_IOUNITPAGE7_PSTATE_ENABLED (0x02) |
854 | 867 | ||
868 | /* defines for IO Unit Page 7 PowerManagementCapabilities field */ | ||
869 | #define MPI2_IOUNITPAGE7_PMCAP_12_5_PCT_IOCSPEED (0x00000400) | ||
870 | #define MPI2_IOUNITPAGE7_PMCAP_25_0_PCT_IOCSPEED (0x00000200) | ||
871 | #define MPI2_IOUNITPAGE7_PMCAP_50_0_PCT_IOCSPEED (0x00000100) | ||
872 | #define MPI2_IOUNITPAGE7_PMCAP_PCIE_WIDTH_CHANGE (0x00000008) | ||
873 | #define MPI2_IOUNITPAGE7_PMCAP_PCIE_SPEED_CHANGE (0x00000004) | ||
874 | |||
875 | |||
855 | /* defines for IO Unit Page 7 IOCTemperatureUnits field */ | 876 | /* defines for IO Unit Page 7 IOCTemperatureUnits field */ |
856 | #define MPI2_IOUNITPAGE7_IOC_TEMP_NOT_PRESENT (0x00) | 877 | #define MPI2_IOUNITPAGE7_IOC_TEMP_NOT_PRESENT (0x00) |
857 | #define MPI2_IOUNITPAGE7_IOC_TEMP_FAHRENHEIT (0x01) | 878 | #define MPI2_IOUNITPAGE7_IOC_TEMP_FAHRENHEIT (0x01) |
@@ -1195,7 +1216,7 @@ typedef struct _MPI2_CONFIG_PAGE_BIOS_3 | |||
1195 | 1216 | ||
1196 | /* | 1217 | /* |
1197 | * Host code (drivers, BIOS, utilities, etc.) should leave this define set to | 1218 | * Host code (drivers, BIOS, utilities, etc.) should leave this define set to |
1198 | * one and check Header.PageLength or NumPhys at runtime. | 1219 | * one and check the value returned for NumPhys at runtime. |
1199 | */ | 1220 | */ |
1200 | #ifndef MPI2_BIOS_PAGE_4_PHY_ENTRIES | 1221 | #ifndef MPI2_BIOS_PAGE_4_PHY_ENTRIES |
1201 | #define MPI2_BIOS_PAGE_4_PHY_ENTRIES (1) | 1222 | #define MPI2_BIOS_PAGE_4_PHY_ENTRIES (1) |
@@ -1269,7 +1290,7 @@ typedef struct _MPI2_RAIDVOL0_SETTINGS | |||
1269 | 1290 | ||
1270 | /* | 1291 | /* |
1271 | * Host code (drivers, BIOS, utilities, etc.) should leave this define set to | 1292 | * Host code (drivers, BIOS, utilities, etc.) should leave this define set to |
1272 | * one and check Header.PageLength at runtime. | 1293 | * one and check the value returned for NumPhysDisks at runtime. |
1273 | */ | 1294 | */ |
1274 | #ifndef MPI2_RAID_VOL_PAGE_0_PHYSDISK_MAX | 1295 | #ifndef MPI2_RAID_VOL_PAGE_0_PHYSDISK_MAX |
1275 | #define MPI2_RAID_VOL_PAGE_0_PHYSDISK_MAX (1) | 1296 | #define MPI2_RAID_VOL_PAGE_0_PHYSDISK_MAX (1) |
@@ -1471,7 +1492,7 @@ typedef struct _MPI2_CONFIG_PAGE_RD_PDISK_0 | |||
1471 | 1492 | ||
1472 | /* | 1493 | /* |
1473 | * Host code (drivers, BIOS, utilities, etc.) should leave this define set to | 1494 | * Host code (drivers, BIOS, utilities, etc.) should leave this define set to |
1474 | * one and check Header.PageLength or NumPhysDiskPaths at runtime. | 1495 | * one and check the value returned for NumPhysDiskPaths at runtime. |
1475 | */ | 1496 | */ |
1476 | #ifndef MPI2_RAID_PHYS_DISK1_PATH_MAX | 1497 | #ifndef MPI2_RAID_PHYS_DISK1_PATH_MAX |
1477 | #define MPI2_RAID_PHYS_DISK1_PATH_MAX (1) | 1498 | #define MPI2_RAID_PHYS_DISK1_PATH_MAX (1) |
@@ -1633,7 +1654,7 @@ typedef struct _MPI2_SAS_IO_UNIT0_PHY_DATA | |||
1633 | 1654 | ||
1634 | /* | 1655 | /* |
1635 | * Host code (drivers, BIOS, utilities, etc.) should leave this define set to | 1656 | * Host code (drivers, BIOS, utilities, etc.) should leave this define set to |
1636 | * one and check Header.ExtPageLength or NumPhys at runtime. | 1657 | * one and check the value returned for NumPhys at runtime. |
1637 | */ | 1658 | */ |
1638 | #ifndef MPI2_SAS_IOUNIT0_PHY_MAX | 1659 | #ifndef MPI2_SAS_IOUNIT0_PHY_MAX |
1639 | #define MPI2_SAS_IOUNIT0_PHY_MAX (1) | 1660 | #define MPI2_SAS_IOUNIT0_PHY_MAX (1) |
@@ -1704,7 +1725,7 @@ typedef struct _MPI2_SAS_IO_UNIT1_PHY_DATA | |||
1704 | 1725 | ||
1705 | /* | 1726 | /* |
1706 | * Host code (drivers, BIOS, utilities, etc.) should leave this define set to | 1727 | * Host code (drivers, BIOS, utilities, etc.) should leave this define set to |
1707 | * one and check Header.ExtPageLength or NumPhys at runtime. | 1728 | * one and check the value returned for NumPhys at runtime. |
1708 | */ | 1729 | */ |
1709 | #ifndef MPI2_SAS_IOUNIT1_PHY_MAX | 1730 | #ifndef MPI2_SAS_IOUNIT1_PHY_MAX |
1710 | #define MPI2_SAS_IOUNIT1_PHY_MAX (1) | 1731 | #define MPI2_SAS_IOUNIT1_PHY_MAX (1) |
@@ -1795,7 +1816,7 @@ typedef struct _MPI2_SAS_IOUNIT4_SPINUP_GROUP | |||
1795 | 1816 | ||
1796 | /* | 1817 | /* |
1797 | * Host code (drivers, BIOS, utilities, etc.) should leave this define set to | 1818 | * Host code (drivers, BIOS, utilities, etc.) should leave this define set to |
1798 | * four and check Header.ExtPageLength or NumPhys at runtime. | 1819 | * one and check the value returned for NumPhys at runtime. |
1799 | */ | 1820 | */ |
1800 | #ifndef MPI2_SAS_IOUNIT4_PHY_MAX | 1821 | #ifndef MPI2_SAS_IOUNIT4_PHY_MAX |
1801 | #define MPI2_SAS_IOUNIT4_PHY_MAX (4) | 1822 | #define MPI2_SAS_IOUNIT4_PHY_MAX (4) |
@@ -1833,7 +1854,7 @@ typedef struct _MPI2_CONFIG_PAGE_SASIOUNIT_4 | |||
1833 | 1854 | ||
1834 | typedef struct _MPI2_SAS_IO_UNIT5_PHY_PM_SETTINGS { | 1855 | typedef struct _MPI2_SAS_IO_UNIT5_PHY_PM_SETTINGS { |
1835 | U8 ControlFlags; /* 0x00 */ | 1856 | U8 ControlFlags; /* 0x00 */ |
1836 | U8 Reserved1; /* 0x01 */ | 1857 | U8 PortWidthModGroup; /* 0x01 */ |
1837 | U16 InactivityTimerExponent; /* 0x02 */ | 1858 | U16 InactivityTimerExponent; /* 0x02 */ |
1838 | U8 SATAPartialTimeout; /* 0x04 */ | 1859 | U8 SATAPartialTimeout; /* 0x04 */ |
1839 | U8 Reserved2; /* 0x05 */ | 1860 | U8 Reserved2; /* 0x05 */ |
@@ -1853,6 +1874,9 @@ typedef struct _MPI2_SAS_IO_UNIT5_PHY_PM_SETTINGS { | |||
1853 | #define MPI2_SASIOUNIT5_CONTROL_SATA_SLUMBER_ENABLE (0x02) | 1874 | #define MPI2_SASIOUNIT5_CONTROL_SATA_SLUMBER_ENABLE (0x02) |
1854 | #define MPI2_SASIOUNIT5_CONTROL_SATA_PARTIAL_ENABLE (0x01) | 1875 | #define MPI2_SASIOUNIT5_CONTROL_SATA_PARTIAL_ENABLE (0x01) |
1855 | 1876 | ||
1877 | /* defines for PortWidthModeGroup field */ | ||
1878 | #define MPI2_SASIOUNIT5_PWMG_DISABLE (0xFF) | ||
1879 | |||
1856 | /* defines for InactivityTimerExponent field */ | 1880 | /* defines for InactivityTimerExponent field */ |
1857 | #define MPI2_SASIOUNIT5_ITE_MASK_SAS_SLUMBER (0x7000) | 1881 | #define MPI2_SASIOUNIT5_ITE_MASK_SAS_SLUMBER (0x7000) |
1858 | #define MPI2_SASIOUNIT5_ITE_SHIFT_SAS_SLUMBER (12) | 1882 | #define MPI2_SASIOUNIT5_ITE_SHIFT_SAS_SLUMBER (12) |
@@ -1874,7 +1898,7 @@ typedef struct _MPI2_SAS_IO_UNIT5_PHY_PM_SETTINGS { | |||
1874 | 1898 | ||
1875 | /* | 1899 | /* |
1876 | * Host code (drivers, BIOS, utilities, etc.) should leave this define set to | 1900 | * Host code (drivers, BIOS, utilities, etc.) should leave this define set to |
1877 | * one and check Header.ExtPageLength or NumPhys at runtime. | 1901 | * one and check the value returned for NumPhys at runtime. |
1878 | */ | 1902 | */ |
1879 | #ifndef MPI2_SAS_IOUNIT5_PHY_MAX | 1903 | #ifndef MPI2_SAS_IOUNIT5_PHY_MAX |
1880 | #define MPI2_SAS_IOUNIT5_PHY_MAX (1) | 1904 | #define MPI2_SAS_IOUNIT5_PHY_MAX (1) |
@@ -1892,7 +1916,132 @@ typedef struct _MPI2_CONFIG_PAGE_SASIOUNIT_5 { | |||
1892 | MPI2_POINTER PTR_MPI2_CONFIG_PAGE_SASIOUNIT_5, | 1916 | MPI2_POINTER PTR_MPI2_CONFIG_PAGE_SASIOUNIT_5, |
1893 | Mpi2SasIOUnitPage5_t, MPI2_POINTER pMpi2SasIOUnitPage5_t; | 1917 | Mpi2SasIOUnitPage5_t, MPI2_POINTER pMpi2SasIOUnitPage5_t; |
1894 | 1918 | ||
1895 | #define MPI2_SASIOUNITPAGE5_PAGEVERSION (0x00) | 1919 | #define MPI2_SASIOUNITPAGE5_PAGEVERSION (0x01) |
1920 | |||
1921 | |||
1922 | /* SAS IO Unit Page 6 */ | ||
1923 | |||
1924 | typedef struct _MPI2_SAS_IO_UNIT6_PORT_WIDTH_MOD_GROUP_STATUS { | ||
1925 | U8 CurrentStatus; /* 0x00 */ | ||
1926 | U8 CurrentModulation; /* 0x01 */ | ||
1927 | U8 CurrentUtilization; /* 0x02 */ | ||
1928 | U8 Reserved1; /* 0x03 */ | ||
1929 | U32 Reserved2; /* 0x04 */ | ||
1930 | } MPI2_SAS_IO_UNIT6_PORT_WIDTH_MOD_GROUP_STATUS, | ||
1931 | MPI2_POINTER PTR_MPI2_SAS_IO_UNIT6_PORT_WIDTH_MOD_GROUP_STATUS, | ||
1932 | Mpi2SasIOUnit6PortWidthModGroupStatus_t, | ||
1933 | MPI2_POINTER pMpi2SasIOUnit6PortWidthModGroupStatus_t; | ||
1934 | |||
1935 | /* defines for CurrentStatus field */ | ||
1936 | #define MPI2_SASIOUNIT6_STATUS_UNAVAILABLE (0x00) | ||
1937 | #define MPI2_SASIOUNIT6_STATUS_UNCONFIGURED (0x01) | ||
1938 | #define MPI2_SASIOUNIT6_STATUS_INVALID_CONFIG (0x02) | ||
1939 | #define MPI2_SASIOUNIT6_STATUS_LINK_DOWN (0x03) | ||
1940 | #define MPI2_SASIOUNIT6_STATUS_OBSERVATION_ONLY (0x04) | ||
1941 | #define MPI2_SASIOUNIT6_STATUS_INACTIVE (0x05) | ||
1942 | #define MPI2_SASIOUNIT6_STATUS_ACTIVE_IOUNIT (0x06) | ||
1943 | #define MPI2_SASIOUNIT6_STATUS_ACTIVE_HOST (0x07) | ||
1944 | |||
1945 | /* defines for CurrentModulation field */ | ||
1946 | #define MPI2_SASIOUNIT6_MODULATION_25_PERCENT (0x00) | ||
1947 | #define MPI2_SASIOUNIT6_MODULATION_50_PERCENT (0x01) | ||
1948 | #define MPI2_SASIOUNIT6_MODULATION_75_PERCENT (0x02) | ||
1949 | #define MPI2_SASIOUNIT6_MODULATION_100_PERCENT (0x03) | ||
1950 | |||
1951 | /* | ||
1952 | * Host code (drivers, BIOS, utilities, etc.) should leave this define set to | ||
1953 | * one and check the value returned for NumGroups at runtime. | ||
1954 | */ | ||
1955 | #ifndef MPI2_SAS_IOUNIT6_GROUP_MAX | ||
1956 | #define MPI2_SAS_IOUNIT6_GROUP_MAX (1) | ||
1957 | #endif | ||
1958 | |||
1959 | typedef struct _MPI2_CONFIG_PAGE_SASIOUNIT_6 { | ||
1960 | MPI2_CONFIG_EXTENDED_PAGE_HEADER Header; /* 0x00 */ | ||
1961 | U32 Reserved1; /* 0x08 */ | ||
1962 | U32 Reserved2; /* 0x0C */ | ||
1963 | U8 NumGroups; /* 0x10 */ | ||
1964 | U8 Reserved3; /* 0x11 */ | ||
1965 | U16 Reserved4; /* 0x12 */ | ||
1966 | MPI2_SAS_IO_UNIT6_PORT_WIDTH_MOD_GROUP_STATUS | ||
1967 | PortWidthModulationGroupStatus[MPI2_SAS_IOUNIT6_GROUP_MAX]; /* 0x14 */ | ||
1968 | } MPI2_CONFIG_PAGE_SASIOUNIT_6, | ||
1969 | MPI2_POINTER PTR_MPI2_CONFIG_PAGE_SASIOUNIT_6, | ||
1970 | Mpi2SasIOUnitPage6_t, MPI2_POINTER pMpi2SasIOUnitPage6_t; | ||
1971 | |||
1972 | #define MPI2_SASIOUNITPAGE6_PAGEVERSION (0x00) | ||
1973 | |||
1974 | |||
1975 | /* SAS IO Unit Page 7 */ | ||
1976 | |||
1977 | typedef struct _MPI2_SAS_IO_UNIT7_PORT_WIDTH_MOD_GROUP_SETTINGS { | ||
1978 | U8 Flags; /* 0x00 */ | ||
1979 | U8 Reserved1; /* 0x01 */ | ||
1980 | U16 Reserved2; /* 0x02 */ | ||
1981 | U8 Threshold75Pct; /* 0x04 */ | ||
1982 | U8 Threshold50Pct; /* 0x05 */ | ||
1983 | U8 Threshold25Pct; /* 0x06 */ | ||
1984 | U8 Reserved3; /* 0x07 */ | ||
1985 | } MPI2_SAS_IO_UNIT7_PORT_WIDTH_MOD_GROUP_SETTINGS, | ||
1986 | MPI2_POINTER PTR_MPI2_SAS_IO_UNIT7_PORT_WIDTH_MOD_GROUP_SETTINGS, | ||
1987 | Mpi2SasIOUnit7PortWidthModGroupSettings_t, | ||
1988 | MPI2_POINTER pMpi2SasIOUnit7PortWidthModGroupSettings_t; | ||
1989 | |||
1990 | /* defines for Flags field */ | ||
1991 | #define MPI2_SASIOUNIT7_FLAGS_ENABLE_PORT_WIDTH_MODULATION (0x01) | ||
1992 | |||
1993 | |||
1994 | /* | ||
1995 | * Host code (drivers, BIOS, utilities, etc.) should leave this define set to | ||
1996 | * one and check the value returned for NumGroups at runtime. | ||
1997 | */ | ||
1998 | #ifndef MPI2_SAS_IOUNIT7_GROUP_MAX | ||
1999 | #define MPI2_SAS_IOUNIT7_GROUP_MAX (1) | ||
2000 | #endif | ||
2001 | |||
2002 | typedef struct _MPI2_CONFIG_PAGE_SASIOUNIT_7 { | ||
2003 | MPI2_CONFIG_EXTENDED_PAGE_HEADER Header; /* 0x00 */ | ||
2004 | U8 SamplingInterval; /* 0x08 */ | ||
2005 | U8 WindowLength; /* 0x09 */ | ||
2006 | U16 Reserved1; /* 0x0A */ | ||
2007 | U32 Reserved2; /* 0x0C */ | ||
2008 | U32 Reserved3; /* 0x10 */ | ||
2009 | U8 NumGroups; /* 0x14 */ | ||
2010 | U8 Reserved4; /* 0x15 */ | ||
2011 | U16 Reserved5; /* 0x16 */ | ||
2012 | MPI2_SAS_IO_UNIT7_PORT_WIDTH_MOD_GROUP_SETTINGS | ||
2013 | PortWidthModulationGroupSettings[MPI2_SAS_IOUNIT7_GROUP_MAX]; /* 0x18 */ | ||
2014 | } MPI2_CONFIG_PAGE_SASIOUNIT_7, | ||
2015 | MPI2_POINTER PTR_MPI2_CONFIG_PAGE_SASIOUNIT_7, | ||
2016 | Mpi2SasIOUnitPage7_t, MPI2_POINTER pMpi2SasIOUnitPage7_t; | ||
2017 | |||
2018 | #define MPI2_SASIOUNITPAGE7_PAGEVERSION (0x00) | ||
2019 | |||
2020 | |||
2021 | /* SAS IO Unit Page 8 */ | ||
2022 | |||
2023 | typedef struct _MPI2_CONFIG_PAGE_SASIOUNIT_8 { | ||
2024 | MPI2_CONFIG_EXTENDED_PAGE_HEADER Header; /* 0x00 */ | ||
2025 | U32 Reserved1; /* 0x08 */ | ||
2026 | U32 PowerManagementCapabilities;/* 0x0C */ | ||
2027 | U32 Reserved2; /* 0x10 */ | ||
2028 | } MPI2_CONFIG_PAGE_SASIOUNIT_8, | ||
2029 | MPI2_POINTER PTR_MPI2_CONFIG_PAGE_SASIOUNIT_8, | ||
2030 | Mpi2SasIOUnitPage8_t, MPI2_POINTER pMpi2SasIOUnitPage8_t; | ||
2031 | |||
2032 | #define MPI2_SASIOUNITPAGE8_PAGEVERSION (0x00) | ||
2033 | |||
2034 | /* defines for PowerManagementCapabilities field */ | ||
2035 | #define MPI2_SASIOUNIT8_PM_HOST_PORT_WIDTH_MOD (0x000001000) | ||
2036 | #define MPI2_SASIOUNIT8_PM_HOST_SAS_SLUMBER_MODE (0x000000800) | ||
2037 | #define MPI2_SASIOUNIT8_PM_HOST_SAS_PARTIAL_MODE (0x000000400) | ||
2038 | #define MPI2_SASIOUNIT8_PM_HOST_SATA_SLUMBER_MODE (0x000000200) | ||
2039 | #define MPI2_SASIOUNIT8_PM_HOST_SATA_PARTIAL_MODE (0x000000100) | ||
2040 | #define MPI2_SASIOUNIT8_PM_IOUNIT_PORT_WIDTH_MOD (0x000000010) | ||
2041 | #define MPI2_SASIOUNIT8_PM_IOUNIT_SAS_SLUMBER_MODE (0x000000008) | ||
2042 | #define MPI2_SASIOUNIT8_PM_IOUNIT_SAS_PARTIAL_MODE (0x000000004) | ||
2043 | #define MPI2_SASIOUNIT8_PM_IOUNIT_SATA_SLUMBER_MODE (0x000000002) | ||
2044 | #define MPI2_SASIOUNIT8_PM_IOUNIT_SATA_PARTIAL_MODE (0x000000001) | ||
1896 | 2045 | ||
1897 | 2046 | ||
1898 | 2047 | ||
@@ -2182,7 +2331,7 @@ typedef struct _MPI2_SASPHY2_PHY_EVENT { | |||
2182 | 2331 | ||
2183 | /* | 2332 | /* |
2184 | * Host code (drivers, BIOS, utilities, etc.) should leave this define set to | 2333 | * Host code (drivers, BIOS, utilities, etc.) should leave this define set to |
2185 | * one and check Header.ExtPageLength or NumPhyEvents at runtime. | 2334 | * one and check the value returned for NumPhyEvents at runtime. |
2186 | */ | 2335 | */ |
2187 | #ifndef MPI2_SASPHY2_PHY_EVENT_MAX | 2336 | #ifndef MPI2_SASPHY2_PHY_EVENT_MAX |
2188 | #define MPI2_SASPHY2_PHY_EVENT_MAX (1) | 2337 | #define MPI2_SASPHY2_PHY_EVENT_MAX (1) |
@@ -2274,7 +2423,7 @@ typedef struct _MPI2_SASPHY3_PHY_EVENT_CONFIG { | |||
2274 | 2423 | ||
2275 | /* | 2424 | /* |
2276 | * Host code (drivers, BIOS, utilities, etc.) should leave this define set to | 2425 | * Host code (drivers, BIOS, utilities, etc.) should leave this define set to |
2277 | * one and check Header.ExtPageLength or NumPhyEvents at runtime. | 2426 | * one and check the value returned for NumPhyEvents at runtime. |
2278 | */ | 2427 | */ |
2279 | #ifndef MPI2_SASPHY3_PHY_EVENT_MAX | 2428 | #ifndef MPI2_SASPHY3_PHY_EVENT_MAX |
2280 | #define MPI2_SASPHY3_PHY_EVENT_MAX (1) | 2429 | #define MPI2_SASPHY3_PHY_EVENT_MAX (1) |
@@ -2385,7 +2534,7 @@ typedef struct _MPI2_CONFIG_PAGE_SAS_ENCLOSURE_0 | |||
2385 | 2534 | ||
2386 | /* | 2535 | /* |
2387 | * Host code (drivers, BIOS, utilities, etc.) should leave this define set to | 2536 | * Host code (drivers, BIOS, utilities, etc.) should leave this define set to |
2388 | * one and check Header.ExtPageLength or NumPhys at runtime. | 2537 | * one and check the value returned for NumLogEntries at runtime. |
2389 | */ | 2538 | */ |
2390 | #ifndef MPI2_LOG_0_NUM_LOG_ENTRIES | 2539 | #ifndef MPI2_LOG_0_NUM_LOG_ENTRIES |
2391 | #define MPI2_LOG_0_NUM_LOG_ENTRIES (1) | 2540 | #define MPI2_LOG_0_NUM_LOG_ENTRIES (1) |
@@ -2435,7 +2584,7 @@ typedef struct _MPI2_CONFIG_PAGE_LOG_0 | |||
2435 | 2584 | ||
2436 | /* | 2585 | /* |
2437 | * Host code (drivers, BIOS, utilities, etc.) should leave this define set to | 2586 | * Host code (drivers, BIOS, utilities, etc.) should leave this define set to |
2438 | * one and check Header.ExtPageLength or NumPhys at runtime. | 2587 | * one and check the value returned for NumElements at runtime. |
2439 | */ | 2588 | */ |
2440 | #ifndef MPI2_RAIDCONFIG0_MAX_ELEMENTS | 2589 | #ifndef MPI2_RAIDCONFIG0_MAX_ELEMENTS |
2441 | #define MPI2_RAIDCONFIG0_MAX_ELEMENTS (1) | 2590 | #define MPI2_RAIDCONFIG0_MAX_ELEMENTS (1) |