mpi_cnfg.h (156000) | mpi_cnfg.h (170251) |
---|---|
1/* $FreeBSD: head/sys/dev/mpt/mpilib/mpi_cnfg.h 156000 2006-02-25 07:45:54Z mjacob $ */ | 1/* $FreeBSD: head/sys/dev/mpt/mpilib/mpi_cnfg.h 170251 2007-06-03 22:58:27Z scottl $ */ |
2/*- 3 * Copyright (c) 2000-2005, LSI Logic Corporation and its contributors. 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions are 8 * met: 9 * 1. Redistributions of source code must retain the above copyright --- 18 unchanged lines hidden (view full) --- 28 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 29 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF THE COPYRIGHT 30 * OWNER OR CONTRIBUTOR IS ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 * 32 * Name: mpi_cnfg.h 33 * Title: MPI Config message, structures, and Pages 34 * Creation Date: July 27, 2000 35 * | 2/*- 3 * Copyright (c) 2000-2005, LSI Logic Corporation and its contributors. 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions are 8 * met: 9 * 1. Redistributions of source code must retain the above copyright --- 18 unchanged lines hidden (view full) --- 28 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 29 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF THE COPYRIGHT 30 * OWNER OR CONTRIBUTOR IS ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 * 32 * Name: mpi_cnfg.h 33 * Title: MPI Config message, structures, and Pages 34 * Creation Date: July 27, 2000 35 * |
36 * mpi_cnfg.h Version: 01.05.11 | 36 * mpi_cnfg.h Version: 01.05.15 |
37 * 38 * Version History 39 * --------------- 40 * 41 * Date Version Description 42 * -------- -------- ------------------------------------------------------ 43 * 05-08-00 00.10.01 Original release for 0.10 spec dated 4/26/2000. 44 * 06-06-00 01.00.01 Update version number for 1.0 release. --- 243 unchanged lines hidden (view full) --- 288 * 08-30-05 01.05.11 Added DeviceID for FC949E and changed the DeviceID for 289 * SAS1078. 290 * Added more defines for Manufacturing Page 4 Flags field. 291 * Added more defines for IOCSettings and added 292 * ExpanderSpinup field to Bios Page 1. 293 * Added postpone SATA Init bit to SAS IO Unit Page 1 294 * ControlFlags. 295 * Changed LogEntry format for Log Page 0. | 37 * 38 * Version History 39 * --------------- 40 * 41 * Date Version Description 42 * -------- -------- ------------------------------------------------------ 43 * 05-08-00 00.10.01 Original release for 0.10 spec dated 4/26/2000. 44 * 06-06-00 01.00.01 Update version number for 1.0 release. --- 243 unchanged lines hidden (view full) --- 288 * 08-30-05 01.05.11 Added DeviceID for FC949E and changed the DeviceID for 289 * SAS1078. 290 * Added more defines for Manufacturing Page 4 Flags field. 291 * Added more defines for IOCSettings and added 292 * ExpanderSpinup field to Bios Page 1. 293 * Added postpone SATA Init bit to SAS IO Unit Page 1 294 * ControlFlags. 295 * Changed LogEntry format for Log Page 0. |
296 * 03-27-06 01.05.12 Added two new Flags defines for Manufacturing Page 4. 297 * Added Manufacturing Page 7. 298 * Added MPI_IOCPAGE2_CAP_FLAGS_RAID_64_BIT_ADDRESSING. 299 * Added IOC Page 6. 300 * Added PrevBootDeviceForm field to CONFIG_PAGE_BIOS_2. 301 * Added MaxLBAHigh field to RAID Volume Page 0. 302 * Added Nvdata version fields to SAS IO Unit Page 0. 303 * Added AdditionalControlFlags, MaxTargetPortConnectTime, 304 * ReportDeviceMissingDelay, and IODeviceMissingDelay 305 * fields to SAS IO Unit Page 1. 306 * 10-11-06 01.05.13 Added NumForceWWID field and ForceWWID array to 307 * Manufacturing Page 5. 308 * Added Manufacturing pages 8 through 10. 309 * Added defines for supported metadata size bits in 310 * CapabilitiesFlags field of IOC Page 6. 311 * Added defines for metadata size bits in VolumeSettings 312 * field of RAID Volume Page 0. 313 * Added SATA Link Reset settings, Enable SATA Asynchronous 314 * Notification bit, and HideNonZeroAttachedPhyIdentifiers 315 * bit to AdditionalControlFlags field of SAS IO Unit 316 * Page 1. 317 * Added defines for Enclosure Devices Unmapped and 318 * Device Limit Exceeded bits in Status field of SAS IO 319 * Unit Page 2. 320 * Added more AccessStatus values for SAS Device Page 0. 321 * Added bit for SATA Asynchronous Notification Support in 322 * Flags field of SAS Device Page 0. 323 * 02-28-07 01.05.14 Added ExtFlags field to Manufacturing Page 4. 324 * Added Disable SMART Polling for CapabilitiesFlags of 325 * IOC Page 6. 326 * Added Disable SMART Polling to DeviceSettings of BIOS 327 * Page 1. 328 * Added Multi-Port Domain bit for DiscoveryStatus field 329 * of SAS IO Unit Page. 330 * Added Multi-Port Domain Illegal flag for SAS IO Unit 331 * Page 1 AdditionalControlFlags field. 332 * 05-24-07 01.05.15 Added Hide Physical Disks with Non-Integrated RAID 333 * Metadata bit to Manufacturing Page 4 ExtFlags field. 334 * Added Internal Connector to End Device Present bit to 335 * Expander Page 0 Flags field. 336 * Fixed define for 337 * MPI_SAS_EXPANDER1_DISCINFO_BAD_PHY_DISABLED. |
|
296 * -------------------------------------------------------------------------- 297 */ 298 299#ifndef MPI_CNFG_H 300#define MPI_CNFG_H 301 302 303/***************************************************************************** --- 330 unchanged lines hidden (view full) --- 634 CONFIG_PAGE_HEADER Header; /* 00h */ 635 U32 Reserved1; /* 04h */ 636 U8 InfoOffset0; /* 08h */ 637 U8 InfoSize0; /* 09h */ 638 U8 InfoOffset1; /* 0Ah */ 639 U8 InfoSize1; /* 0Bh */ 640 U8 InquirySize; /* 0Ch */ 641 U8 Flags; /* 0Dh */ | 338 * -------------------------------------------------------------------------- 339 */ 340 341#ifndef MPI_CNFG_H 342#define MPI_CNFG_H 343 344 345/***************************************************************************** --- 330 unchanged lines hidden (view full) --- 676 CONFIG_PAGE_HEADER Header; /* 00h */ 677 U32 Reserved1; /* 04h */ 678 U8 InfoOffset0; /* 08h */ 679 U8 InfoSize0; /* 09h */ 680 U8 InfoOffset1; /* 0Ah */ 681 U8 InfoSize1; /* 0Bh */ 682 U8 InquirySize; /* 0Ch */ 683 U8 Flags; /* 0Dh */ |
642 U16 Reserved2; /* 0Eh */ | 684 U16 ExtFlags; /* 0Eh */ |
643 U8 InquiryData[56]; /* 10h */ 644 U32 ISVolumeSettings; /* 48h */ 645 U32 IMEVolumeSettings; /* 4Ch */ 646 U32 IMVolumeSettings; /* 50h */ 647 U32 Reserved3; /* 54h */ 648 U32 Reserved4; /* 58h */ 649 U32 Reserved5; /* 5Ch */ 650 U8 IMEDataScrubRate; /* 60h */ 651 U8 IMEResyncRate; /* 61h */ 652 U16 Reserved6; /* 62h */ 653 U8 IMDataScrubRate; /* 64h */ 654 U8 IMResyncRate; /* 65h */ 655 U16 Reserved7; /* 66h */ 656 U32 Reserved8; /* 68h */ 657 U32 Reserved9; /* 6Ch */ 658} CONFIG_PAGE_MANUFACTURING_4, MPI_POINTER PTR_CONFIG_PAGE_MANUFACTURING_4, 659 ManufacturingPage4_t, MPI_POINTER pManufacturingPage4_t; 660 | 685 U8 InquiryData[56]; /* 10h */ 686 U32 ISVolumeSettings; /* 48h */ 687 U32 IMEVolumeSettings; /* 4Ch */ 688 U32 IMVolumeSettings; /* 50h */ 689 U32 Reserved3; /* 54h */ 690 U32 Reserved4; /* 58h */ 691 U32 Reserved5; /* 5Ch */ 692 U8 IMEDataScrubRate; /* 60h */ 693 U8 IMEResyncRate; /* 61h */ 694 U16 Reserved6; /* 62h */ 695 U8 IMDataScrubRate; /* 64h */ 696 U8 IMResyncRate; /* 65h */ 697 U16 Reserved7; /* 66h */ 698 U32 Reserved8; /* 68h */ 699 U32 Reserved9; /* 6Ch */ 700} CONFIG_PAGE_MANUFACTURING_4, MPI_POINTER PTR_CONFIG_PAGE_MANUFACTURING_4, 701 ManufacturingPage4_t, MPI_POINTER pManufacturingPage4_t; 702 |
661#define MPI_MANUFACTURING4_PAGEVERSION (0x03) | 703#define MPI_MANUFACTURING4_PAGEVERSION (0x05) |
662 663/* defines for the Flags field */ | 704 705/* defines for the Flags field */ |
706#define MPI_MANPAGE4_FORCE_BAD_BLOCK_TABLE (0x80) 707#define MPI_MANPAGE4_FORCE_OFFLINE_FAILOVER (0x40) |
|
664#define MPI_MANPAGE4_IME_DISABLE (0x20) 665#define MPI_MANPAGE4_IM_DISABLE (0x10) 666#define MPI_MANPAGE4_IS_DISABLE (0x08) 667#define MPI_MANPAGE4_IR_MODEPAGE8_DISABLE (0x04) 668#define MPI_MANPAGE4_IM_RESYNC_CACHE_ENABLE (0x02) 669#define MPI_MANPAGE4_IR_NO_MIX_SAS_SATA (0x01) 670 | 708#define MPI_MANPAGE4_IME_DISABLE (0x20) 709#define MPI_MANPAGE4_IM_DISABLE (0x10) 710#define MPI_MANPAGE4_IS_DISABLE (0x08) 711#define MPI_MANPAGE4_IR_MODEPAGE8_DISABLE (0x04) 712#define MPI_MANPAGE4_IM_RESYNC_CACHE_ENABLE (0x02) 713#define MPI_MANPAGE4_IR_NO_MIX_SAS_SATA (0x01) 714 |
715/* defines for the ExtFlags field */ 716#define MPI_MANPAGE4_EXTFLAGS_HIDE_NON_IR_METADATA (0x0008) 717#define MPI_MANPAGE4_EXTFLAGS_SAS_CACHE_DISABLE (0x0004) 718#define MPI_MANPAGE4_EXTFLAGS_SATA_CACHE_DISABLE (0x0002) 719#define MPI_MANPAGE4_EXTFLAGS_LEGACY_MODE (0x0001) |
|
671 | 720 |
721 722#ifndef MPI_MANPAGE5_NUM_FORCEWWID 723#define MPI_MANPAGE5_NUM_FORCEWWID (1) 724#endif 725 |
|
672typedef struct _CONFIG_PAGE_MANUFACTURING_5 673{ 674 CONFIG_PAGE_HEADER Header; /* 00h */ 675 U64 BaseWWID; /* 04h */ 676 U8 Flags; /* 0Ch */ | 726typedef struct _CONFIG_PAGE_MANUFACTURING_5 727{ 728 CONFIG_PAGE_HEADER Header; /* 00h */ 729 U64 BaseWWID; /* 04h */ 730 U8 Flags; /* 0Ch */ |
677 U8 Reserved1; /* 0Dh */ | 731 U8 NumForceWWID; /* 0Dh */ |
678 U16 Reserved2; /* 0Eh */ | 732 U16 Reserved2; /* 0Eh */ |
733 U32 Reserved3; /* 10h */ 734 U32 Reserved4; /* 14h */ 735 U64 ForceWWID[MPI_MANPAGE5_NUM_FORCEWWID]; /* 18h */ |
|
679} CONFIG_PAGE_MANUFACTURING_5, MPI_POINTER PTR_CONFIG_PAGE_MANUFACTURING_5, 680 ManufacturingPage5_t, MPI_POINTER pManufacturingPage5_t; 681 | 736} CONFIG_PAGE_MANUFACTURING_5, MPI_POINTER PTR_CONFIG_PAGE_MANUFACTURING_5, 737 ManufacturingPage5_t, MPI_POINTER pManufacturingPage5_t; 738 |
682#define MPI_MANUFACTURING5_PAGEVERSION (0x01) | 739#define MPI_MANUFACTURING5_PAGEVERSION (0x02) |
683 684/* defines for the Flags field */ 685#define MPI_MANPAGE5_TWO_WWID_PER_PHY (0x01) 686 687 688typedef struct _CONFIG_PAGE_MANUFACTURING_6 689{ 690 CONFIG_PAGE_HEADER Header; /* 00h */ 691 U32 ProductSpecificInfo;/* 04h */ 692} CONFIG_PAGE_MANUFACTURING_6, MPI_POINTER PTR_CONFIG_PAGE_MANUFACTURING_6, 693 ManufacturingPage6_t, MPI_POINTER pManufacturingPage6_t; 694 695#define MPI_MANUFACTURING6_PAGEVERSION (0x00) 696 697 | 740 741/* defines for the Flags field */ 742#define MPI_MANPAGE5_TWO_WWID_PER_PHY (0x01) 743 744 745typedef struct _CONFIG_PAGE_MANUFACTURING_6 746{ 747 CONFIG_PAGE_HEADER Header; /* 00h */ 748 U32 ProductSpecificInfo;/* 04h */ 749} CONFIG_PAGE_MANUFACTURING_6, MPI_POINTER PTR_CONFIG_PAGE_MANUFACTURING_6, 750 ManufacturingPage6_t, MPI_POINTER pManufacturingPage6_t; 751 752#define MPI_MANUFACTURING6_PAGEVERSION (0x00) 753 754 |
755typedef struct _MPI_MANPAGE7_CONNECTOR_INFO 756{ 757 U32 Pinout; /* 00h */ 758 U8 Connector[16]; /* 04h */ 759 U8 Location; /* 14h */ 760 U8 Reserved1; /* 15h */ 761 U16 Slot; /* 16h */ 762 U32 Reserved2; /* 18h */ 763} MPI_MANPAGE7_CONNECTOR_INFO, MPI_POINTER PTR_MPI_MANPAGE7_CONNECTOR_INFO, 764 MpiManPage7ConnectorInfo_t, MPI_POINTER pMpiManPage7ConnectorInfo_t; 765 766/* defines for the Pinout field */ 767#define MPI_MANPAGE7_PINOUT_SFF_8484_L4 (0x00080000) 768#define MPI_MANPAGE7_PINOUT_SFF_8484_L3 (0x00040000) 769#define MPI_MANPAGE7_PINOUT_SFF_8484_L2 (0x00020000) 770#define MPI_MANPAGE7_PINOUT_SFF_8484_L1 (0x00010000) 771#define MPI_MANPAGE7_PINOUT_SFF_8470_L4 (0x00000800) 772#define MPI_MANPAGE7_PINOUT_SFF_8470_L3 (0x00000400) 773#define MPI_MANPAGE7_PINOUT_SFF_8470_L2 (0x00000200) 774#define MPI_MANPAGE7_PINOUT_SFF_8470_L1 (0x00000100) 775#define MPI_MANPAGE7_PINOUT_SFF_8482 (0x00000002) 776#define MPI_MANPAGE7_PINOUT_CONNECTION_UNKNOWN (0x00000001) 777 778/* defines for the Location field */ 779#define MPI_MANPAGE7_LOCATION_UNKNOWN (0x01) 780#define MPI_MANPAGE7_LOCATION_INTERNAL (0x02) 781#define MPI_MANPAGE7_LOCATION_EXTERNAL (0x04) 782#define MPI_MANPAGE7_LOCATION_SWITCHABLE (0x08) 783#define MPI_MANPAGE7_LOCATION_AUTO (0x10) 784#define MPI_MANPAGE7_LOCATION_NOT_PRESENT (0x20) 785#define MPI_MANPAGE7_LOCATION_NOT_CONNECTED (0x80) 786 787/* 788 * Host code (drivers, BIOS, utilities, etc.) should leave this define set to 789 * one and check NumPhys at runtime. 790 */ 791#ifndef MPI_MANPAGE7_CONNECTOR_INFO_MAX 792#define MPI_MANPAGE7_CONNECTOR_INFO_MAX (1) 793#endif 794 795typedef struct _CONFIG_PAGE_MANUFACTURING_7 796{ 797 CONFIG_PAGE_HEADER Header; /* 00h */ 798 U32 Reserved1; /* 04h */ 799 U32 Reserved2; /* 08h */ 800 U32 Flags; /* 0Ch */ 801 U8 EnclosureName[16]; /* 10h */ 802 U8 NumPhys; /* 20h */ 803 U8 Reserved3; /* 21h */ 804 U16 Reserved4; /* 22h */ 805 MPI_MANPAGE7_CONNECTOR_INFO ConnectorInfo[MPI_MANPAGE7_CONNECTOR_INFO_MAX]; /* 24h */ 806} CONFIG_PAGE_MANUFACTURING_7, MPI_POINTER PTR_CONFIG_PAGE_MANUFACTURING_7, 807 ManufacturingPage7_t, MPI_POINTER pManufacturingPage7_t; 808 809#define MPI_MANUFACTURING7_PAGEVERSION (0x00) 810 811/* defines for the Flags field */ 812#define MPI_MANPAGE7_FLAG_USE_SLOT_INFO (0x00000001) 813 814 815typedef struct _CONFIG_PAGE_MANUFACTURING_8 816{ 817 CONFIG_PAGE_HEADER Header; /* 00h */ 818 U32 ProductSpecificInfo;/* 04h */ 819} CONFIG_PAGE_MANUFACTURING_8, MPI_POINTER PTR_CONFIG_PAGE_MANUFACTURING_8, 820 ManufacturingPage8_t, MPI_POINTER pManufacturingPage8_t; 821 822#define MPI_MANUFACTURING8_PAGEVERSION (0x00) 823 824 825typedef struct _CONFIG_PAGE_MANUFACTURING_9 826{ 827 CONFIG_PAGE_HEADER Header; /* 00h */ 828 U32 ProductSpecificInfo;/* 04h */ 829} CONFIG_PAGE_MANUFACTURING_9, MPI_POINTER PTR_CONFIG_PAGE_MANUFACTURING_9, 830 ManufacturingPage9_t, MPI_POINTER pManufacturingPage9_t; 831 832#define MPI_MANUFACTURING9_PAGEVERSION (0x00) 833 834 835typedef struct _CONFIG_PAGE_MANUFACTURING_10 836{ 837 CONFIG_PAGE_HEADER Header; /* 00h */ 838 U32 ProductSpecificInfo;/* 04h */ 839} CONFIG_PAGE_MANUFACTURING_10, MPI_POINTER PTR_CONFIG_PAGE_MANUFACTURING_10, 840 ManufacturingPage10_t, MPI_POINTER pManufacturingPage10_t; 841 842#define MPI_MANUFACTURING10_PAGEVERSION (0x00) 843 844 |
|
698/**************************************************************************** 699* IO Unit Config Pages 700****************************************************************************/ 701 702typedef struct _CONFIG_PAGE_IO_UNIT_0 703{ 704 CONFIG_PAGE_HEADER Header; /* 00h */ 705 U64 UniqueValue; /* 04h */ --- 183 unchanged lines hidden (view full) --- 889 U8 NumActiveVolumes; /* 08h */ 890 U8 MaxVolumes; /* 09h */ 891 U8 NumActivePhysDisks; /* 0Ah */ 892 U8 MaxPhysDisks; /* 0Bh */ 893 CONFIG_PAGE_IOC_2_RAID_VOL RaidVolume[MPI_IOC_PAGE_2_RAID_VOLUME_MAX];/* 0Ch */ 894} CONFIG_PAGE_IOC_2, MPI_POINTER PTR_CONFIG_PAGE_IOC_2, 895 IOCPage2_t, MPI_POINTER pIOCPage2_t; 896 | 845/**************************************************************************** 846* IO Unit Config Pages 847****************************************************************************/ 848 849typedef struct _CONFIG_PAGE_IO_UNIT_0 850{ 851 CONFIG_PAGE_HEADER Header; /* 00h */ 852 U64 UniqueValue; /* 04h */ --- 183 unchanged lines hidden (view full) --- 1036 U8 NumActiveVolumes; /* 08h */ 1037 U8 MaxVolumes; /* 09h */ 1038 U8 NumActivePhysDisks; /* 0Ah */ 1039 U8 MaxPhysDisks; /* 0Bh */ 1040 CONFIG_PAGE_IOC_2_RAID_VOL RaidVolume[MPI_IOC_PAGE_2_RAID_VOLUME_MAX];/* 0Ch */ 1041} CONFIG_PAGE_IOC_2, MPI_POINTER PTR_CONFIG_PAGE_IOC_2, 1042 IOCPage2_t, MPI_POINTER pIOCPage2_t; 1043 |
897#define MPI_IOCPAGE2_PAGEVERSION (0x03) | 1044#define MPI_IOCPAGE2_PAGEVERSION (0x04) |
898 899/* IOC Page 2 Capabilities flags */ 900 901#define MPI_IOCPAGE2_CAP_FLAGS_IS_SUPPORT (0x00000001) 902#define MPI_IOCPAGE2_CAP_FLAGS_IME_SUPPORT (0x00000002) 903#define MPI_IOCPAGE2_CAP_FLAGS_IM_SUPPORT (0x00000004) 904#define MPI_IOCPAGE2_CAP_FLAGS_RAID_5_SUPPORT (0x00000008) 905#define MPI_IOCPAGE2_CAP_FLAGS_RAID_6_SUPPORT (0x00000010) 906#define MPI_IOCPAGE2_CAP_FLAGS_RAID_10_SUPPORT (0x00000020) 907#define MPI_IOCPAGE2_CAP_FLAGS_RAID_50_SUPPORT (0x00000040) | 1045 1046/* IOC Page 2 Capabilities flags */ 1047 1048#define MPI_IOCPAGE2_CAP_FLAGS_IS_SUPPORT (0x00000001) 1049#define MPI_IOCPAGE2_CAP_FLAGS_IME_SUPPORT (0x00000002) 1050#define MPI_IOCPAGE2_CAP_FLAGS_IM_SUPPORT (0x00000004) 1051#define MPI_IOCPAGE2_CAP_FLAGS_RAID_5_SUPPORT (0x00000008) 1052#define MPI_IOCPAGE2_CAP_FLAGS_RAID_6_SUPPORT (0x00000010) 1053#define MPI_IOCPAGE2_CAP_FLAGS_RAID_10_SUPPORT (0x00000020) 1054#define MPI_IOCPAGE2_CAP_FLAGS_RAID_50_SUPPORT (0x00000040) |
1055#define MPI_IOCPAGE2_CAP_FLAGS_RAID_64_BIT_ADDRESSING (0x10000000) |
|
908#define MPI_IOCPAGE2_CAP_FLAGS_SES_SUPPORT (0x20000000) 909#define MPI_IOCPAGE2_CAP_FLAGS_SAFTE_SUPPORT (0x40000000) 910#define MPI_IOCPAGE2_CAP_FLAGS_CROSS_CHANNEL_SUPPORT (0x80000000) 911 912 913typedef struct _IOC_3_PHYS_DISK 914{ 915 U8 PhysDiskID; /* 00h */ --- 81 unchanged lines hidden (view full) --- 997 U8 Reserved2; /* 09h */ 998 U16 Reserved3; /* 0Ah */ 999 IOC_5_HOT_SPARE HotSpare[MPI_IOC_PAGE_5_HOT_SPARE_MAX]; /* 0Ch */ 1000} CONFIG_PAGE_IOC_5, MPI_POINTER PTR_CONFIG_PAGE_IOC_5, 1001 IOCPage5_t, MPI_POINTER pIOCPage5_t; 1002 1003#define MPI_IOCPAGE5_PAGEVERSION (0x00) 1004 | 1056#define MPI_IOCPAGE2_CAP_FLAGS_SES_SUPPORT (0x20000000) 1057#define MPI_IOCPAGE2_CAP_FLAGS_SAFTE_SUPPORT (0x40000000) 1058#define MPI_IOCPAGE2_CAP_FLAGS_CROSS_CHANNEL_SUPPORT (0x80000000) 1059 1060 1061typedef struct _IOC_3_PHYS_DISK 1062{ 1063 U8 PhysDiskID; /* 00h */ --- 81 unchanged lines hidden (view full) --- 1145 U8 Reserved2; /* 09h */ 1146 U16 Reserved3; /* 0Ah */ 1147 IOC_5_HOT_SPARE HotSpare[MPI_IOC_PAGE_5_HOT_SPARE_MAX]; /* 0Ch */ 1148} CONFIG_PAGE_IOC_5, MPI_POINTER PTR_CONFIG_PAGE_IOC_5, 1149 IOCPage5_t, MPI_POINTER pIOCPage5_t; 1150 1151#define MPI_IOCPAGE5_PAGEVERSION (0x00) 1152 |
1153typedef struct _CONFIG_PAGE_IOC_6 1154{ 1155 CONFIG_PAGE_HEADER Header; /* 00h */ 1156 U32 CapabilitiesFlags; /* 04h */ 1157 U8 MaxDrivesIS; /* 08h */ 1158 U8 MaxDrivesIM; /* 09h */ 1159 U8 MaxDrivesIME; /* 0Ah */ 1160 U8 Reserved1; /* 0Bh */ 1161 U8 MinDrivesIS; /* 0Ch */ 1162 U8 MinDrivesIM; /* 0Dh */ 1163 U8 MinDrivesIME; /* 0Eh */ 1164 U8 Reserved2; /* 0Fh */ 1165 U8 MaxGlobalHotSpares; /* 10h */ 1166 U8 Reserved3; /* 11h */ 1167 U16 Reserved4; /* 12h */ 1168 U32 Reserved5; /* 14h */ 1169 U32 SupportedStripeSizeMapIS; /* 18h */ 1170 U32 SupportedStripeSizeMapIME; /* 1Ch */ 1171 U32 Reserved6; /* 20h */ 1172 U8 MetadataSize; /* 24h */ 1173 U8 Reserved7; /* 25h */ 1174 U16 Reserved8; /* 26h */ 1175 U16 MaxBadBlockTableEntries; /* 28h */ 1176 U16 Reserved9; /* 2Ah */ 1177 U16 IRNvsramUsage; /* 2Ch */ 1178 U16 Reserved10; /* 2Eh */ 1179 U32 IRNvsramVersion; /* 30h */ 1180 U32 Reserved11; /* 34h */ 1181 U32 Reserved12; /* 38h */ 1182} CONFIG_PAGE_IOC_6, MPI_POINTER PTR_CONFIG_PAGE_IOC_6, 1183 IOCPage6_t, MPI_POINTER pIOCPage6_t; |
|
1005 | 1184 |
1185#define MPI_IOCPAGE6_PAGEVERSION (0x01) 1186 1187/* IOC Page 6 Capabilities Flags */ 1188 1189#define MPI_IOCPAGE6_CAP_FLAGS_DISABLE_SMART_POLLING (0x00000008) 1190 1191#define MPI_IOCPAGE6_CAP_FLAGS_MASK_METADATA_SIZE (0x00000006) 1192#define MPI_IOCPAGE6_CAP_FLAGS_64MB_METADATA_SIZE (0x00000000) 1193#define MPI_IOCPAGE6_CAP_FLAGS_512MB_METADATA_SIZE (0x00000002) 1194 1195#define MPI_IOCPAGE6_CAP_FLAGS_GLOBAL_HOT_SPARE (0x00000001) 1196 1197 |
|
1006/**************************************************************************** 1007* BIOS Config Pages 1008****************************************************************************/ 1009 1010typedef struct _CONFIG_PAGE_BIOS_1 1011{ 1012 CONFIG_PAGE_HEADER Header; /* 00h */ 1013 U32 BiosOptions; /* 04h */ --- 47 unchanged lines hidden (view full) --- 1061#define MPI_BIOSPAGE1_IOCSET_NO_SUPPORT (0x00000000) 1062#define MPI_BIOSPAGE1_IOCSET_BIOS_SUPPORT (0x00000010) 1063#define MPI_BIOSPAGE1_IOCSET_OS_SUPPORT (0x00000020) 1064#define MPI_BIOSPAGE1_IOCSET_ALL_SUPPORT (0x00000030) 1065 1066#define MPI_BIOSPAGE1_IOCSET_ALTERNATE_CHS (0x00000008) 1067 1068/* values for the DeviceSettings field */ | 1198/**************************************************************************** 1199* BIOS Config Pages 1200****************************************************************************/ 1201 1202typedef struct _CONFIG_PAGE_BIOS_1 1203{ 1204 CONFIG_PAGE_HEADER Header; /* 00h */ 1205 U32 BiosOptions; /* 04h */ --- 47 unchanged lines hidden (view full) --- 1253#define MPI_BIOSPAGE1_IOCSET_NO_SUPPORT (0x00000000) 1254#define MPI_BIOSPAGE1_IOCSET_BIOS_SUPPORT (0x00000010) 1255#define MPI_BIOSPAGE1_IOCSET_OS_SUPPORT (0x00000020) 1256#define MPI_BIOSPAGE1_IOCSET_ALL_SUPPORT (0x00000030) 1257 1258#define MPI_BIOSPAGE1_IOCSET_ALTERNATE_CHS (0x00000008) 1259 1260/* values for the DeviceSettings field */ |
1261#define MPI_BIOSPAGE1_DEVSET_DISABLE_SMART_POLLING (0x00000010) |
|
1069#define MPI_BIOSPAGE1_DEVSET_DISABLE_SEQ_LUN (0x00000008) 1070#define MPI_BIOSPAGE1_DEVSET_DISABLE_RM_LUN (0x00000004) 1071#define MPI_BIOSPAGE1_DEVSET_DISABLE_NON_RM_LUN (0x00000002) 1072#define MPI_BIOSPAGE1_DEVSET_DISABLE_OTHER_LUN (0x00000001) 1073 1074/* defines for the ExpanderSpinup field */ 1075#define MPI_BIOSPAGE1_EXPSPINUP_MASK_MAX_TARGET (0xF0) 1076#define MPI_BIOSPAGE1_EXPSPINUP_SHIFT_MAX_TARGET (4) --- 163 unchanged lines hidden (view full) --- 1240 CONFIG_PAGE_HEADER Header; /* 00h */ 1241 U32 Reserved1; /* 04h */ 1242 U32 Reserved2; /* 08h */ 1243 U32 Reserved3; /* 0Ch */ 1244 U32 Reserved4; /* 10h */ 1245 U32 Reserved5; /* 14h */ 1246 U32 Reserved6; /* 18h */ 1247 U8 BootDeviceForm; /* 1Ch */ | 1262#define MPI_BIOSPAGE1_DEVSET_DISABLE_SEQ_LUN (0x00000008) 1263#define MPI_BIOSPAGE1_DEVSET_DISABLE_RM_LUN (0x00000004) 1264#define MPI_BIOSPAGE1_DEVSET_DISABLE_NON_RM_LUN (0x00000002) 1265#define MPI_BIOSPAGE1_DEVSET_DISABLE_OTHER_LUN (0x00000001) 1266 1267/* defines for the ExpanderSpinup field */ 1268#define MPI_BIOSPAGE1_EXPSPINUP_MASK_MAX_TARGET (0xF0) 1269#define MPI_BIOSPAGE1_EXPSPINUP_SHIFT_MAX_TARGET (4) --- 163 unchanged lines hidden (view full) --- 1433 CONFIG_PAGE_HEADER Header; /* 00h */ 1434 U32 Reserved1; /* 04h */ 1435 U32 Reserved2; /* 08h */ 1436 U32 Reserved3; /* 0Ch */ 1437 U32 Reserved4; /* 10h */ 1438 U32 Reserved5; /* 14h */ 1439 U32 Reserved6; /* 18h */ 1440 U8 BootDeviceForm; /* 1Ch */ |
1248 U8 Reserved7; /* 1Dh */ | 1441 U8 PrevBootDeviceForm; /* 1Ch */ |
1249 U16 Reserved8; /* 1Eh */ 1250 MPI_BIOSPAGE2_BOOT_DEVICE BootDevice; /* 20h */ 1251} CONFIG_PAGE_BIOS_2, MPI_POINTER PTR_CONFIG_PAGE_BIOS_2, 1252 BIOSPage2_t, MPI_POINTER pBIOSPage2_t; 1253 | 1442 U16 Reserved8; /* 1Eh */ 1443 MPI_BIOSPAGE2_BOOT_DEVICE BootDevice; /* 20h */ 1444} CONFIG_PAGE_BIOS_2, MPI_POINTER PTR_CONFIG_PAGE_BIOS_2, 1445 BIOSPage2_t, MPI_POINTER pBIOSPage2_t; 1446 |
1254#define MPI_BIOSPAGE2_PAGEVERSION (0x01) | 1447#define MPI_BIOSPAGE2_PAGEVERSION (0x02) |
1255 1256#define MPI_BIOSPAGE2_FORM_MASK (0x0F) 1257#define MPI_BIOSPAGE2_FORM_ADAPTER_ORDER (0x00) 1258#define MPI_BIOSPAGE2_FORM_ADAPTER_NUMBER (0x01) 1259#define MPI_BIOSPAGE2_FORM_PCI_ADDRESS (0x02) 1260#define MPI_BIOSPAGE2_FORM_PCI_SLOT_NUMBER (0x03) 1261#define MPI_BIOSPAGE2_FORM_FC_WWN (0x04) 1262#define MPI_BIOSPAGE2_FORM_SAS_WWN (0x05) --- 334 unchanged lines hidden (view full) --- 1597#define MPI_FCPORTPAGE0_PORTSTATE_ERROR (0x07) /*(SNIA)HBA_PORTSTATE_ERROR 7 Port Error */ 1598#define MPI_FCPORTPAGE0_PORTSTATE_LOOPBACK (0x08) /*(SNIA)HBA_PORTSTATE_LOOPBACK 8 Loopback */ 1599 1600#define MPI_FCPORTPAGE0_SUPPORT_CLASS_1 (0x00000001) 1601#define MPI_FCPORTPAGE0_SUPPORT_CLASS_2 (0x00000002) 1602#define MPI_FCPORTPAGE0_SUPPORT_CLASS_3 (0x00000004) 1603 1604#define MPI_FCPORTPAGE0_SUPPORT_SPEED_UKNOWN (0x00000000) /* (SNIA)HBA_PORTSPEED_UNKNOWN 0 Unknown - transceiver incapable of reporting */ | 1448 1449#define MPI_BIOSPAGE2_FORM_MASK (0x0F) 1450#define MPI_BIOSPAGE2_FORM_ADAPTER_ORDER (0x00) 1451#define MPI_BIOSPAGE2_FORM_ADAPTER_NUMBER (0x01) 1452#define MPI_BIOSPAGE2_FORM_PCI_ADDRESS (0x02) 1453#define MPI_BIOSPAGE2_FORM_PCI_SLOT_NUMBER (0x03) 1454#define MPI_BIOSPAGE2_FORM_FC_WWN (0x04) 1455#define MPI_BIOSPAGE2_FORM_SAS_WWN (0x05) --- 334 unchanged lines hidden (view full) --- 1790#define MPI_FCPORTPAGE0_PORTSTATE_ERROR (0x07) /*(SNIA)HBA_PORTSTATE_ERROR 7 Port Error */ 1791#define MPI_FCPORTPAGE0_PORTSTATE_LOOPBACK (0x08) /*(SNIA)HBA_PORTSTATE_LOOPBACK 8 Loopback */ 1792 1793#define MPI_FCPORTPAGE0_SUPPORT_CLASS_1 (0x00000001) 1794#define MPI_FCPORTPAGE0_SUPPORT_CLASS_2 (0x00000002) 1795#define MPI_FCPORTPAGE0_SUPPORT_CLASS_3 (0x00000004) 1796 1797#define MPI_FCPORTPAGE0_SUPPORT_SPEED_UKNOWN (0x00000000) /* (SNIA)HBA_PORTSPEED_UNKNOWN 0 Unknown - transceiver incapable of reporting */ |
1605#define MPI_FCPORTPAGE0_SUPPORT_1GBIT_SPEED (0x00000001) /* (SNIA)HBA_PORTSPEED_1GBIT 1 1 GBit/sec */ 1606#define MPI_FCPORTPAGE0_SUPPORT_2GBIT_SPEED (0x00000002) /* (SNIA)HBA_PORTSPEED_2GBIT 2 2 GBit/sec */ 1607#define MPI_FCPORTPAGE0_SUPPORT_10GBIT_SPEED (0x00000004) /* (SNIA)HBA_PORTSPEED_10GBIT 4 10 GBit/sec */ | 1798#define MPI_FCPORTPAGE0_SUPPORT_1GBIT_SPEED (0x00000001) /* (SNIA)HBA_PORTSPEED_1GBIT 1 1 GBit/sec */ 1799#define MPI_FCPORTPAGE0_SUPPORT_2GBIT_SPEED (0x00000002) /* (SNIA)HBA_PORTSPEED_2GBIT 2 2 GBit/sec */ 1800#define MPI_FCPORTPAGE0_SUPPORT_10GBIT_SPEED (0x00000004) /* (SNIA)HBA_PORTSPEED_10GBIT 4 10 GBit/sec */ |
1608#define MPI_FCPORTPAGE0_SUPPORT_4GBIT_SPEED (0x00000008) /* (SNIA)HBA_PORTSPEED_4GBIT 8 4 GBit/sec */ 1609 1610#define MPI_FCPORTPAGE0_CURRENT_SPEED_UKNOWN MPI_FCPORTPAGE0_SUPPORT_SPEED_UKNOWN 1611#define MPI_FCPORTPAGE0_CURRENT_SPEED_1GBIT MPI_FCPORTPAGE0_SUPPORT_1GBIT_SPEED 1612#define MPI_FCPORTPAGE0_CURRENT_SPEED_2GBIT MPI_FCPORTPAGE0_SUPPORT_2GBIT_SPEED 1613#define MPI_FCPORTPAGE0_CURRENT_SPEED_10GBIT MPI_FCPORTPAGE0_SUPPORT_10GBIT_SPEED 1614#define MPI_FCPORTPAGE0_CURRENT_SPEED_4GBIT MPI_FCPORTPAGE0_SUPPORT_4GBIT_SPEED 1615#define MPI_FCPORTPAGE0_CURRENT_SPEED_NOT_NEGOTIATED (0x00008000) /* (SNIA)HBA_PORTSPEED_NOT_NEGOTIATED (1<<15) Speed not established */ --- 455 unchanged lines hidden (view full) --- 2071 RaidVol0Settings, MPI_POINTER pRaidVol0Settings; 2072 2073/* RAID Volume Page 0 VolumeSettings defines */ 2074#define MPI_RAIDVOL0_SETTING_WRITE_CACHING_ENABLE (0x0001) 2075#define MPI_RAIDVOL0_SETTING_OFFLINE_ON_SMART (0x0002) 2076#define MPI_RAIDVOL0_SETTING_AUTO_CONFIGURE (0x0004) 2077#define MPI_RAIDVOL0_SETTING_PRIORITY_RESYNC (0x0008) 2078#define MPI_RAIDVOL0_SETTING_FAST_DATA_SCRUBBING_0102 (0x0020) /* obsolete */ | 1801#define MPI_FCPORTPAGE0_SUPPORT_4GBIT_SPEED (0x00000008) /* (SNIA)HBA_PORTSPEED_4GBIT 8 4 GBit/sec */ 1802 1803#define MPI_FCPORTPAGE0_CURRENT_SPEED_UKNOWN MPI_FCPORTPAGE0_SUPPORT_SPEED_UKNOWN 1804#define MPI_FCPORTPAGE0_CURRENT_SPEED_1GBIT MPI_FCPORTPAGE0_SUPPORT_1GBIT_SPEED 1805#define MPI_FCPORTPAGE0_CURRENT_SPEED_2GBIT MPI_FCPORTPAGE0_SUPPORT_2GBIT_SPEED 1806#define MPI_FCPORTPAGE0_CURRENT_SPEED_10GBIT MPI_FCPORTPAGE0_SUPPORT_10GBIT_SPEED 1807#define MPI_FCPORTPAGE0_CURRENT_SPEED_4GBIT MPI_FCPORTPAGE0_SUPPORT_4GBIT_SPEED 1808#define MPI_FCPORTPAGE0_CURRENT_SPEED_NOT_NEGOTIATED (0x00008000) /* (SNIA)HBA_PORTSPEED_NOT_NEGOTIATED (1<<15) Speed not established */ --- 455 unchanged lines hidden (view full) --- 2264 RaidVol0Settings, MPI_POINTER pRaidVol0Settings; 2265 2266/* RAID Volume Page 0 VolumeSettings defines */ 2267#define MPI_RAIDVOL0_SETTING_WRITE_CACHING_ENABLE (0x0001) 2268#define MPI_RAIDVOL0_SETTING_OFFLINE_ON_SMART (0x0002) 2269#define MPI_RAIDVOL0_SETTING_AUTO_CONFIGURE (0x0004) 2270#define MPI_RAIDVOL0_SETTING_PRIORITY_RESYNC (0x0008) 2271#define MPI_RAIDVOL0_SETTING_FAST_DATA_SCRUBBING_0102 (0x0020) /* obsolete */ |
2272 2273#define MPI_RAIDVOL0_SETTING_MASK_METADATA_SIZE (0x00C0) 2274#define MPI_RAIDVOL0_SETTING_64MB_METADATA_SIZE (0x0000) 2275#define MPI_RAIDVOL0_SETTING_512MB_METADATA_SIZE (0x0040) 2276 |
|
2079#define MPI_RAIDVOL0_SETTING_USE_PRODUCT_ID_SUFFIX (0x0010) 2080#define MPI_RAIDVOL0_SETTING_USE_DEFAULTS (0x8000) 2081 2082/* RAID Volume Page 0 HotSparePool defines, also used in RAID Physical Disk */ 2083#define MPI_RAID_HOT_SPARE_POOL_0 (0x01) 2084#define MPI_RAID_HOT_SPARE_POOL_1 (0x02) 2085#define MPI_RAID_HOT_SPARE_POOL_2 (0x04) 2086#define MPI_RAID_HOT_SPARE_POOL_3 (0x08) --- 15 unchanged lines hidden (view full) --- 2102 CONFIG_PAGE_HEADER Header; /* 00h */ 2103 U8 VolumeID; /* 04h */ 2104 U8 VolumeBus; /* 05h */ 2105 U8 VolumeIOC; /* 06h */ 2106 U8 VolumeType; /* 07h */ /* MPI_RAID_VOL_TYPE_ */ 2107 RAID_VOL0_STATUS VolumeStatus; /* 08h */ 2108 RAID_VOL0_SETTINGS VolumeSettings; /* 0Ch */ 2109 U32 MaxLBA; /* 10h */ | 2277#define MPI_RAIDVOL0_SETTING_USE_PRODUCT_ID_SUFFIX (0x0010) 2278#define MPI_RAIDVOL0_SETTING_USE_DEFAULTS (0x8000) 2279 2280/* RAID Volume Page 0 HotSparePool defines, also used in RAID Physical Disk */ 2281#define MPI_RAID_HOT_SPARE_POOL_0 (0x01) 2282#define MPI_RAID_HOT_SPARE_POOL_1 (0x02) 2283#define MPI_RAID_HOT_SPARE_POOL_2 (0x04) 2284#define MPI_RAID_HOT_SPARE_POOL_3 (0x08) --- 15 unchanged lines hidden (view full) --- 2300 CONFIG_PAGE_HEADER Header; /* 00h */ 2301 U8 VolumeID; /* 04h */ 2302 U8 VolumeBus; /* 05h */ 2303 U8 VolumeIOC; /* 06h */ 2304 U8 VolumeType; /* 07h */ /* MPI_RAID_VOL_TYPE_ */ 2305 RAID_VOL0_STATUS VolumeStatus; /* 08h */ 2306 RAID_VOL0_SETTINGS VolumeSettings; /* 0Ch */ 2307 U32 MaxLBA; /* 10h */ |
2110 U32 Reserved1; /* 14h */ | 2308 U32 MaxLBAHigh; /* 14h */ |
2111 U32 StripeSize; /* 18h */ 2112 U32 Reserved2; /* 1Ch */ 2113 U32 Reserved3; /* 20h */ 2114 U8 NumPhysDisks; /* 24h */ 2115 U8 DataScrubRate; /* 25h */ 2116 U8 ResyncRate; /* 26h */ 2117 U8 InactiveStatus; /* 27h */ 2118 RAID_VOL0_PHYS_DISK PhysDisk[MPI_RAID_VOL_PAGE_0_PHYSDISK_MAX];/* 28h */ 2119} CONFIG_PAGE_RAID_VOL_0, MPI_POINTER PTR_CONFIG_PAGE_RAID_VOL_0, 2120 RaidVolumePage0_t, MPI_POINTER pRaidVolumePage0_t; 2121 | 2309 U32 StripeSize; /* 18h */ 2310 U32 Reserved2; /* 1Ch */ 2311 U32 Reserved3; /* 20h */ 2312 U8 NumPhysDisks; /* 24h */ 2313 U8 DataScrubRate; /* 25h */ 2314 U8 ResyncRate; /* 26h */ 2315 U8 InactiveStatus; /* 27h */ 2316 RAID_VOL0_PHYS_DISK PhysDisk[MPI_RAID_VOL_PAGE_0_PHYSDISK_MAX];/* 28h */ 2317} CONFIG_PAGE_RAID_VOL_0, MPI_POINTER PTR_CONFIG_PAGE_RAID_VOL_0, 2318 RaidVolumePage0_t, MPI_POINTER pRaidVolumePage0_t; 2319 |
2122#define MPI_RAIDVOLPAGE0_PAGEVERSION (0x05) | 2320#define MPI_RAIDVOLPAGE0_PAGEVERSION (0x07) |
2123 2124/* values for RAID Volume Page 0 InactiveStatus field */ 2125#define MPI_RAIDVOLPAGE0_UNKNOWN_INACTIVE (0x00) 2126#define MPI_RAIDVOLPAGE0_STALE_METADATA_INACTIVE (0x01) 2127#define MPI_RAIDVOLPAGE0_FOREIGN_VOLUME_INACTIVE (0x02) 2128#define MPI_RAIDVOLPAGE0_INSUFFICIENT_RESOURCE_INACTIVE (0x03) 2129#define MPI_RAIDVOLPAGE0_CLONE_VOLUME_INACTIVE (0x04) 2130#define MPI_RAIDVOLPAGE0_INSUFFICIENT_METADATA_INACTIVE (0x05) 2131#define MPI_RAIDVOLPAGE0_PREVIOUSLY_DELETED (0x06) 2132 2133 2134typedef struct _CONFIG_PAGE_RAID_VOL_1 2135{ 2136 CONFIG_PAGE_HEADER Header; /* 00h */ | 2321 2322/* values for RAID Volume Page 0 InactiveStatus field */ 2323#define MPI_RAIDVOLPAGE0_UNKNOWN_INACTIVE (0x00) 2324#define MPI_RAIDVOLPAGE0_STALE_METADATA_INACTIVE (0x01) 2325#define MPI_RAIDVOLPAGE0_FOREIGN_VOLUME_INACTIVE (0x02) 2326#define MPI_RAIDVOLPAGE0_INSUFFICIENT_RESOURCE_INACTIVE (0x03) 2327#define MPI_RAIDVOLPAGE0_CLONE_VOLUME_INACTIVE (0x04) 2328#define MPI_RAIDVOLPAGE0_INSUFFICIENT_METADATA_INACTIVE (0x05) 2329#define MPI_RAIDVOLPAGE0_PREVIOUSLY_DELETED (0x06) 2330 2331 2332typedef struct _CONFIG_PAGE_RAID_VOL_1 2333{ 2334 CONFIG_PAGE_HEADER Header; /* 00h */ |
2137 U8 VolumeID; /* 01h */ 2138 U8 VolumeBus; /* 02h */ 2139 U8 VolumeIOC; /* 03h */ 2140 U8 Reserved0; /* 04h */ 2141 U8 GUID[24]; /* 05h */ | 2335 U8 VolumeID; /* 04h */ 2336 U8 VolumeBus; /* 05h */ 2337 U8 VolumeIOC; /* 06h */ 2338 U8 Reserved0; /* 07h */ 2339 U8 GUID[24]; /* 08h */ |
2142 U8 Name[32]; /* 20h */ 2143 U64 WWID; /* 40h */ 2144 U32 Reserved1; /* 48h */ 2145 U32 Reserved2; /* 4Ch */ 2146} CONFIG_PAGE_RAID_VOL_1, MPI_POINTER PTR_CONFIG_PAGE_RAID_VOL_1, 2147 RaidVolumePage1_t, MPI_POINTER pRaidVolumePage1_t; 2148 2149#define MPI_RAIDVOLPAGE1_PAGEVERSION (0x01) --- 38 unchanged lines hidden (view full) --- 2188typedef struct _RAID_PHYS_DISK0_STATUS 2189{ 2190 U8 Flags; /* 00h */ 2191 U8 State; /* 01h */ 2192 U16 Reserved; /* 02h */ 2193} RAID_PHYS_DISK0_STATUS, MPI_POINTER PTR_RAID_PHYS_DISK0_STATUS, 2194 RaidPhysDiskStatus_t, MPI_POINTER pRaidPhysDiskStatus_t; 2195 | 2340 U8 Name[32]; /* 20h */ 2341 U64 WWID; /* 40h */ 2342 U32 Reserved1; /* 48h */ 2343 U32 Reserved2; /* 4Ch */ 2344} CONFIG_PAGE_RAID_VOL_1, MPI_POINTER PTR_CONFIG_PAGE_RAID_VOL_1, 2345 RaidVolumePage1_t, MPI_POINTER pRaidVolumePage1_t; 2346 2347#define MPI_RAIDVOLPAGE1_PAGEVERSION (0x01) --- 38 unchanged lines hidden (view full) --- 2386typedef struct _RAID_PHYS_DISK0_STATUS 2387{ 2388 U8 Flags; /* 00h */ 2389 U8 State; /* 01h */ 2390 U16 Reserved; /* 02h */ 2391} RAID_PHYS_DISK0_STATUS, MPI_POINTER PTR_RAID_PHYS_DISK0_STATUS, 2392 RaidPhysDiskStatus_t, MPI_POINTER pRaidPhysDiskStatus_t; 2393 |
2196/* RAID Volume 2 IM Physical Disk DiskStatus flags */ | 2394/* RAID Physical Disk PhysDiskStatus flags */ |
2197 2198#define MPI_PHYSDISK0_STATUS_FLAG_OUT_OF_SYNC (0x01) 2199#define MPI_PHYSDISK0_STATUS_FLAG_QUIESCED (0x02) 2200#define MPI_PHYSDISK0_STATUS_FLAG_INACTIVE_VOLUME (0x04) 2201#define MPI_PHYSDISK0_STATUS_FLAG_OPTIMAL_PREVIOUS (0x00) 2202#define MPI_PHYSDISK0_STATUS_FLAG_NOT_OPTIMAL_PREVIOUS (0x08) 2203 2204#define MPI_PHYSDISK0_STATUS_ONLINE (0x00) --- 141 unchanged lines hidden (view full) --- 2346 */ 2347#ifndef MPI_SAS_IOUNIT0_PHY_MAX 2348#define MPI_SAS_IOUNIT0_PHY_MAX (1) 2349#endif 2350 2351typedef struct _CONFIG_PAGE_SAS_IO_UNIT_0 2352{ 2353 CONFIG_EXTENDED_PAGE_HEADER Header; /* 00h */ | 2395 2396#define MPI_PHYSDISK0_STATUS_FLAG_OUT_OF_SYNC (0x01) 2397#define MPI_PHYSDISK0_STATUS_FLAG_QUIESCED (0x02) 2398#define MPI_PHYSDISK0_STATUS_FLAG_INACTIVE_VOLUME (0x04) 2399#define MPI_PHYSDISK0_STATUS_FLAG_OPTIMAL_PREVIOUS (0x00) 2400#define MPI_PHYSDISK0_STATUS_FLAG_NOT_OPTIMAL_PREVIOUS (0x08) 2401 2402#define MPI_PHYSDISK0_STATUS_ONLINE (0x00) --- 141 unchanged lines hidden (view full) --- 2544 */ 2545#ifndef MPI_SAS_IOUNIT0_PHY_MAX 2546#define MPI_SAS_IOUNIT0_PHY_MAX (1) 2547#endif 2548 2549typedef struct _CONFIG_PAGE_SAS_IO_UNIT_0 2550{ 2551 CONFIG_EXTENDED_PAGE_HEADER Header; /* 00h */ |
2354 U32 Reserved1; /* 08h */ | 2552 U16 NvdataVersionDefault; /* 08h */ 2553 U16 NvdataVersionPersistent; /* 0Ah */ |
2355 U8 NumPhys; /* 0Ch */ 2356 U8 Reserved2; /* 0Dh */ 2357 U16 Reserved3; /* 0Eh */ 2358 MPI_SAS_IO_UNIT0_PHY_DATA PhyData[MPI_SAS_IOUNIT0_PHY_MAX]; /* 10h */ 2359} CONFIG_PAGE_SAS_IO_UNIT_0, MPI_POINTER PTR_CONFIG_PAGE_SAS_IO_UNIT_0, 2360 SasIOUnitPage0_t, MPI_POINTER pSasIOUnitPage0_t; 2361 | 2554 U8 NumPhys; /* 0Ch */ 2555 U8 Reserved2; /* 0Dh */ 2556 U16 Reserved3; /* 0Eh */ 2557 MPI_SAS_IO_UNIT0_PHY_DATA PhyData[MPI_SAS_IOUNIT0_PHY_MAX]; /* 10h */ 2558} CONFIG_PAGE_SAS_IO_UNIT_0, MPI_POINTER PTR_CONFIG_PAGE_SAS_IO_UNIT_0, 2559 SasIOUnitPage0_t, MPI_POINTER pSasIOUnitPage0_t; 2560 |
2362#define MPI_SASIOUNITPAGE0_PAGEVERSION (0x03) | 2561#define MPI_SASIOUNITPAGE0_PAGEVERSION (0x04) |
2363 2364/* values for SAS IO Unit Page 0 PortFlags */ 2365#define MPI_SAS_IOUNIT0_PORT_FLAGS_DISCOVERY_IN_PROGRESS (0x08) 2366#define MPI_SAS_IOUNIT0_PORT_FLAGS_0_TARGET_IOC_NUM (0x00) 2367#define MPI_SAS_IOUNIT0_PORT_FLAGS_1_TARGET_IOC_NUM (0x04) 2368#define MPI_SAS_IOUNIT0_PORT_FLAGS_AUTO_PORT_CONFIG (0x01) 2369 2370/* values for SAS IO Unit Page 0 PhyFlags */ --- 20 unchanged lines hidden (view full) --- 2391#define MPI_SAS_IOUNIT0_DS_OUT_ROUTE_ENTRIES (0x00000020) 2392#define MPI_SAS_IOUNIT0_DS_INDEX_NOT_EXIST (0x00000040) 2393#define MPI_SAS_IOUNIT0_DS_SMP_FUNCTION_FAILED (0x00000080) 2394#define MPI_SAS_IOUNIT0_DS_SMP_CRC_ERROR (0x00000100) 2395#define MPI_SAS_IOUNIT0_DS_SUBTRACTIVE_LINK (0x00000200) 2396#define MPI_SAS_IOUNIT0_DS_TABLE_LINK (0x00000400) 2397#define MPI_SAS_IOUNIT0_DS_UNSUPPORTED_DEVICE (0x00000800) 2398#define MPI_SAS_IOUNIT0_DS_MAX_SATA_TARGETS (0x00001000) | 2562 2563/* values for SAS IO Unit Page 0 PortFlags */ 2564#define MPI_SAS_IOUNIT0_PORT_FLAGS_DISCOVERY_IN_PROGRESS (0x08) 2565#define MPI_SAS_IOUNIT0_PORT_FLAGS_0_TARGET_IOC_NUM (0x00) 2566#define MPI_SAS_IOUNIT0_PORT_FLAGS_1_TARGET_IOC_NUM (0x04) 2567#define MPI_SAS_IOUNIT0_PORT_FLAGS_AUTO_PORT_CONFIG (0x01) 2568 2569/* values for SAS IO Unit Page 0 PhyFlags */ --- 20 unchanged lines hidden (view full) --- 2590#define MPI_SAS_IOUNIT0_DS_OUT_ROUTE_ENTRIES (0x00000020) 2591#define MPI_SAS_IOUNIT0_DS_INDEX_NOT_EXIST (0x00000040) 2592#define MPI_SAS_IOUNIT0_DS_SMP_FUNCTION_FAILED (0x00000080) 2593#define MPI_SAS_IOUNIT0_DS_SMP_CRC_ERROR (0x00000100) 2594#define MPI_SAS_IOUNIT0_DS_SUBTRACTIVE_LINK (0x00000200) 2595#define MPI_SAS_IOUNIT0_DS_TABLE_LINK (0x00000400) 2596#define MPI_SAS_IOUNIT0_DS_UNSUPPORTED_DEVICE (0x00000800) 2597#define MPI_SAS_IOUNIT0_DS_MAX_SATA_TARGETS (0x00001000) |
2598#define MPI_SAS_IOUNIT0_DS_MULTI_PORT_DOMAIN (0x00002000) |
|
2399 2400 2401typedef struct _MPI_SAS_IO_UNIT1_PHY_DATA 2402{ | 2599 2600 2601typedef struct _MPI_SAS_IO_UNIT1_PHY_DATA 2602{ |
2403 U8 Port; /* 00h */ 2404 U8 PortFlags; /* 01h */ 2405 U8 PhyFlags; /* 02h */ 2406 U8 MaxMinLinkRate; /* 03h */ 2407 U32 ControllerPhyDeviceInfo;/* 04h */ 2408 U32 Reserved1; /* 08h */ | 2603 U8 Port; /* 00h */ 2604 U8 PortFlags; /* 01h */ 2605 U8 PhyFlags; /* 02h */ 2606 U8 MaxMinLinkRate; /* 03h */ 2607 U32 ControllerPhyDeviceInfo; /* 04h */ 2608 U16 MaxTargetPortConnectTime; /* 08h */ 2609 U16 Reserved1; /* 0Ah */ |
2409} MPI_SAS_IO_UNIT1_PHY_DATA, MPI_POINTER PTR_MPI_SAS_IO_UNIT1_PHY_DATA, 2410 SasIOUnit1PhyData, MPI_POINTER pSasIOUnit1PhyData; 2411 2412/* 2413 * Host code (drivers, BIOS, utilities, etc.) should leave this define set to 2414 * one and check Header.PageLength at runtime. 2415 */ 2416#ifndef MPI_SAS_IOUNIT1_PHY_MAX 2417#define MPI_SAS_IOUNIT1_PHY_MAX (1) 2418#endif 2419 2420typedef struct _CONFIG_PAGE_SAS_IO_UNIT_1 2421{ 2422 CONFIG_EXTENDED_PAGE_HEADER Header; /* 00h */ 2423 U16 ControlFlags; /* 08h */ 2424 U16 MaxNumSATATargets; /* 0Ah */ | 2610} MPI_SAS_IO_UNIT1_PHY_DATA, MPI_POINTER PTR_MPI_SAS_IO_UNIT1_PHY_DATA, 2611 SasIOUnit1PhyData, MPI_POINTER pSasIOUnit1PhyData; 2612 2613/* 2614 * Host code (drivers, BIOS, utilities, etc.) should leave this define set to 2615 * one and check Header.PageLength at runtime. 2616 */ 2617#ifndef MPI_SAS_IOUNIT1_PHY_MAX 2618#define MPI_SAS_IOUNIT1_PHY_MAX (1) 2619#endif 2620 2621typedef struct _CONFIG_PAGE_SAS_IO_UNIT_1 2622{ 2623 CONFIG_EXTENDED_PAGE_HEADER Header; /* 00h */ 2624 U16 ControlFlags; /* 08h */ 2625 U16 MaxNumSATATargets; /* 0Ah */ |
2425 U32 Reserved1; /* 0Ch */ | 2626 U16 AdditionalControlFlags; /* 0Ch */ 2627 U16 Reserved1; /* 0Eh */ |
2426 U8 NumPhys; /* 10h */ 2427 U8 SATAMaxQDepth; /* 11h */ | 2628 U8 NumPhys; /* 10h */ 2629 U8 SATAMaxQDepth; /* 11h */ |
2428 U16 Reserved2; /* 12h */ | 2630 U8 ReportDeviceMissingDelay; /* 12h */ 2631 U8 IODeviceMissingDelay; /* 13h */ |
2429 MPI_SAS_IO_UNIT1_PHY_DATA PhyData[MPI_SAS_IOUNIT1_PHY_MAX]; /* 14h */ 2430} CONFIG_PAGE_SAS_IO_UNIT_1, MPI_POINTER PTR_CONFIG_PAGE_SAS_IO_UNIT_1, 2431 SasIOUnitPage1_t, MPI_POINTER pSasIOUnitPage1_t; 2432 | 2632 MPI_SAS_IO_UNIT1_PHY_DATA PhyData[MPI_SAS_IOUNIT1_PHY_MAX]; /* 14h */ 2633} CONFIG_PAGE_SAS_IO_UNIT_1, MPI_POINTER PTR_CONFIG_PAGE_SAS_IO_UNIT_1, 2634 SasIOUnitPage1_t, MPI_POINTER pSasIOUnitPage1_t; 2635 |
2433#define MPI_SASIOUNITPAGE1_PAGEVERSION (0x05) | 2636#define MPI_SASIOUNITPAGE1_PAGEVERSION (0x07) |
2434 2435/* values for SAS IO Unit Page 1 ControlFlags */ 2436#define MPI_SAS_IOUNIT1_CONTROL_DEVICE_SELF_TEST (0x8000) 2437#define MPI_SAS_IOUNIT1_CONTROL_SATA_3_0_MAX (0x4000) 2438#define MPI_SAS_IOUNIT1_CONTROL_SATA_1_5_MAX (0x2000) 2439#define MPI_SAS_IOUNIT1_CONTROL_SATA_SW_PRESERVE (0x1000) 2440#define MPI_SAS_IOUNIT1_CONTROL_DISABLE_SAS_HASH (0x0800) 2441 --- 8 unchanged lines hidden (view full) --- 2450#define MPI_SAS_IOUNIT1_CONTROL_SATA_SMART_REQUIRED (0x0040) 2451#define MPI_SAS_IOUNIT1_CONTROL_SATA_NCQ_REQUIRED (0x0020) 2452#define MPI_SAS_IOUNIT1_CONTROL_SATA_FUA_REQUIRED (0x0010) 2453#define MPI_SAS_IOUNIT1_CONTROL_PHY_ENABLE_ORDER_HIGH (0x0008) 2454#define MPI_SAS_IOUNIT1_CONTROL_SUBTRACTIVE_ILLEGAL (0x0004) 2455#define MPI_SAS_IOUNIT1_CONTROL_FIRST_LVL_DISC_ONLY (0x0002) 2456#define MPI_SAS_IOUNIT1_CONTROL_CLEAR_AFFILIATION (0x0001) 2457 | 2637 2638/* values for SAS IO Unit Page 1 ControlFlags */ 2639#define MPI_SAS_IOUNIT1_CONTROL_DEVICE_SELF_TEST (0x8000) 2640#define MPI_SAS_IOUNIT1_CONTROL_SATA_3_0_MAX (0x4000) 2641#define MPI_SAS_IOUNIT1_CONTROL_SATA_1_5_MAX (0x2000) 2642#define MPI_SAS_IOUNIT1_CONTROL_SATA_SW_PRESERVE (0x1000) 2643#define MPI_SAS_IOUNIT1_CONTROL_DISABLE_SAS_HASH (0x0800) 2644 --- 8 unchanged lines hidden (view full) --- 2653#define MPI_SAS_IOUNIT1_CONTROL_SATA_SMART_REQUIRED (0x0040) 2654#define MPI_SAS_IOUNIT1_CONTROL_SATA_NCQ_REQUIRED (0x0020) 2655#define MPI_SAS_IOUNIT1_CONTROL_SATA_FUA_REQUIRED (0x0010) 2656#define MPI_SAS_IOUNIT1_CONTROL_PHY_ENABLE_ORDER_HIGH (0x0008) 2657#define MPI_SAS_IOUNIT1_CONTROL_SUBTRACTIVE_ILLEGAL (0x0004) 2658#define MPI_SAS_IOUNIT1_CONTROL_FIRST_LVL_DISC_ONLY (0x0002) 2659#define MPI_SAS_IOUNIT1_CONTROL_CLEAR_AFFILIATION (0x0001) 2660 |
2661/* values for SAS IO Unit Page 1 AdditionalControlFlags */ 2662#define MPI_SAS_IOUNIT1_ACONTROL_MULTI_PORT_DOMAIN_ILLEGAL (0x0080) 2663#define MPI_SAS_IOUNIT1_ACONTROL_SATA_ASYNCHROUNOUS_NOTIFICATION (0x0040) 2664#define MPI_SAS_IOUNIT1_ACONTROL_HIDE_NONZERO_ATTACHED_PHY_IDENT (0x0020) 2665#define MPI_SAS_IOUNIT1_ACONTROL_PORT_ENABLE_ONLY_SATA_LINK_RESET (0x0010) 2666#define MPI_SAS_IOUNIT1_ACONTROL_OTHER_AFFILIATION_SATA_LINK_RESET (0x0008) 2667#define MPI_SAS_IOUNIT1_ACONTROL_SELF_AFFILIATION_SATA_LINK_RESET (0x0004) 2668#define MPI_SAS_IOUNIT1_ACONTROL_NO_AFFILIATION_SATA_LINK_RESET (0x0002) 2669#define MPI_SAS_IOUNIT1_ACONTROL_ALLOW_TABLE_TO_TABLE (0x0001) 2670 2671/* defines for SAS IO Unit Page 1 ReportDeviceMissingDelay */ 2672#define MPI_SAS_IOUNIT1_REPORT_MISSING_TIMEOUT_MASK (0x7F) 2673#define MPI_SAS_IOUNIT1_REPORT_MISSING_UNIT_16 (0x80) 2674 |
|
2458/* values for SAS IO Unit Page 1 PortFlags */ 2459#define MPI_SAS_IOUNIT1_PORT_FLAGS_0_TARGET_IOC_NUM (0x00) 2460#define MPI_SAS_IOUNIT1_PORT_FLAGS_1_TARGET_IOC_NUM (0x04) 2461#define MPI_SAS_IOUNIT1_PORT_FLAGS_AUTO_PORT_CONFIG (0x01) 2462 2463/* values for SAS IO Unit Page 0 PhyFlags */ 2464#define MPI_SAS_IOUNIT1_PHY_FLAGS_PHY_DISABLE (0x04) 2465#define MPI_SAS_IOUNIT1_PHY_FLAGS_TX_INVERT (0x02) --- 19 unchanged lines hidden (view full) --- 2485 U16 MaxPersistentIDs; /* 0Ch */ 2486 U16 NumPersistentIDsUsed; /* 0Eh */ 2487 U8 Status; /* 10h */ 2488 U8 Flags; /* 11h */ 2489 U16 MaxNumPhysicalMappedIDs;/* 12h */ 2490} CONFIG_PAGE_SAS_IO_UNIT_2, MPI_POINTER PTR_CONFIG_PAGE_SAS_IO_UNIT_2, 2491 SasIOUnitPage2_t, MPI_POINTER pSasIOUnitPage2_t; 2492 | 2675/* values for SAS IO Unit Page 1 PortFlags */ 2676#define MPI_SAS_IOUNIT1_PORT_FLAGS_0_TARGET_IOC_NUM (0x00) 2677#define MPI_SAS_IOUNIT1_PORT_FLAGS_1_TARGET_IOC_NUM (0x04) 2678#define MPI_SAS_IOUNIT1_PORT_FLAGS_AUTO_PORT_CONFIG (0x01) 2679 2680/* values for SAS IO Unit Page 0 PhyFlags */ 2681#define MPI_SAS_IOUNIT1_PHY_FLAGS_PHY_DISABLE (0x04) 2682#define MPI_SAS_IOUNIT1_PHY_FLAGS_TX_INVERT (0x02) --- 19 unchanged lines hidden (view full) --- 2702 U16 MaxPersistentIDs; /* 0Ch */ 2703 U16 NumPersistentIDsUsed; /* 0Eh */ 2704 U8 Status; /* 10h */ 2705 U8 Flags; /* 11h */ 2706 U16 MaxNumPhysicalMappedIDs;/* 12h */ 2707} CONFIG_PAGE_SAS_IO_UNIT_2, MPI_POINTER PTR_CONFIG_PAGE_SAS_IO_UNIT_2, 2708 SasIOUnitPage2_t, MPI_POINTER pSasIOUnitPage2_t; 2709 |
2493#define MPI_SASIOUNITPAGE2_PAGEVERSION (0x05) | 2710#define MPI_SASIOUNITPAGE2_PAGEVERSION (0x06) |
2494 2495/* values for SAS IO Unit Page 2 Status field */ | 2711 2712/* values for SAS IO Unit Page 2 Status field */ |
2713#define MPI_SAS_IOUNIT2_STATUS_DEVICE_LIMIT_EXCEEDED (0x08) 2714#define MPI_SAS_IOUNIT2_STATUS_ENCLOSURE_DEVICES_UNMAPPED (0x04) |
|
2496#define MPI_SAS_IOUNIT2_STATUS_DISABLED_PERSISTENT_MAPPINGS (0x02) 2497#define MPI_SAS_IOUNIT2_STATUS_FULL_PERSISTENT_MAPPINGS (0x01) 2498 2499/* values for SAS IO Unit Page 2 Flags field */ 2500#define MPI_SAS_IOUNIT2_FLAGS_DISABLE_PERSISTENT_MAPPINGS (0x01) 2501/* Physical Mapping Modes */ 2502#define MPI_SAS_IOUNIT2_FLAGS_MASK_PHYS_MAP_MODE (0x0E) 2503#define MPI_SAS_IOUNIT2_FLAGS_SHIFT_PHYS_MAP_MODE (1) --- 59 unchanged lines hidden (view full) --- 2563#define MPI_SAS_EXPANDER0_DS_INDEX_NOT_EXIST (0x00000040) 2564#define MPI_SAS_EXPANDER0_DS_SMP_FUNCTION_FAILED (0x00000080) 2565#define MPI_SAS_EXPANDER0_DS_SMP_CRC_ERROR (0x00000100) 2566#define MPI_SAS_EXPANDER0_DS_SUBTRACTIVE_LINK (0x00000200) 2567#define MPI_SAS_EXPANDER0_DS_TABLE_LINK (0x00000400) 2568#define MPI_SAS_EXPANDER0_DS_UNSUPPORTED_DEVICE (0x00000800) 2569 2570/* values for SAS Expander Page 0 Flags field */ | 2715#define MPI_SAS_IOUNIT2_STATUS_DISABLED_PERSISTENT_MAPPINGS (0x02) 2716#define MPI_SAS_IOUNIT2_STATUS_FULL_PERSISTENT_MAPPINGS (0x01) 2717 2718/* values for SAS IO Unit Page 2 Flags field */ 2719#define MPI_SAS_IOUNIT2_FLAGS_DISABLE_PERSISTENT_MAPPINGS (0x01) 2720/* Physical Mapping Modes */ 2721#define MPI_SAS_IOUNIT2_FLAGS_MASK_PHYS_MAP_MODE (0x0E) 2722#define MPI_SAS_IOUNIT2_FLAGS_SHIFT_PHYS_MAP_MODE (1) --- 59 unchanged lines hidden (view full) --- 2782#define MPI_SAS_EXPANDER0_DS_INDEX_NOT_EXIST (0x00000040) 2783#define MPI_SAS_EXPANDER0_DS_SMP_FUNCTION_FAILED (0x00000080) 2784#define MPI_SAS_EXPANDER0_DS_SMP_CRC_ERROR (0x00000100) 2785#define MPI_SAS_EXPANDER0_DS_SUBTRACTIVE_LINK (0x00000200) 2786#define MPI_SAS_EXPANDER0_DS_TABLE_LINK (0x00000400) 2787#define MPI_SAS_EXPANDER0_DS_UNSUPPORTED_DEVICE (0x00000800) 2788 2789/* values for SAS Expander Page 0 Flags field */ |
2790#define MPI_SAS_EXPANDER0_FLAGS_CONNECTOR_END_DEVICE (0x04) |
|
2571#define MPI_SAS_EXPANDER0_FLAGS_ROUTE_TABLE_CONFIG (0x02) 2572#define MPI_SAS_EXPANDER0_FLAGS_CONFIG_IN_PROGRESS (0x01) 2573 2574 2575typedef struct _CONFIG_PAGE_SAS_EXPANDER_1 2576{ 2577 CONFIG_EXTENDED_PAGE_HEADER Header; /* 00h */ 2578 U8 PhysicalPort; /* 08h */ --- 24 unchanged lines hidden (view full) --- 2603 2604/* use MPI_SAS_PHY0_HWRATE_ defines for HwLinkRate */ 2605 2606/* use MPI_SAS_PHY0_PHYINFO_ defines for PhyInfo */ 2607 2608/* see mpi_sas.h for values for SAS Expander Page 1 AttachedDeviceInfo values */ 2609 2610/* values for SAS Expander Page 1 DiscoveryInfo field */ | 2791#define MPI_SAS_EXPANDER0_FLAGS_ROUTE_TABLE_CONFIG (0x02) 2792#define MPI_SAS_EXPANDER0_FLAGS_CONFIG_IN_PROGRESS (0x01) 2793 2794 2795typedef struct _CONFIG_PAGE_SAS_EXPANDER_1 2796{ 2797 CONFIG_EXTENDED_PAGE_HEADER Header; /* 00h */ 2798 U8 PhysicalPort; /* 08h */ --- 24 unchanged lines hidden (view full) --- 2823 2824/* use MPI_SAS_PHY0_HWRATE_ defines for HwLinkRate */ 2825 2826/* use MPI_SAS_PHY0_PHYINFO_ defines for PhyInfo */ 2827 2828/* see mpi_sas.h for values for SAS Expander Page 1 AttachedDeviceInfo values */ 2829 2830/* values for SAS Expander Page 1 DiscoveryInfo field */ |
2611#define MPI_SAS_EXPANDER1_DISCINFO_BAD_PHY DISABLED (0x04) | 2831#define MPI_SAS_EXPANDER1_DISCINFO_BAD_PHY_DISABLED (0x04) |
2612#define MPI_SAS_EXPANDER1_DISCINFO_LINK_STATUS_CHANGE (0x02) 2613#define MPI_SAS_EXPANDER1_DISCINFO_NO_ROUTING_ENTRIES (0x01) 2614 2615/* values for SAS Expander Page 1 NegotiatedLinkRate field */ 2616#define MPI_SAS_EXPANDER1_NEG_RATE_UNKNOWN (0x00) 2617#define MPI_SAS_EXPANDER1_NEG_RATE_PHY_DISABLED (0x01) 2618#define MPI_SAS_EXPANDER1_NEG_RATE_FAILED_NEGOTIATION (0x02) 2619#define MPI_SAS_EXPANDER1_NEG_RATE_SATA_OOB_COMPLETE (0x03) --- 19 unchanged lines hidden (view full) --- 2639 U8 Bus; /* 1Bh */ 2640 U32 DeviceInfo; /* 1Ch */ 2641 U16 Flags; /* 20h */ 2642 U8 PhysicalPort; /* 22h */ 2643 U8 Reserved2; /* 23h */ 2644} CONFIG_PAGE_SAS_DEVICE_0, MPI_POINTER PTR_CONFIG_PAGE_SAS_DEVICE_0, 2645 SasDevicePage0_t, MPI_POINTER pSasDevicePage0_t; 2646 | 2832#define MPI_SAS_EXPANDER1_DISCINFO_LINK_STATUS_CHANGE (0x02) 2833#define MPI_SAS_EXPANDER1_DISCINFO_NO_ROUTING_ENTRIES (0x01) 2834 2835/* values for SAS Expander Page 1 NegotiatedLinkRate field */ 2836#define MPI_SAS_EXPANDER1_NEG_RATE_UNKNOWN (0x00) 2837#define MPI_SAS_EXPANDER1_NEG_RATE_PHY_DISABLED (0x01) 2838#define MPI_SAS_EXPANDER1_NEG_RATE_FAILED_NEGOTIATION (0x02) 2839#define MPI_SAS_EXPANDER1_NEG_RATE_SATA_OOB_COMPLETE (0x03) --- 19 unchanged lines hidden (view full) --- 2859 U8 Bus; /* 1Bh */ 2860 U32 DeviceInfo; /* 1Ch */ 2861 U16 Flags; /* 20h */ 2862 U8 PhysicalPort; /* 22h */ 2863 U8 Reserved2; /* 23h */ 2864} CONFIG_PAGE_SAS_DEVICE_0, MPI_POINTER PTR_CONFIG_PAGE_SAS_DEVICE_0, 2865 SasDevicePage0_t, MPI_POINTER pSasDevicePage0_t; 2866 |
2647#define MPI_SASDEVICE0_PAGEVERSION (0x04) | 2867#define MPI_SASDEVICE0_PAGEVERSION (0x05) |
2648 2649/* values for SAS Device Page 0 AccessStatus field */ | 2868 2869/* values for SAS Device Page 0 AccessStatus field */ |
2650#define MPI_SAS_DEVICE0_ASTATUS_NO_ERRORS (0x00) 2651#define MPI_SAS_DEVICE0_ASTATUS_SATA_INIT_FAILED (0x01) 2652#define MPI_SAS_DEVICE0_ASTATUS_SATA_CAPABILITY_FAILED (0x02) | 2870#define MPI_SAS_DEVICE0_ASTATUS_NO_ERRORS (0x00) 2871#define MPI_SAS_DEVICE0_ASTATUS_SATA_INIT_FAILED (0x01) 2872#define MPI_SAS_DEVICE0_ASTATUS_SATA_CAPABILITY_FAILED (0x02) 2873#define MPI_SAS_DEVICE0_ASTATUS_SATA_AFFILIATION_CONFLICT (0x03) 2874/* specific values for SATA Init failures */ 2875#define MPI_SAS_DEVICE0_ASTATUS_SIF_UNKNOWN (0x10) 2876#define MPI_SAS_DEVICE0_ASTATUS_SIF_AFFILIATION_CONFLICT (0x11) 2877#define MPI_SAS_DEVICE0_ASTATUS_SIF_DIAG (0x12) 2878#define MPI_SAS_DEVICE0_ASTATUS_SIF_IDENTIFICATION (0x13) 2879#define MPI_SAS_DEVICE0_ASTATUS_SIF_CHECK_POWER (0x14) 2880#define MPI_SAS_DEVICE0_ASTATUS_SIF_PIO_SN (0x15) 2881#define MPI_SAS_DEVICE0_ASTATUS_SIF_MDMA_SN (0x16) 2882#define MPI_SAS_DEVICE0_ASTATUS_SIF_UDMA_SN (0x17) 2883#define MPI_SAS_DEVICE0_ASTATUS_SIF_ZONING_VIOLATION (0x18) 2884#define MPI_SAS_DEVICE0_ASTATUS_SIF_NOT_ADDRESSABLE (0x19) 2885#define MPI_SAS_DEVICE0_ASTATUS_SIF_MAX (0x1F) |
2653 2654/* values for SAS Device Page 0 Flags field */ | 2886 2887/* values for SAS Device Page 0 Flags field */ |
2655#define MPI_SAS_DEVICE0_FLAGS_SATA_SW_PRESERVE (0x0200) 2656#define MPI_SAS_DEVICE0_FLAGS_UNSUPPORTED_DEVICE (0x0100) 2657#define MPI_SAS_DEVICE0_FLAGS_SATA_48BIT_LBA_SUPPORTED (0x0080) 2658#define MPI_SAS_DEVICE0_FLAGS_SATA_SMART_SUPPORTED (0x0040) 2659#define MPI_SAS_DEVICE0_FLAGS_SATA_NCQ_SUPPORTED (0x0020) 2660#define MPI_SAS_DEVICE0_FLAGS_SATA_FUA_SUPPORTED (0x0010) 2661#define MPI_SAS_DEVICE0_FLAGS_PORT_SELECTOR_ATTACH (0x0008) 2662#define MPI_SAS_DEVICE0_FLAGS_MAPPING_PERSISTENT (0x0004) 2663#define MPI_SAS_DEVICE0_FLAGS_DEVICE_MAPPED (0x0002) 2664#define MPI_SAS_DEVICE0_FLAGS_DEVICE_PRESENT (0x0001) | 2888#define MPI_SAS_DEVICE0_FLAGS_SATA_ASYNCHRONOUS_NOTIFY (0x0400) 2889#define MPI_SAS_DEVICE0_FLAGS_SATA_SW_PRESERVE (0x0200) 2890#define MPI_SAS_DEVICE0_FLAGS_UNSUPPORTED_DEVICE (0x0100) 2891#define MPI_SAS_DEVICE0_FLAGS_SATA_48BIT_LBA_SUPPORTED (0x0080) 2892#define MPI_SAS_DEVICE0_FLAGS_SATA_SMART_SUPPORTED (0x0040) 2893#define MPI_SAS_DEVICE0_FLAGS_SATA_NCQ_SUPPORTED (0x0020) 2894#define MPI_SAS_DEVICE0_FLAGS_SATA_FUA_SUPPORTED (0x0010) 2895#define MPI_SAS_DEVICE0_FLAGS_PORT_SELECTOR_ATTACH (0x0008) 2896#define MPI_SAS_DEVICE0_FLAGS_MAPPING_PERSISTENT (0x0004) 2897#define MPI_SAS_DEVICE0_FLAGS_DEVICE_MAPPED (0x0002) 2898#define MPI_SAS_DEVICE0_FLAGS_DEVICE_PRESENT (0x0001) |
2665 2666/* see mpi_sas.h for values for SAS Device Page 0 DeviceInfo values */ 2667 2668 2669typedef struct _CONFIG_PAGE_SAS_DEVICE_1 2670{ 2671 CONFIG_EXTENDED_PAGE_HEADER Header; /* 00h */ 2672 U32 Reserved1; /* 08h */ --- 37 unchanged lines hidden (view full) --- 2710 CONFIG_EXTENDED_PAGE_HEADER Header; /* 00h */ 2711 U16 OwnerDevHandle; /* 08h */ 2712 U16 Reserved1; /* 0Ah */ 2713 U64 SASAddress; /* 0Ch */ 2714 U16 AttachedDevHandle; /* 14h */ 2715 U8 AttachedPhyIdentifier; /* 16h */ 2716 U8 Reserved2; /* 17h */ 2717 U32 AttachedDeviceInfo; /* 18h */ | 2899 2900/* see mpi_sas.h for values for SAS Device Page 0 DeviceInfo values */ 2901 2902 2903typedef struct _CONFIG_PAGE_SAS_DEVICE_1 2904{ 2905 CONFIG_EXTENDED_PAGE_HEADER Header; /* 00h */ 2906 U32 Reserved1; /* 08h */ --- 37 unchanged lines hidden (view full) --- 2944 CONFIG_EXTENDED_PAGE_HEADER Header; /* 00h */ 2945 U16 OwnerDevHandle; /* 08h */ 2946 U16 Reserved1; /* 0Ah */ 2947 U64 SASAddress; /* 0Ch */ 2948 U16 AttachedDevHandle; /* 14h */ 2949 U8 AttachedPhyIdentifier; /* 16h */ 2950 U8 Reserved2; /* 17h */ 2951 U32 AttachedDeviceInfo; /* 18h */ |
2718 U8 ProgrammedLinkRate; /* 20h */ 2719 U8 HwLinkRate; /* 21h */ 2720 U8 ChangeCount; /* 22h */ 2721 U8 Flags; /* 23h */ 2722 U32 PhyInfo; /* 24h */ | 2952 U8 ProgrammedLinkRate; /* 1Ch */ 2953 U8 HwLinkRate; /* 1Dh */ 2954 U8 ChangeCount; /* 1Eh */ 2955 U8 Flags; /* 1Fh */ 2956 U32 PhyInfo; /* 20h */ |
2723} CONFIG_PAGE_SAS_PHY_0, MPI_POINTER PTR_CONFIG_PAGE_SAS_PHY_0, 2724 SasPhyPage0_t, MPI_POINTER pSasPhyPage0_t; 2725 2726#define MPI_SASPHY0_PAGEVERSION (0x01) 2727 2728/* values for SAS PHY Page 0 ProgrammedLinkRate field */ 2729#define MPI_SAS_PHY0_PRATE_MAX_RATE_MASK (0xF0) 2730#define MPI_SAS_PHY0_PRATE_MAX_RATE_NOT_PROGRAMMABLE (0x00) --- 134 unchanged lines hidden --- | 2957} CONFIG_PAGE_SAS_PHY_0, MPI_POINTER PTR_CONFIG_PAGE_SAS_PHY_0, 2958 SasPhyPage0_t, MPI_POINTER pSasPhyPage0_t; 2959 2960#define MPI_SASPHY0_PAGEVERSION (0x01) 2961 2962/* values for SAS PHY Page 0 ProgrammedLinkRate field */ 2963#define MPI_SAS_PHY0_PRATE_MAX_RATE_MASK (0xF0) 2964#define MPI_SAS_PHY0_PRATE_MAX_RATE_NOT_PROGRAMMABLE (0x00) --- 134 unchanged lines hidden --- |