Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit eae225eb authored by Eric Moore's avatar Eric Moore Committed by James Bottomley
Browse files

[SCSI] fusion: mpi header update - version 1.05.14



Here are the lastest mpi headers for mpt fusion driver, which defines
the firmware to driver interface.

Signed-off-by: default avatarEric Moore <Eric.Moore@lsi.com>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
parent 86b9c4c1
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
/*
 *  Copyright (c) 2000-2005 LSI Logic Corporation.
 *  Copyright (c) 2000-2006 LSI Logic Corporation.
 *
 *
 *           Name:  mpi.h
 *          Title:  MPI Message independent structures and definitions
 *  Creation Date:  July 27, 2000
 *
 *    mpi.h Version:  01.05.11
 *    mpi.h Version:  01.05.12
 *
 *  Version History
 *  ---------------
@@ -77,6 +77,7 @@
 *  08-03-05  01.05.09  Bumped MPI_HEADER_VERSION_UNIT.
 *  08-30-05  01.05.10  Added 2 new IOCStatus codes for Target.
 *  03-27-06  01.05.11  Bumped MPI_HEADER_VERSION_UNIT.
 *  10-11-06  01.05.12  Bumped MPI_HEADER_VERSION_UNIT.
 *  --------------------------------------------------------------------------
 */

@@ -107,7 +108,7 @@
/* Note: The major versions of 0xe0 through 0xff are reserved */

/* versioning for this MPI header set */
#define MPI_HEADER_VERSION_UNIT             (0x0D)
#define MPI_HEADER_VERSION_UNIT             (0x0E)
#define MPI_HEADER_VERSION_DEV              (0x00)
#define MPI_HEADER_VERSION_UNIT_MASK        (0xFF00)
#define MPI_HEADER_VERSION_UNIT_SHIFT       (8)
+108 −23
Original line number Diff line number Diff line
/*
 *  Copyright (c) 2000-2005 LSI Logic Corporation.
 *  Copyright (c) 2000-2006 LSI Logic Corporation.
 *
 *
 *           Name:  mpi_cnfg.h
 *          Title:  MPI Config message, structures, and Pages
 *  Creation Date:  July 27, 2000
 *
 *    mpi_cnfg.h Version:  01.05.12
 *    mpi_cnfg.h Version:  01.05.13
 *
 *  Version History
 *  ---------------
@@ -276,6 +276,23 @@
 *                      Added AdditionalControlFlags, MaxTargetPortConnectTime,
 *                      ReportDeviceMissingDelay, and IODeviceMissingDelay
 *                      fields to SAS IO Unit Page 1.
 *  10-11-06  01.05.13  Added NumForceWWID field and ForceWWID array to
 *                      Manufacturing Page 5.
 *                      Added Manufacturing pages 8 through 10.
 *                      Added defines for supported metadata size bits in
 *                      CapabilitiesFlags field of IOC Page 6.
 *                      Added defines for metadata size bits in VolumeSettings
 *                      field of RAID Volume Page 0.
 *                      Added SATA Link Reset settings, Enable SATA Asynchronous
 *                      Notification bit, and HideNonZeroAttachedPhyIdentifiers
 *                      bit to AdditionalControlFlags field of SAS IO Unit
 *                      Page 1.
 *                      Added defines for Enclosure Devices Unmapped and
 *                      Device Limit Exceeded bits in Status field of SAS IO
 *                      Unit Page 2.
 *                      Added more AccessStatus values for SAS Device Page 0.
 *                      Added bit for SATA Asynchronous Notification Support in
 *                      Flags field of SAS Device Page 0.
 *  --------------------------------------------------------------------------
 */

@@ -654,17 +671,24 @@ typedef struct _CONFIG_PAGE_MANUFACTURING_4
#define MPI_MANPAGE4_IR_NO_MIX_SAS_SATA                 (0x01)


#ifndef MPI_MANPAGE5_NUM_FORCEWWID
#define MPI_MANPAGE5_NUM_FORCEWWID      (1)
#endif

typedef struct _CONFIG_PAGE_MANUFACTURING_5
{
    CONFIG_PAGE_HEADER              Header;             /* 00h */
    U64                             BaseWWID;           /* 04h */
    U8                              Flags;              /* 0Ch */
    U8                              Reserved1;          /* 0Dh */
    U8                              NumForceWWID;       /* 0Dh */
    U16                             Reserved2;          /* 0Eh */
    U32                             Reserved3;          /* 10h */
    U32                             Reserved4;          /* 14h */
    U64                             ForceWWID[MPI_MANPAGE5_NUM_FORCEWWID]; /* 18h */
} CONFIG_PAGE_MANUFACTURING_5, MPI_POINTER PTR_CONFIG_PAGE_MANUFACTURING_5,
  ManufacturingPage5_t, MPI_POINTER pManufacturingPage5_t;

#define MPI_MANUFACTURING5_PAGEVERSION                  (0x01)
#define MPI_MANUFACTURING5_PAGEVERSION                  (0x02)

/* defines for the Flags field */
#define MPI_MANPAGE5_TWO_WWID_PER_PHY                   (0x01)
@@ -740,6 +764,36 @@ typedef struct _CONFIG_PAGE_MANUFACTURING_7
#define MPI_MANPAGE7_FLAG_USE_SLOT_INFO                 (0x00000001)


typedef struct _CONFIG_PAGE_MANUFACTURING_8
{
    CONFIG_PAGE_HEADER              Header;             /* 00h */
    U32                             ProductSpecificInfo;/* 04h */
} CONFIG_PAGE_MANUFACTURING_8, MPI_POINTER PTR_CONFIG_PAGE_MANUFACTURING_8,
  ManufacturingPage8_t, MPI_POINTER pManufacturingPage8_t;

#define MPI_MANUFACTURING8_PAGEVERSION                  (0x00)


typedef struct _CONFIG_PAGE_MANUFACTURING_9
{
    CONFIG_PAGE_HEADER              Header;             /* 00h */
    U32                             ProductSpecificInfo;/* 04h */
} CONFIG_PAGE_MANUFACTURING_9, MPI_POINTER PTR_CONFIG_PAGE_MANUFACTURING_9,
  ManufacturingPage9_t, MPI_POINTER pManufacturingPage9_t;

#define MPI_MANUFACTURING6_PAGEVERSION                  (0x00)


typedef struct _CONFIG_PAGE_MANUFACTURING_10
{
    CONFIG_PAGE_HEADER              Header;             /* 00h */
    U32                             ProductSpecificInfo;/* 04h */
} CONFIG_PAGE_MANUFACTURING_10, MPI_POINTER PTR_CONFIG_PAGE_MANUFACTURING_10,
  ManufacturingPage10_t, MPI_POINTER pManufacturingPage10_t;

#define MPI_MANUFACTURING10_PAGEVERSION                 (0x00)


/****************************************************************************
*   IO Unit Config Pages
****************************************************************************/
@@ -1080,10 +1134,14 @@ typedef struct _CONFIG_PAGE_IOC_6
} CONFIG_PAGE_IOC_6, MPI_POINTER PTR_CONFIG_PAGE_IOC_6,
  IOCPage6_t, MPI_POINTER pIOCPage6_t;

#define MPI_IOCPAGE6_PAGEVERSION                        (0x00)
#define MPI_IOCPAGE6_PAGEVERSION                        (0x01)

/* IOC Page 6 Capabilities Flags */

#define MPI_IOCPAGE6_CAP_FLAGS_MASK_METADATA_SIZE       (0x00000006)
#define MPI_IOCPAGE6_CAP_FLAGS_64MB_METADATA_SIZE       (0x00000000)
#define MPI_IOCPAGE6_CAP_FLAGS_512MB_METADATA_SIZE      (0x00000002)

#define MPI_IOCPAGE6_CAP_FLAGS_GLOBAL_HOT_SPARE         (0x00000001)


@@ -2160,6 +2218,11 @@ typedef struct _RAID_VOL0_SETTINGS
#define MPI_RAIDVOL0_SETTING_AUTO_CONFIGURE             (0x0004)
#define MPI_RAIDVOL0_SETTING_PRIORITY_RESYNC            (0x0008)
#define MPI_RAIDVOL0_SETTING_FAST_DATA_SCRUBBING_0102   (0x0020) /* obsolete */

#define MPI_RAIDVOL0_SETTING_MASK_METADATA_SIZE         (0x00C0)
#define MPI_RAIDVOL0_SETTING_64MB_METADATA_SIZE         (0x0000)
#define MPI_RAIDVOL0_SETTING_512MB_METADATA_SIZE        (0x0040)

#define MPI_RAIDVOL0_SETTING_USE_PRODUCT_ID_SUFFIX      (0x0010)
#define MPI_RAIDVOL0_SETTING_USE_DEFAULTS               (0x8000)

@@ -2203,7 +2266,7 @@ typedef struct _CONFIG_PAGE_RAID_VOL_0
} CONFIG_PAGE_RAID_VOL_0, MPI_POINTER PTR_CONFIG_PAGE_RAID_VOL_0,
  RaidVolumePage0_t, MPI_POINTER pRaidVolumePage0_t;

#define MPI_RAIDVOLPAGE0_PAGEVERSION                    (0x06)
#define MPI_RAIDVOLPAGE0_PAGEVERSION                    (0x07)

/* values for RAID Volume Page 0 InactiveStatus field */
#define MPI_RAIDVOLPAGE0_UNKNOWN_INACTIVE               (0x00)
@@ -2518,7 +2581,7 @@ typedef struct _CONFIG_PAGE_SAS_IO_UNIT_1
} CONFIG_PAGE_SAS_IO_UNIT_1, MPI_POINTER PTR_CONFIG_PAGE_SAS_IO_UNIT_1,
  SasIOUnitPage1_t, MPI_POINTER pSasIOUnitPage1_t;

#define MPI_SASIOUNITPAGE1_PAGEVERSION      (0x06)
#define MPI_SASIOUNITPAGE1_PAGEVERSION      (0x07)

/* values for SAS IO Unit Page 1 ControlFlags */
#define MPI_SAS_IOUNIT1_CONTROL_DEVICE_SELF_TEST            (0x8000)
@@ -2544,6 +2607,12 @@ typedef struct _CONFIG_PAGE_SAS_IO_UNIT_1
#define MPI_SAS_IOUNIT1_CONTROL_CLEAR_AFFILIATION           (0x0001)

/* values for SAS IO Unit Page 1 AdditionalControlFlags */
#define MPI_SAS_IOUNIT1_ACONTROL_SATA_ASYNCHROUNOUS_NOTIFICATION    (0x0040)
#define MPI_SAS_IOUNIT1_ACONTROL_HIDE_NONZERO_ATTACHED_PHY_IDENT    (0x0020)
#define MPI_SAS_IOUNIT1_ACONTROL_PORT_ENABLE_ONLY_SATA_LINK_RESET   (0x0010)
#define MPI_SAS_IOUNIT1_ACONTROL_OTHER_AFFILIATION_SATA_LINK_RESET  (0x0008)
#define MPI_SAS_IOUNIT1_ACONTROL_SELF_AFFILIATION_SATA_LINK_RESET   (0x0004)
#define MPI_SAS_IOUNIT1_ACONTROL_NO_AFFILIATION_SATA_LINK_RESET     (0x0002)
#define MPI_SAS_IOUNIT1_ACONTROL_ALLOW_TABLE_TO_TABLE               (0x0001)

/* defines for SAS IO Unit Page 1 ReportDeviceMissingDelay */
@@ -2585,9 +2654,11 @@ typedef struct _CONFIG_PAGE_SAS_IO_UNIT_2
} CONFIG_PAGE_SAS_IO_UNIT_2, MPI_POINTER PTR_CONFIG_PAGE_SAS_IO_UNIT_2,
  SasIOUnitPage2_t, MPI_POINTER pSasIOUnitPage2_t;

#define MPI_SASIOUNITPAGE2_PAGEVERSION      (0x05)
#define MPI_SASIOUNITPAGE2_PAGEVERSION      (0x06)

/* values for SAS IO Unit Page 2 Status field */
#define MPI_SAS_IOUNIT2_STATUS_DEVICE_LIMIT_EXCEEDED        (0x08)
#define MPI_SAS_IOUNIT2_STATUS_ENCLOSURE_DEVICES_UNMAPPED   (0x04)
#define MPI_SAS_IOUNIT2_STATUS_DISABLED_PERSISTENT_MAPPINGS (0x02)
#define MPI_SAS_IOUNIT2_STATUS_FULL_PERSISTENT_MAPPINGS     (0x01)

@@ -2739,14 +2810,28 @@ typedef struct _CONFIG_PAGE_SAS_DEVICE_0
} CONFIG_PAGE_SAS_DEVICE_0, MPI_POINTER PTR_CONFIG_PAGE_SAS_DEVICE_0,
  SasDevicePage0_t, MPI_POINTER pSasDevicePage0_t;

#define MPI_SASDEVICE0_PAGEVERSION          (0x04)
#define MPI_SASDEVICE0_PAGEVERSION          (0x05)

/* values for SAS Device Page 0 AccessStatus field */
#define MPI_SAS_DEVICE0_ASTATUS_NO_ERRORS                   (0x00)
#define MPI_SAS_DEVICE0_ASTATUS_SATA_INIT_FAILED            (0x01)
#define MPI_SAS_DEVICE0_ASTATUS_SATA_CAPABILITY_FAILED      (0x02)
#define MPI_SAS_DEVICE0_ASTATUS_SATA_AFFILIATION_CONFLICT   (0x03)
/* specific values for SATA Init failures */
#define MPI_SAS_DEVICE0_ASTATUS_SIF_UNKNOWN                 (0x10)
#define MPI_SAS_DEVICE0_ASTATUS_SIF_AFFILIATION_CONFLICT    (0x11)
#define MPI_SAS_DEVICE0_ASTATUS_SIF_DIAG                    (0x12)
#define MPI_SAS_DEVICE0_ASTATUS_SIF_IDENTIFICATION          (0x13)
#define MPI_SAS_DEVICE0_ASTATUS_SIF_CHECK_POWER             (0x14)
#define MPI_SAS_DEVICE0_ASTATUS_SIF_PIO_SN                  (0x15)
#define MPI_SAS_DEVICE0_ASTATUS_SIF_MDMA_SN                 (0x16)
#define MPI_SAS_DEVICE0_ASTATUS_SIF_UDMA_SN                 (0x17)
#define MPI_SAS_DEVICE0_ASTATUS_SIF_ZONING_VIOLATION        (0x18)
#define MPI_SAS_DEVICE0_ASTATUS_SIF_NOT_ADDRESSABLE         (0x19)
#define MPI_SAS_DEVICE0_ASTATUS_SIF_MAX                     (0x1F)

/* values for SAS Device Page 0 Flags field */
#define MPI_SAS_DEVICE0_FLAGS_SATA_ASYNCHRONOUS_NOTIFY      (0x0400)
#define MPI_SAS_DEVICE0_FLAGS_SATA_SW_PRESERVE              (0x0200)
#define MPI_SAS_DEVICE0_FLAGS_UNSUPPORTED_DEVICE            (0x0100)
#define MPI_SAS_DEVICE0_FLAGS_SATA_48BIT_LBA_SUPPORTED      (0x0080)
+53 −24
Original line number Diff line number Diff line
@@ -3,28 +3,28 @@
 MPI Header File Change History
 ==============================

 Copyright (c) 2000-2005 LSI Logic Corporation.
 Copyright (c) 2000-2006 LSI Logic Corporation.

 ---------------------------------------
 Header Set Release Version:    01.05.13
 Header Set Release Date:       03-27-06
 Header Set Release Version:    01.05.14
 Header Set Release Date:       10-11-06
 ---------------------------------------

 Filename               Current version     Prior version
 ----------             ---------------     -------------
 mpi.h                  01.05.11            01.05.10
 mpi_ioc.h              01.05.11            01.05.10
 mpi_cnfg.h             01.05.12            01.05.11
 mpi_init.h             01.05.07            01.05.06
 mpi_targ.h             01.05.06            01.05.05
 mpi.h                  01.05.12            01.05.11
 mpi_ioc.h              01.05.12            01.05.11
 mpi_cnfg.h             01.05.13            01.05.12
 mpi_init.h             01.05.08            01.05.07
 mpi_targ.h             01.05.06            01.05.06
 mpi_fc.h               01.05.01            01.05.01
 mpi_lan.h              01.05.01            01.05.01
 mpi_raid.h             01.05.02            01.05.02
 mpi_tool.h             01.05.03            01.05.03
 mpi_inb.h              01.05.01            01.05.01
 mpi_sas.h              01.05.03            01.05.02
 mpi_sas.h              01.05.04            01.05.03
 mpi_type.h             01.05.02            01.05.02
 mpi_history.txt        01.05.13            01.05.12
 mpi_history.txt        01.05.14            01.05.13


 *  Date      Version   Description
@@ -94,6 +94,7 @@ mpi.h
 *  08-03-05  01.05.09  Bumped MPI_HEADER_VERSION_UNIT.
 *  08-30-05  01.05.10  Added 2 new IOCStatus codes for Target.
 *  03-27-06  01.05.11  Bumped MPI_HEADER_VERSION_UNIT.
 *  10-11-06  01.05.12  Bumped MPI_HEADER_VERSION_UNIT.
 *  --------------------------------------------------------------------------

mpi_ioc.h
@@ -182,6 +183,14 @@ mpi_ioc.h
 *                      Added MPI_EVENT_SAS_INIT_TABLE_OVERFLOW and event
 *                      data structure.
 *                      Added MPI_EXT_IMAGE_TYPE_INITIALIZATION.
 *  10-11-06  01.05.12  Added MPI_IOCFACTS_EXCEPT_METADATA_UNSUPPORTED.
 *                      Added MaxInitiators field to PortFacts reply.
 *                      Added SAS Device Status Change ReasonCode for
 *                      asynchronous notificaiton.
 *                      Added MPI_EVENT_SAS_EXPANDER_STATUS_CHANGE and event
 *                      data structure.
 *                      Added new ImageType values for FWDownload and FWUpload
 *                      requests.
 *  --------------------------------------------------------------------------

mpi_cnfg.h
@@ -447,6 +456,23 @@ mpi_cnfg.h
 *                      Added AdditionalControlFlags, MaxTargetPortConnectTime,
 *                      ReportDeviceMissingDelay, and IODeviceMissingDelay
 *                      fields to SAS IO Unit Page 1.
 *  10-11-06  01.05.13  Added NumForceWWID field and ForceWWID array to
 *                      Manufacturing Page 5.
 *                      Added Manufacturing pages 8 through 10.
 *                      Added defines for supported metadata size bits in
 *                      CapabilitiesFlags field of IOC Page 6.
 *                      Added defines for metadata size bits in VolumeSettings
 *                      field of RAID Volume Page 0.
 *                      Added SATA Link Reset settings, Enable SATA Asynchronous
 *                      Notification bit, and HideNonZeroAttachedPhyIdentifiers
 *                      bit to AdditionalControlFlags field of SAS IO Unit
 *                      Page 1.
 *                      Added defines for Enclosure Devices Unmapped and
 *                      Device Limit Exceeded bits in Status field of SAS IO
 *                      Unit Page 2.
 *                      Added more AccessStatus values for SAS Device Page 0.
 *                      Added bit for SATA Asynchronous Notification Support in
 *                      Flags field of SAS Device Page 0.
 *  --------------------------------------------------------------------------

mpi_init.h
@@ -490,6 +516,7 @@ mpi_init.h
 *  08-03-05  01.05.06  Fixed some MPI_SCSIIO32_MSGFLGS_ defines to make them
 *                      unique in the first 32 characters.
 *  03-27-06  01.05.07  Added Task Management type of Clear ACA.
 *  10-11-06  01.05.08  Shortened define for Task Management type of Clear ACA.
 *  --------------------------------------------------------------------------

mpi_targ.h
@@ -638,6 +665,8 @@ mpi_sas.h
 *                      and Remove Device operations to SAS IO Unit Control.
 *                      Added DevHandle field to SAS IO Unit Control request and
 *                      reply.
 *  10-11-06  01.05.04  Fixed the name of a define for Operation field of SAS IO
 *                      Unit Control request.
 *  --------------------------------------------------------------------------

mpi_type.h
@@ -653,20 +682,20 @@ mpi_type.h

mpi_history.txt         Parts list history

Filename    01.05.13  01.05.12  01.05.11  01.05.10  01.05.09
----------  --------  --------  --------  --------  --------
mpi.h       01.05.11  01.05.10  01.05.09  01.05.08  01.05.07
mpi_ioc.h   01.05.11  01.05.10  01.05.09  01.05.09  01.05.08
mpi_cnfg.h  01.05.12  01.05.11  01.05.10  01.05.09  01.05.08
mpi_init.h  01.05.07  01.05.06  01.05.06  01.05.05  01.05.04
mpi_targ.h  01.05.06  01.05.05  01.05.05  01.05.05  01.05.04
mpi_fc.h    01.05.01  01.05.01  01.05.01  01.05.01  01.05.01
mpi_lan.h   01.05.01  01.05.01  01.05.01  01.05.01  01.05.01
mpi_raid.h  01.05.02  01.05.02  01.05.02  01.05.02  01.05.02
mpi_tool.h  01.05.03  01.05.03  01.05.03  01.05.03  01.05.03
mpi_inb.h   01.05.01  01.05.01  01.05.01  01.05.01  01.05.01
mpi_sas.h   01.05.03  01.05.02  01.05.01  01.05.01  01.05.01
mpi_type.h  01.05.02  01.05.02  01.05.01  01.05.01  01.05.01
Filename    01.05.13   01.05.13   01.05.12   01.05.11   01.05.10   01.05.09
----------  --------   --------   --------   --------   --------   --------
mpi.h       01.05.12   01.05.11   01.05.10   01.05.09   01.05.08   01.05.07
mpi_ioc.h   01.05.12   01.05.11   01.05.10   01.05.09   01.05.09   01.05.08
mpi_cnfg.h  01.05.13   01.05.12   01.05.11   01.05.10   01.05.09   01.05.08
mpi_init.h  01.05.08   01.05.07   01.05.06   01.05.06   01.05.05   01.05.04
mpi_targ.h  01.05.06   01.05.06   01.05.05   01.05.05   01.05.05   01.05.04
mpi_fc.h    01.05.01   01.05.01   01.05.01   01.05.01   01.05.01   01.05.01
mpi_lan.h   01.05.01   01.05.01   01.05.01   01.05.01   01.05.01   01.05.01
mpi_raid.h  01.05.02   01.05.02   01.05.02   01.05.02   01.05.02   01.05.02
mpi_tool.h  01.05.03   01.05.03   01.05.03   01.05.03   01.05.03   01.05.03
mpi_inb.h   01.05.01   01.05.01   01.05.01   01.05.01   01.05.01   01.05.01
mpi_sas.h   01.05.04   01.05.03   01.05.02   01.05.01   01.05.01   01.05.01
mpi_type.h  01.05.02   01.05.02   01.05.02   01.05.01   01.05.01   01.05.01

Filename    01.05.08   01.05.07   01.05.06   01.05.05   01.05.04   01.05.03
----------  --------   --------   --------   --------   --------   --------
+4 −3
Original line number Diff line number Diff line
/*
 *  Copyright (c) 2000-2005 LSI Logic Corporation.
 *  Copyright (c) 2000-2006 LSI Logic Corporation.
 *
 *
 *           Name:  mpi_init.h
 *          Title:  MPI initiator mode messages and structures
 *  Creation Date:  June 8, 2000
 *
 *    mpi_init.h Version:  01.05.07
 *    mpi_init.h Version:  01.05.08
 *
 *  Version History
 *  ---------------
@@ -53,6 +53,7 @@
 *  08-03-05  01.05.06  Fixed some MPI_SCSIIO32_MSGFLGS_ defines to make them
 *                      unique in the first 32 characters.
 *  03-27-06  01.05.07  Added Task Management type of Clear ACA.
 *  10-11-06  01.05.08  Shortened define for Task Management type of Clear ACA.
 *  --------------------------------------------------------------------------
 */

@@ -428,7 +429,7 @@ typedef struct _MSG_SCSI_TASK_MGMT
#define MPI_SCSITASKMGMT_TASKTYPE_LOGICAL_UNIT_RESET    (0x05)
#define MPI_SCSITASKMGMT_TASKTYPE_CLEAR_TASK_SET        (0x06)
#define MPI_SCSITASKMGMT_TASKTYPE_QUERY_TASK            (0x07)
#define MPI_SCSITASKMGMT_TASKTYPE_CLEAR_ACA             (0x08)
#define MPI_SCSITASKMGMT_TASKTYPE_CLR_ACA               (0x08)

/* MsgFlags bits */
#define MPI_SCSITASKMGMT_MSGFLAGS_TARGET_RESET_OPTION   (0x00)
+72 −3
Original line number Diff line number Diff line
/*
 *  Copyright (c) 2000-2005 LSI Logic Corporation.
 *  Copyright (c) 2000-2006 LSI Logic Corporation.
 *
 *
 *           Name:  mpi_ioc.h
 *          Title:  MPI IOC, Port, Event, FW Download, and FW Upload messages
 *  Creation Date:  August 11, 2000
 *
 *    mpi_ioc.h Version:  01.05.11
 *    mpi_ioc.h Version:  01.05.12
 *
 *  Version History
 *  ---------------
@@ -98,6 +98,14 @@
 *                      Added MPI_EVENT_SAS_INIT_TABLE_OVERFLOW and event
 *                      data structure.
 *                      Added MPI_EXT_IMAGE_TYPE_INITIALIZATION.
 *  10-11-06  01.05.12  Added MPI_IOCFACTS_EXCEPT_METADATA_UNSUPPORTED.
 *                      Added MaxInitiators field to PortFacts reply.
 *                      Added SAS Device Status Change ReasonCode for
 *                      asynchronous notificaiton.
 *                      Added MPI_EVENT_SAS_EXPANDER_STATUS_CHANGE and event
 *                      data structure.
 *                      Added new ImageType values for FWDownload and FWUpload
 *                      requests.
 *  --------------------------------------------------------------------------
 */

@@ -264,6 +272,7 @@ typedef struct _MSG_IOC_FACTS_REPLY
#define MPI_IOCFACTS_EXCEPT_RAID_CONFIG_INVALID         (0x0002)
#define MPI_IOCFACTS_EXCEPT_FW_CHECKSUM_FAIL            (0x0004)
#define MPI_IOCFACTS_EXCEPT_PERSISTENT_TABLE_FULL       (0x0008)
#define MPI_IOCFACTS_EXCEPT_METADATA_UNSUPPORTED        (0x0010)

#define MPI_IOCFACTS_FLAGS_FW_DOWNLOAD_BOOT             (0x01)
#define MPI_IOCFACTS_FLAGS_REPLY_FIFO_HOST_SIGNAL       (0x02)
@@ -328,7 +337,8 @@ typedef struct _MSG_PORT_FACTS_REPLY
     U16                    MaxPostedCmdBuffers;        /* 1Ch */
     U16                    MaxPersistentIDs;           /* 1Eh */
     U16                    MaxLanBuckets;              /* 20h */
     U16                    Reserved4;                  /* 22h */
     U8                     MaxInitiators;              /* 22h */
     U8                     Reserved4;                  /* 23h */
     U32                    Reserved5;                  /* 24h */
} MSG_PORT_FACTS_REPLY, MPI_POINTER PTR_MSG_PORT_FACTS_REPLY,
  PortFactsReply_t, MPI_POINTER pPortFactsReply_t;
@@ -487,6 +497,7 @@ typedef struct _MSG_EVENT_ACK_REPLY
#define MPI_EVENT_SAS_INIT_DEVICE_STATUS_CHANGE (0x00000018)
#define MPI_EVENT_SAS_INIT_TABLE_OVERFLOW       (0x00000019)
#define MPI_EVENT_SAS_SMP_ERROR                 (0x0000001A)
#define MPI_EVENT_SAS_EXPANDER_STATUS_CHANGE    (0x0000001B)
#define MPI_EVENT_LOG_ENTRY_ADDED               (0x00000021)

/* AckRequired field values */
@@ -593,6 +604,7 @@ typedef struct _EVENT_DATA_SAS_DEVICE_STATUS_CHANGE
#define MPI_EVENT_SAS_DEV_STAT_RC_ABORT_TASK_SET_INTERNAL   (0x0A)
#define MPI_EVENT_SAS_DEV_STAT_RC_CLEAR_TASK_SET_INTERNAL   (0x0B)
#define MPI_EVENT_SAS_DEV_STAT_RC_QUERY_TASK_INTERNAL       (0x0C)
#define MPI_EVENT_SAS_DEV_STAT_RC_ASYNC_NOTIFICATION        (0x0D)


/* SCSI Event data for Queue Full event */
@@ -895,6 +907,54 @@ typedef struct _EVENT_DATA_SAS_INIT_TABLE_OVERFLOW
  MpiEventDataSasInitTableOverflow_t,
  MPI_POINTER pMpiEventDataSasInitTableOverflow_t;

/* SAS Expander Status Change Event data */

typedef struct _EVENT_DATA_SAS_EXPANDER_STATUS_CHANGE
{
    U8                      ReasonCode;             /* 00h */
    U8                      Reserved1;              /* 01h */
    U16                     Reserved2;              /* 02h */
    U8                      PhysicalPort;           /* 04h */
    U8                      Reserved3;              /* 05h */
    U16                     EnclosureHandle;        /* 06h */
    U64                     SASAddress;             /* 08h */
    U32                     DiscoveryStatus;        /* 10h */
    U16                     DevHandle;              /* 14h */
    U16                     ParentDevHandle;        /* 16h */
    U16                     ExpanderChangeCount;    /* 18h */
    U16                     ExpanderRouteIndexes;   /* 1Ah */
    U8                      NumPhys;                /* 1Ch */
    U8                      SASLevel;               /* 1Dh */
    U8                      Flags;                  /* 1Eh */
    U8                      Reserved4;              /* 1Fh */
} EVENT_DATA_SAS_EXPANDER_STATUS_CHANGE,
  MPI_POINTER PTR_EVENT_DATA_SAS_EXPANDER_STATUS_CHANGE,
  MpiEventDataSasExpanderStatusChange_t,
  MPI_POINTER pMpiEventDataSasExpanderStatusChange_t;

/* values for ReasonCode field of SAS Expander Status Change Event data */
#define MPI_EVENT_SAS_EXP_RC_ADDED                      (0x00)
#define MPI_EVENT_SAS_EXP_RC_NOT_RESPONDING             (0x01)

/* values for DiscoveryStatus field of SAS Expander Status Change Event data */
#define MPI_EVENT_SAS_EXP_DS_LOOP_DETECTED              (0x00000001)
#define MPI_EVENT_SAS_EXP_DS_UNADDRESSABLE_DEVICE       (0x00000002)
#define MPI_EVENT_SAS_EXP_DS_MULTIPLE_PORTS             (0x00000004)
#define MPI_EVENT_SAS_EXP_DS_EXPANDER_ERR               (0x00000008)
#define MPI_EVENT_SAS_EXP_DS_SMP_TIMEOUT                (0x00000010)
#define MPI_EVENT_SAS_EXP_DS_OUT_ROUTE_ENTRIES          (0x00000020)
#define MPI_EVENT_SAS_EXP_DS_INDEX_NOT_EXIST            (0x00000040)
#define MPI_EVENT_SAS_EXP_DS_SMP_FUNCTION_FAILED        (0x00000080)
#define MPI_EVENT_SAS_EXP_DS_SMP_CRC_ERROR              (0x00000100)
#define MPI_EVENT_SAS_EXP_DS_SUBTRACTIVE_LINK           (0x00000200)
#define MPI_EVENT_SAS_EXP_DS_TABLE_LINK                 (0x00000400)
#define MPI_EVENT_SAS_EXP_DS_UNSUPPORTED_DEVICE         (0x00000800)

/* values for Flags field of SAS Expander Status Change Event data */
#define MPI_EVENT_SAS_EXP_FLAGS_ROUTE_TABLE_CONFIG      (0x02)
#define MPI_EVENT_SAS_EXP_FLAGS_CONFIG_IN_PROGRESS      (0x01)



/*****************************************************************************
*
@@ -926,6 +986,10 @@ typedef struct _MSG_FW_DOWNLOAD
#define MPI_FW_DOWNLOAD_ITYPE_BIOS              (0x02)
#define MPI_FW_DOWNLOAD_ITYPE_NVDATA            (0x03)
#define MPI_FW_DOWNLOAD_ITYPE_BOOTLOADER        (0x04)
#define MPI_FW_DOWNLOAD_ITYPE_MANUFACTURING     (0x06)
#define MPI_FW_DOWNLOAD_ITYPE_CONFIG_1          (0x07)
#define MPI_FW_DOWNLOAD_ITYPE_CONFIG_2          (0x08)
#define MPI_FW_DOWNLOAD_ITYPE_MEGARAID          (0x09)


typedef struct _FWDownloadTCSGE
@@ -980,6 +1044,11 @@ typedef struct _MSG_FW_UPLOAD
#define MPI_FW_UPLOAD_ITYPE_NVDATA          (0x03)
#define MPI_FW_UPLOAD_ITYPE_BOOTLOADER      (0x04)
#define MPI_FW_UPLOAD_ITYPE_FW_BACKUP       (0x05)
#define MPI_FW_UPLOAD_ITYPE_MANUFACTURING   (0x06)
#define MPI_FW_UPLOAD_ITYPE_CONFIG_1        (0x07)
#define MPI_FW_UPLOAD_ITYPE_CONFIG_2        (0x08)
#define MPI_FW_UPLOAD_ITYPE_MEGARAID        (0x09)
#define MPI_FW_UPLOAD_ITYPE_COMPLETE        (0x0A)

typedef struct _FWUploadTCSGE
{
Loading