Deleted Added
full compact
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 ---