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

Commit 203d65b1 authored by Kashyap, Desai's avatar Kashyap, Desai Committed by James Bottomley
Browse files

[SCSI] mpt2sas: MPI header version N is updated.



Updating MPI header version N.
Removed mpi_history.txt.

Signed-off-by: default avatarKashyap Desai <kashyap.desai@lsi.com>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@suse.de>
parent d32a8c15
Loading
Loading
Loading
Loading
+13 −4
Original line number Original line Diff line number Diff line
@@ -8,7 +8,7 @@
 *                  scatter/gather formats.
 *                  scatter/gather formats.
 *  Creation Date:  June 21, 2006
 *  Creation Date:  June 21, 2006
 *
 *
 *  mpi2.h Version:  02.00.14
 *  mpi2.h Version:  02.00.15
 *
 *
 *  Version History
 *  Version History
 *  ---------------
 *  ---------------
@@ -57,6 +57,10 @@
 *                      Added MSI-x index mask and shift for Reply Post Host
 *                      Added MSI-x index mask and shift for Reply Post Host
 *                      Index register.
 *                      Index register.
 *                      Added function code for Host Based Discovery Action.
 *                      Added function code for Host Based Discovery Action.
 *  02-10-10  02.00.15  Bumped MPI2_HEADER_VERSION_UNIT.
 *                      Added define for MPI2_FUNCTION_PWR_MGMT_CONTROL.
 *                      Added defines for product-specific range of message
 *                      function codes, 0xF0 to 0xFF.
 *  --------------------------------------------------------------------------
 *  --------------------------------------------------------------------------
 */
 */


@@ -82,7 +86,7 @@
#define MPI2_VERSION_02_00                  (0x0200)
#define MPI2_VERSION_02_00                  (0x0200)


/* versioning for this MPI header set */
/* versioning for this MPI header set */
#define MPI2_HEADER_VERSION_UNIT            (0x0E)
#define MPI2_HEADER_VERSION_UNIT            (0x0F)
#define MPI2_HEADER_VERSION_DEV             (0x00)
#define MPI2_HEADER_VERSION_DEV             (0x00)
#define MPI2_HEADER_VERSION_UNIT_MASK       (0xFF00)
#define MPI2_HEADER_VERSION_UNIT_MASK       (0xFF00)
#define MPI2_HEADER_VERSION_UNIT_SHIFT      (8)
#define MPI2_HEADER_VERSION_UNIT_SHIFT      (8)
@@ -473,8 +477,6 @@ typedef union _MPI2_REPLY_DESCRIPTORS_UNION
/*****************************************************************************
/*****************************************************************************
*
*
*        Message Functions
*        Message Functions
*              0x80 -> 0x8F reserved for private message use per product
*
*
*
*****************************************************************************/
*****************************************************************************/


@@ -506,6 +508,13 @@ typedef union _MPI2_REPLY_DESCRIPTORS_UNION
#define MPI2_FUNCTION_RAID_ACCELERATOR              (0x2C) /* RAID Accelerator*/
#define MPI2_FUNCTION_RAID_ACCELERATOR              (0x2C) /* RAID Accelerator*/
/* Host Based Discovery Action */
/* Host Based Discovery Action */
#define MPI2_FUNCTION_HOST_BASED_DISCOVERY_ACTION   (0x2F)
#define MPI2_FUNCTION_HOST_BASED_DISCOVERY_ACTION   (0x2F)
/* Power Management Control */
#define MPI2_FUNCTION_PWR_MGMT_CONTROL              (0x30)
/* beginning of product-specific range */
#define MPI2_FUNCTION_MIN_PRODUCT_SPECIFIC          (0xF0)
/* end of product-specific range */
#define MPI2_FUNCTION_MAX_PRODUCT_SPECIFIC          (0xFF)







+171 −22
Original line number Original line Diff line number Diff line
@@ -6,7 +6,7 @@
 *          Title:  MPI Configuration messages and pages
 *          Title:  MPI Configuration messages and pages
 *  Creation Date:  November 10, 2006
 *  Creation Date:  November 10, 2006
 *
 *
 *    mpi2_cnfg.h Version:  02.00.13
 *    mpi2_cnfg.h Version:  02.00.14
 *
 *
 *  Version History
 *  Version History
 *  ---------------
 *  ---------------
@@ -109,6 +109,18 @@
 *                      Added Ethernet configuration pages.
 *                      Added Ethernet configuration pages.
 *  10-28-09  02.00.13  Added MPI2_IOUNITPAGE1_ENABLE_HOST_BASED_DISCOVERY.
 *  10-28-09  02.00.13  Added MPI2_IOUNITPAGE1_ENABLE_HOST_BASED_DISCOVERY.
 *                      Added SAS PHY Page 4 structure and defines.
 *                      Added SAS PHY Page 4 structure and defines.
 *  02-10-10  02.00.14  Modified the comments for the configuration page
 *                      structures that contain an array of data. The host
 *                      should use the "count" field in the page data (e.g. the
 *                      NumPhys field) to determine the number of valid elements
 *                      in the array.
 *                      Added/modified some MPI2_MFGPAGE_DEVID_SAS defines.
 *                      Added PowerManagementCapabilities to IO Unit Page 7.
 *                      Added PortWidthModGroup field to
 *                      MPI2_SAS_IO_UNIT5_PHY_PM_SETTINGS.
 *                      Added MPI2_CONFIG_PAGE_SASIOUNIT_6 and related defines.
 *                      Added MPI2_CONFIG_PAGE_SASIOUNIT_7 and related defines.
 *                      Added MPI2_CONFIG_PAGE_SASIOUNIT_8 and related defines.
 *  --------------------------------------------------------------------------
 *  --------------------------------------------------------------------------
 */
 */


@@ -373,8 +385,9 @@ typedef struct _MPI2_CONFIG_REPLY
#define MPI2_MFGPAGE_DEVID_SAS2208_4                (0x0083)
#define MPI2_MFGPAGE_DEVID_SAS2208_4                (0x0083)
#define MPI2_MFGPAGE_DEVID_SAS2208_5                (0x0084)
#define MPI2_MFGPAGE_DEVID_SAS2208_5                (0x0084)
#define MPI2_MFGPAGE_DEVID_SAS2208_6                (0x0085)
#define MPI2_MFGPAGE_DEVID_SAS2208_6                (0x0085)
#define MPI2_MFGPAGE_DEVID_SAS2208_7                (0x0086)
#define MPI2_MFGPAGE_DEVID_SAS2308_1                (0x0086)
#define MPI2_MFGPAGE_DEVID_SAS2208_8                (0x0087)
#define MPI2_MFGPAGE_DEVID_SAS2308_2                (0x0087)
#define MPI2_MFGPAGE_DEVID_SAS2308_3                (0x006E)




/* Manufacturing Page 0 */
/* Manufacturing Page 0 */
@@ -540,7 +553,7 @@ typedef struct _MPI2_CONFIG_PAGE_MAN_4


/*
/*
 * Host code (drivers, BIOS, utilities, etc.) should leave this define set to
 * Host code (drivers, BIOS, utilities, etc.) should leave this define set to
 * one and check Header.PageLength or NumPhys at runtime.
 * one and check the value returned for NumPhys at runtime.
 */
 */
#ifndef MPI2_MAN_PAGE_5_PHY_ENTRIES
#ifndef MPI2_MAN_PAGE_5_PHY_ENTRIES
#define MPI2_MAN_PAGE_5_PHY_ENTRIES         (1)
#define MPI2_MAN_PAGE_5_PHY_ENTRIES         (1)
@@ -618,7 +631,7 @@ typedef struct _MPI2_MANPAGE7_CONNECTOR_INFO


/*
/*
 * Host code (drivers, BIOS, utilities, etc.) should leave this define set to
 * Host code (drivers, BIOS, utilities, etc.) should leave this define set to
 * one and check NumPhys at runtime.
 * one and check the value returned for NumPhys at runtime.
 */
 */
#ifndef MPI2_MANPAGE7_CONNECTOR_INFO_MAX
#ifndef MPI2_MANPAGE7_CONNECTOR_INFO_MAX
#define MPI2_MANPAGE7_CONNECTOR_INFO_MAX  (1)
#define MPI2_MANPAGE7_CONNECTOR_INFO_MAX  (1)
@@ -731,7 +744,7 @@ typedef struct _MPI2_CONFIG_PAGE_IO_UNIT_1


/*
/*
 * Host code (drivers, BIOS, utilities, etc.) should leave this define set to
 * Host code (drivers, BIOS, utilities, etc.) should leave this define set to
 * one and check Header.PageLength at runtime.
 * one and check the value returned for GPIOCount at runtime.
 */
 */
#ifndef MPI2_IO_UNIT_PAGE_3_GPIO_VAL_MAX
#ifndef MPI2_IO_UNIT_PAGE_3_GPIO_VAL_MAX
#define MPI2_IO_UNIT_PAGE_3_GPIO_VAL_MAX    (1)
#define MPI2_IO_UNIT_PAGE_3_GPIO_VAL_MAX    (1)
@@ -760,7 +773,7 @@ typedef struct _MPI2_CONFIG_PAGE_IO_UNIT_3


/*
/*
 * Upper layer code (drivers, utilities, etc.) should leave this define set to
 * Upper layer code (drivers, utilities, etc.) should leave this define set to
 * one and check Header.PageLength or NumDmaEngines at runtime.
 * one and check the value returned for NumDmaEngines at runtime.
 */
 */
#ifndef MPI2_IOUNITPAGE5_DMAENGINE_ENTRIES
#ifndef MPI2_IOUNITPAGE5_DMAENGINE_ENTRIES
#define MPI2_IOUNITPAGE5_DMAENGINE_ENTRIES      (1)
#define MPI2_IOUNITPAGE5_DMAENGINE_ENTRIES      (1)
@@ -823,7 +836,7 @@ typedef struct _MPI2_CONFIG_PAGE_IO_UNIT_7 {
    U8                      PCIeWidth;                              /* 0x06 */
    U8                      PCIeWidth;                              /* 0x06 */
    U8                      PCIeSpeed;                              /* 0x07 */
    U8                      PCIeSpeed;                              /* 0x07 */
    U32                     ProcessorState;                         /* 0x08 */
    U32                     ProcessorState;                         /* 0x08 */
    U32                     Reserved2;                              /* 0x0C */
    U32                     PowerManagementCapabilities;            /* 0x0C */
    U16                     IOCTemperature;                         /* 0x10 */
    U16                     IOCTemperature;                         /* 0x10 */
    U8                      IOCTemperatureUnits;                    /* 0x12 */
    U8                      IOCTemperatureUnits;                    /* 0x12 */
    U8                      IOCSpeed;                               /* 0x13 */
    U8                      IOCSpeed;                               /* 0x13 */
@@ -831,7 +844,7 @@ typedef struct _MPI2_CONFIG_PAGE_IO_UNIT_7 {
} MPI2_CONFIG_PAGE_IO_UNIT_7, MPI2_POINTER PTR_MPI2_CONFIG_PAGE_IO_UNIT_7,
} MPI2_CONFIG_PAGE_IO_UNIT_7, MPI2_POINTER PTR_MPI2_CONFIG_PAGE_IO_UNIT_7,
  Mpi2IOUnitPage7_t, MPI2_POINTER pMpi2IOUnitPage7_t;
  Mpi2IOUnitPage7_t, MPI2_POINTER pMpi2IOUnitPage7_t;


#define MPI2_IOUNITPAGE7_PAGEVERSION                    (0x00)
#define MPI2_IOUNITPAGE7_PAGEVERSION                    (0x01)


/* defines for IO Unit Page 7 PCIeWidth field */
/* defines for IO Unit Page 7 PCIeWidth field */
#define MPI2_IOUNITPAGE7_PCIE_WIDTH_X1              (0x01)
#define MPI2_IOUNITPAGE7_PCIE_WIDTH_X1              (0x01)
@@ -852,6 +865,14 @@ typedef struct _MPI2_CONFIG_PAGE_IO_UNIT_7 {
#define MPI2_IOUNITPAGE7_PSTATE_DISABLED            (0x01)
#define MPI2_IOUNITPAGE7_PSTATE_DISABLED            (0x01)
#define MPI2_IOUNITPAGE7_PSTATE_ENABLED             (0x02)
#define MPI2_IOUNITPAGE7_PSTATE_ENABLED             (0x02)


/* defines for IO Unit Page 7 PowerManagementCapabilities field */
#define MPI2_IOUNITPAGE7_PMCAP_12_5_PCT_IOCSPEED    (0x00000400)
#define MPI2_IOUNITPAGE7_PMCAP_25_0_PCT_IOCSPEED    (0x00000200)
#define MPI2_IOUNITPAGE7_PMCAP_50_0_PCT_IOCSPEED    (0x00000100)
#define MPI2_IOUNITPAGE7_PMCAP_PCIE_WIDTH_CHANGE    (0x00000008)
#define MPI2_IOUNITPAGE7_PMCAP_PCIE_SPEED_CHANGE    (0x00000004)


/* defines for IO Unit Page 7 IOCTemperatureUnits field */
/* defines for IO Unit Page 7 IOCTemperatureUnits field */
#define MPI2_IOUNITPAGE7_IOC_TEMP_NOT_PRESENT       (0x00)
#define MPI2_IOUNITPAGE7_IOC_TEMP_NOT_PRESENT       (0x00)
#define MPI2_IOUNITPAGE7_IOC_TEMP_FAHRENHEIT        (0x01)
#define MPI2_IOUNITPAGE7_IOC_TEMP_FAHRENHEIT        (0x01)
@@ -1195,7 +1216,7 @@ typedef struct _MPI2_CONFIG_PAGE_BIOS_3


/*
/*
 * Host code (drivers, BIOS, utilities, etc.) should leave this define set to
 * Host code (drivers, BIOS, utilities, etc.) should leave this define set to
 * one and check Header.PageLength or NumPhys at runtime.
 * one and check the value returned for NumPhys at runtime.
 */
 */
#ifndef MPI2_BIOS_PAGE_4_PHY_ENTRIES
#ifndef MPI2_BIOS_PAGE_4_PHY_ENTRIES
#define MPI2_BIOS_PAGE_4_PHY_ENTRIES        (1)
#define MPI2_BIOS_PAGE_4_PHY_ENTRIES        (1)
@@ -1269,7 +1290,7 @@ typedef struct _MPI2_RAIDVOL0_SETTINGS


/*
/*
 * Host code (drivers, BIOS, utilities, etc.) should leave this define set to
 * Host code (drivers, BIOS, utilities, etc.) should leave this define set to
 * one and check Header.PageLength at runtime.
 * one and check the value returned for NumPhysDisks at runtime.
 */
 */
#ifndef MPI2_RAID_VOL_PAGE_0_PHYSDISK_MAX
#ifndef MPI2_RAID_VOL_PAGE_0_PHYSDISK_MAX
#define MPI2_RAID_VOL_PAGE_0_PHYSDISK_MAX       (1)
#define MPI2_RAID_VOL_PAGE_0_PHYSDISK_MAX       (1)
@@ -1471,7 +1492,7 @@ typedef struct _MPI2_CONFIG_PAGE_RD_PDISK_0


/*
/*
 * Host code (drivers, BIOS, utilities, etc.) should leave this define set to
 * Host code (drivers, BIOS, utilities, etc.) should leave this define set to
 * one and check Header.PageLength or NumPhysDiskPaths at runtime.
 * one and check the value returned for NumPhysDiskPaths at runtime.
 */
 */
#ifndef MPI2_RAID_PHYS_DISK1_PATH_MAX
#ifndef MPI2_RAID_PHYS_DISK1_PATH_MAX
#define MPI2_RAID_PHYS_DISK1_PATH_MAX   (1)
#define MPI2_RAID_PHYS_DISK1_PATH_MAX   (1)
@@ -1633,7 +1654,7 @@ typedef struct _MPI2_SAS_IO_UNIT0_PHY_DATA


/*
/*
 * Host code (drivers, BIOS, utilities, etc.) should leave this define set to
 * Host code (drivers, BIOS, utilities, etc.) should leave this define set to
 * one and check Header.ExtPageLength or NumPhys at runtime.
 * one and check the value returned for NumPhys at runtime.
 */
 */
#ifndef MPI2_SAS_IOUNIT0_PHY_MAX
#ifndef MPI2_SAS_IOUNIT0_PHY_MAX
#define MPI2_SAS_IOUNIT0_PHY_MAX        (1)
#define MPI2_SAS_IOUNIT0_PHY_MAX        (1)
@@ -1704,7 +1725,7 @@ typedef struct _MPI2_SAS_IO_UNIT1_PHY_DATA


/*
/*
 * Host code (drivers, BIOS, utilities, etc.) should leave this define set to
 * Host code (drivers, BIOS, utilities, etc.) should leave this define set to
 * one and check Header.ExtPageLength or NumPhys at runtime.
 * one and check the value returned for NumPhys at runtime.
 */
 */
#ifndef MPI2_SAS_IOUNIT1_PHY_MAX
#ifndef MPI2_SAS_IOUNIT1_PHY_MAX
#define MPI2_SAS_IOUNIT1_PHY_MAX        (1)
#define MPI2_SAS_IOUNIT1_PHY_MAX        (1)
@@ -1795,7 +1816,7 @@ typedef struct _MPI2_SAS_IOUNIT4_SPINUP_GROUP


/*
/*
 * Host code (drivers, BIOS, utilities, etc.) should leave this define set to
 * Host code (drivers, BIOS, utilities, etc.) should leave this define set to
 * four and check Header.ExtPageLength or NumPhys at runtime.
 * one and check the value returned for NumPhys at runtime.
 */
 */
#ifndef MPI2_SAS_IOUNIT4_PHY_MAX
#ifndef MPI2_SAS_IOUNIT4_PHY_MAX
#define MPI2_SAS_IOUNIT4_PHY_MAX        (4)
#define MPI2_SAS_IOUNIT4_PHY_MAX        (4)
@@ -1833,7 +1854,7 @@ typedef struct _MPI2_CONFIG_PAGE_SASIOUNIT_4


typedef struct _MPI2_SAS_IO_UNIT5_PHY_PM_SETTINGS {
typedef struct _MPI2_SAS_IO_UNIT5_PHY_PM_SETTINGS {
    U8          ControlFlags;               /* 0x00 */
    U8          ControlFlags;               /* 0x00 */
    U8          Reserved1;                  /* 0x01 */
    U8          PortWidthModGroup;          /* 0x01 */
    U16         InactivityTimerExponent;    /* 0x02 */
    U16         InactivityTimerExponent;    /* 0x02 */
    U8          SATAPartialTimeout;         /* 0x04 */
    U8          SATAPartialTimeout;         /* 0x04 */
    U8          Reserved2;                  /* 0x05 */
    U8          Reserved2;                  /* 0x05 */
@@ -1853,6 +1874,9 @@ typedef struct _MPI2_SAS_IO_UNIT5_PHY_PM_SETTINGS {
#define MPI2_SASIOUNIT5_CONTROL_SATA_SLUMBER_ENABLE     (0x02)
#define MPI2_SASIOUNIT5_CONTROL_SATA_SLUMBER_ENABLE     (0x02)
#define MPI2_SASIOUNIT5_CONTROL_SATA_PARTIAL_ENABLE     (0x01)
#define MPI2_SASIOUNIT5_CONTROL_SATA_PARTIAL_ENABLE     (0x01)


/* defines for PortWidthModeGroup field */
#define MPI2_SASIOUNIT5_PWMG_DISABLE                    (0xFF)

/* defines for InactivityTimerExponent field */
/* defines for InactivityTimerExponent field */
#define MPI2_SASIOUNIT5_ITE_MASK_SAS_SLUMBER            (0x7000)
#define MPI2_SASIOUNIT5_ITE_MASK_SAS_SLUMBER            (0x7000)
#define MPI2_SASIOUNIT5_ITE_SHIFT_SAS_SLUMBER           (12)
#define MPI2_SASIOUNIT5_ITE_SHIFT_SAS_SLUMBER           (12)
@@ -1874,7 +1898,7 @@ typedef struct _MPI2_SAS_IO_UNIT5_PHY_PM_SETTINGS {


/*
/*
 * Host code (drivers, BIOS, utilities, etc.) should leave this define set to
 * Host code (drivers, BIOS, utilities, etc.) should leave this define set to
 * one and check Header.ExtPageLength or NumPhys at runtime.
 * one and check the value returned for NumPhys at runtime.
 */
 */
#ifndef MPI2_SAS_IOUNIT5_PHY_MAX
#ifndef MPI2_SAS_IOUNIT5_PHY_MAX
#define MPI2_SAS_IOUNIT5_PHY_MAX        (1)
#define MPI2_SAS_IOUNIT5_PHY_MAX        (1)
@@ -1892,7 +1916,132 @@ typedef struct _MPI2_CONFIG_PAGE_SASIOUNIT_5 {
  MPI2_POINTER PTR_MPI2_CONFIG_PAGE_SASIOUNIT_5,
  MPI2_POINTER PTR_MPI2_CONFIG_PAGE_SASIOUNIT_5,
  Mpi2SasIOUnitPage5_t, MPI2_POINTER pMpi2SasIOUnitPage5_t;
  Mpi2SasIOUnitPage5_t, MPI2_POINTER pMpi2SasIOUnitPage5_t;


#define MPI2_SASIOUNITPAGE5_PAGEVERSION     (0x00)
#define MPI2_SASIOUNITPAGE5_PAGEVERSION     (0x01)


/* SAS IO Unit Page 6 */

typedef struct _MPI2_SAS_IO_UNIT6_PORT_WIDTH_MOD_GROUP_STATUS {
    U8          CurrentStatus;              /* 0x00 */
    U8          CurrentModulation;          /* 0x01 */
    U8          CurrentUtilization;         /* 0x02 */
    U8          Reserved1;                  /* 0x03 */
    U32         Reserved2;                  /* 0x04 */
} MPI2_SAS_IO_UNIT6_PORT_WIDTH_MOD_GROUP_STATUS,
  MPI2_POINTER PTR_MPI2_SAS_IO_UNIT6_PORT_WIDTH_MOD_GROUP_STATUS,
  Mpi2SasIOUnit6PortWidthModGroupStatus_t,
  MPI2_POINTER pMpi2SasIOUnit6PortWidthModGroupStatus_t;

/* defines for CurrentStatus field */
#define MPI2_SASIOUNIT6_STATUS_UNAVAILABLE                      (0x00)
#define MPI2_SASIOUNIT6_STATUS_UNCONFIGURED                     (0x01)
#define MPI2_SASIOUNIT6_STATUS_INVALID_CONFIG                   (0x02)
#define MPI2_SASIOUNIT6_STATUS_LINK_DOWN                        (0x03)
#define MPI2_SASIOUNIT6_STATUS_OBSERVATION_ONLY                 (0x04)
#define MPI2_SASIOUNIT6_STATUS_INACTIVE                         (0x05)
#define MPI2_SASIOUNIT6_STATUS_ACTIVE_IOUNIT                    (0x06)
#define MPI2_SASIOUNIT6_STATUS_ACTIVE_HOST                      (0x07)

/* defines for CurrentModulation field */
#define MPI2_SASIOUNIT6_MODULATION_25_PERCENT                   (0x00)
#define MPI2_SASIOUNIT6_MODULATION_50_PERCENT                   (0x01)
#define MPI2_SASIOUNIT6_MODULATION_75_PERCENT                   (0x02)
#define MPI2_SASIOUNIT6_MODULATION_100_PERCENT                  (0x03)

/*
 * Host code (drivers, BIOS, utilities, etc.) should leave this define set to
 * one and check the value returned for NumGroups at runtime.
 */
#ifndef MPI2_SAS_IOUNIT6_GROUP_MAX
#define MPI2_SAS_IOUNIT6_GROUP_MAX      (1)
#endif

typedef struct _MPI2_CONFIG_PAGE_SASIOUNIT_6 {
    MPI2_CONFIG_EXTENDED_PAGE_HEADER    Header;                     /* 0x00 */
    U32                                 Reserved1;                  /* 0x08 */
    U32                                 Reserved2;                  /* 0x0C */
    U8                                  NumGroups;                  /* 0x10 */
    U8                                  Reserved3;                  /* 0x11 */
    U16                                 Reserved4;                  /* 0x12 */
    MPI2_SAS_IO_UNIT6_PORT_WIDTH_MOD_GROUP_STATUS
	PortWidthModulationGroupStatus[MPI2_SAS_IOUNIT6_GROUP_MAX]; /* 0x14 */
} MPI2_CONFIG_PAGE_SASIOUNIT_6,
  MPI2_POINTER PTR_MPI2_CONFIG_PAGE_SASIOUNIT_6,
  Mpi2SasIOUnitPage6_t, MPI2_POINTER pMpi2SasIOUnitPage6_t;

#define MPI2_SASIOUNITPAGE6_PAGEVERSION     (0x00)


/* SAS IO Unit Page 7 */

typedef struct _MPI2_SAS_IO_UNIT7_PORT_WIDTH_MOD_GROUP_SETTINGS {
    U8          Flags;                      /* 0x00 */
    U8          Reserved1;                  /* 0x01 */
    U16         Reserved2;                  /* 0x02 */
    U8          Threshold75Pct;             /* 0x04 */
    U8          Threshold50Pct;             /* 0x05 */
    U8          Threshold25Pct;             /* 0x06 */
    U8          Reserved3;                  /* 0x07 */
} MPI2_SAS_IO_UNIT7_PORT_WIDTH_MOD_GROUP_SETTINGS,
  MPI2_POINTER PTR_MPI2_SAS_IO_UNIT7_PORT_WIDTH_MOD_GROUP_SETTINGS,
  Mpi2SasIOUnit7PortWidthModGroupSettings_t,
  MPI2_POINTER pMpi2SasIOUnit7PortWidthModGroupSettings_t;

/* defines for Flags field */
#define MPI2_SASIOUNIT7_FLAGS_ENABLE_PORT_WIDTH_MODULATION  (0x01)


/*
 * Host code (drivers, BIOS, utilities, etc.) should leave this define set to
 * one and check the value returned for NumGroups at runtime.
 */
#ifndef MPI2_SAS_IOUNIT7_GROUP_MAX
#define MPI2_SAS_IOUNIT7_GROUP_MAX      (1)
#endif

typedef struct _MPI2_CONFIG_PAGE_SASIOUNIT_7 {
    MPI2_CONFIG_EXTENDED_PAGE_HEADER            Header;             /* 0x00 */
    U8                                          SamplingInterval;   /* 0x08 */
    U8                                          WindowLength;       /* 0x09 */
    U16                                         Reserved1;          /* 0x0A */
    U32                                         Reserved2;          /* 0x0C */
    U32                                         Reserved3;          /* 0x10 */
    U8                                          NumGroups;          /* 0x14 */
    U8                                          Reserved4;          /* 0x15 */
    U16                                         Reserved5;          /* 0x16 */
    MPI2_SAS_IO_UNIT7_PORT_WIDTH_MOD_GROUP_SETTINGS
	PortWidthModulationGroupSettings[MPI2_SAS_IOUNIT7_GROUP_MAX]; /* 0x18 */
} MPI2_CONFIG_PAGE_SASIOUNIT_7,
  MPI2_POINTER PTR_MPI2_CONFIG_PAGE_SASIOUNIT_7,
  Mpi2SasIOUnitPage7_t, MPI2_POINTER pMpi2SasIOUnitPage7_t;

#define MPI2_SASIOUNITPAGE7_PAGEVERSION     (0x00)


/* SAS IO Unit Page 8 */

typedef struct _MPI2_CONFIG_PAGE_SASIOUNIT_8 {
    MPI2_CONFIG_EXTENDED_PAGE_HEADER    Header;			/* 0x00 */
    U32                                 Reserved1;		/* 0x08 */
    U32                                 PowerManagementCapabilities;/* 0x0C */
    U32                                 Reserved2;		/* 0x10 */
} MPI2_CONFIG_PAGE_SASIOUNIT_8,
  MPI2_POINTER PTR_MPI2_CONFIG_PAGE_SASIOUNIT_8,
  Mpi2SasIOUnitPage8_t, MPI2_POINTER pMpi2SasIOUnitPage8_t;

#define MPI2_SASIOUNITPAGE8_PAGEVERSION     (0x00)

/* defines for PowerManagementCapabilities field */
#define MPI2_SASIOUNIT8_PM_HOST_PORT_WIDTH_MOD          (0x000001000)
#define MPI2_SASIOUNIT8_PM_HOST_SAS_SLUMBER_MODE        (0x000000800)
#define MPI2_SASIOUNIT8_PM_HOST_SAS_PARTIAL_MODE        (0x000000400)
#define MPI2_SASIOUNIT8_PM_HOST_SATA_SLUMBER_MODE       (0x000000200)
#define MPI2_SASIOUNIT8_PM_HOST_SATA_PARTIAL_MODE       (0x000000100)
#define MPI2_SASIOUNIT8_PM_IOUNIT_PORT_WIDTH_MOD        (0x000000010)
#define MPI2_SASIOUNIT8_PM_IOUNIT_SAS_SLUMBER_MODE      (0x000000008)
#define MPI2_SASIOUNIT8_PM_IOUNIT_SAS_PARTIAL_MODE      (0x000000004)
#define MPI2_SASIOUNIT8_PM_IOUNIT_SATA_SLUMBER_MODE     (0x000000002)
#define MPI2_SASIOUNIT8_PM_IOUNIT_SATA_PARTIAL_MODE     (0x000000001)






@@ -2182,7 +2331,7 @@ typedef struct _MPI2_SASPHY2_PHY_EVENT {


/*
/*
 * Host code (drivers, BIOS, utilities, etc.) should leave this define set to
 * Host code (drivers, BIOS, utilities, etc.) should leave this define set to
 * one and check Header.ExtPageLength or NumPhyEvents at runtime.
 * one and check the value returned for NumPhyEvents at runtime.
 */
 */
#ifndef MPI2_SASPHY2_PHY_EVENT_MAX
#ifndef MPI2_SASPHY2_PHY_EVENT_MAX
#define MPI2_SASPHY2_PHY_EVENT_MAX      (1)
#define MPI2_SASPHY2_PHY_EVENT_MAX      (1)
@@ -2274,7 +2423,7 @@ typedef struct _MPI2_SASPHY3_PHY_EVENT_CONFIG {


/*
/*
 * Host code (drivers, BIOS, utilities, etc.) should leave this define set to
 * Host code (drivers, BIOS, utilities, etc.) should leave this define set to
 * one and check Header.ExtPageLength or NumPhyEvents at runtime.
 * one and check the value returned for NumPhyEvents at runtime.
 */
 */
#ifndef MPI2_SASPHY3_PHY_EVENT_MAX
#ifndef MPI2_SASPHY3_PHY_EVENT_MAX
#define MPI2_SASPHY3_PHY_EVENT_MAX      (1)
#define MPI2_SASPHY3_PHY_EVENT_MAX      (1)
@@ -2385,7 +2534,7 @@ typedef struct _MPI2_CONFIG_PAGE_SAS_ENCLOSURE_0


/*
/*
 * Host code (drivers, BIOS, utilities, etc.) should leave this define set to
 * Host code (drivers, BIOS, utilities, etc.) should leave this define set to
 * one and check Header.ExtPageLength or NumPhys at runtime.
 * one and check the value returned for NumLogEntries at runtime.
 */
 */
#ifndef MPI2_LOG_0_NUM_LOG_ENTRIES
#ifndef MPI2_LOG_0_NUM_LOG_ENTRIES
#define MPI2_LOG_0_NUM_LOG_ENTRIES          (1)
#define MPI2_LOG_0_NUM_LOG_ENTRIES          (1)
@@ -2435,7 +2584,7 @@ typedef struct _MPI2_CONFIG_PAGE_LOG_0


/*
/*
 * Host code (drivers, BIOS, utilities, etc.) should leave this define set to
 * Host code (drivers, BIOS, utilities, etc.) should leave this define set to
 * one and check Header.ExtPageLength or NumPhys at runtime.
 * one and check the value returned for NumElements at runtime.
 */
 */
#ifndef MPI2_RAIDCONFIG0_MAX_ELEMENTS
#ifndef MPI2_RAIDCONFIG0_MAX_ELEMENTS
#define MPI2_RAIDCONFIG0_MAX_ELEMENTS       (1)
#define MPI2_RAIDCONFIG0_MAX_ELEMENTS       (1)
+2 −15
Original line number Original line Diff line number Diff line
@@ -6,7 +6,7 @@
 *          Title:  MPI SCSI initiator mode messages and structures
 *          Title:  MPI SCSI initiator mode messages and structures
 *  Creation Date:  June 23, 2006
 *  Creation Date:  June 23, 2006
 *
 *
 *    mpi2_init.h Version:  02.00.08
 *    mpi2_init.h Version:  02.00.09
 *
 *
 *  Version History
 *  Version History
 *  ---------------
 *  ---------------
@@ -31,6 +31,7 @@
 *                      both SCSI IO Error Reply and SCSI Task Management Reply.
 *                      both SCSI IO Error Reply and SCSI Task Management Reply.
 *                      Added ResponseInfo field to MPI2_SCSI_TASK_MANAGE_REPLY.
 *                      Added ResponseInfo field to MPI2_SCSI_TASK_MANAGE_REPLY.
 *                      Added MPI2_SCSITASKMGMT_RSP_TM_OVERLAPPED_TAG define.
 *                      Added MPI2_SCSITASKMGMT_RSP_TM_OVERLAPPED_TAG define.
 *  02-10-10  02.00.09  Removed unused structure that had "#if 0" around it.
 *  --------------------------------------------------------------------------
 *  --------------------------------------------------------------------------
 */
 */


@@ -57,20 +58,6 @@ typedef struct
} MPI2_SCSI_IO_CDB_EEDP32, MPI2_POINTER PTR_MPI2_SCSI_IO_CDB_EEDP32,
} MPI2_SCSI_IO_CDB_EEDP32, MPI2_POINTER PTR_MPI2_SCSI_IO_CDB_EEDP32,
  Mpi2ScsiIoCdbEedp32_t, MPI2_POINTER pMpi2ScsiIoCdbEedp32_t;
  Mpi2ScsiIoCdbEedp32_t, MPI2_POINTER pMpi2ScsiIoCdbEedp32_t;


/* TBD: I don't think this is needed for MPI2/Gen2 */
#if 0
typedef struct
{
    U8                      CDB[16];                    /* 0x00 */
    U32                     DataLength;                 /* 0x10 */
    U32                     PrimaryReferenceTag;        /* 0x14 */
    U16                     PrimaryApplicationTag;      /* 0x18 */
    U16                     PrimaryApplicationTagMask;  /* 0x1A */
    U32                     TransferLength;             /* 0x1C */
} MPI2_SCSI_IO32_CDB_EEDP16, MPI2_POINTER PTR_MPI2_SCSI_IO32_CDB_EEDP16,
  Mpi2ScsiIo32CdbEedp16_t, MPI2_POINTER pMpi2ScsiIo32CdbEedp16_t;
#endif

typedef union
typedef union
{
{
    U8                      CDB32[32];
    U8                      CDB32[32];
+117 −2

File changed.

Preview size limit exceeded, changes collapsed.

+5 −2
Original line number Original line Diff line number Diff line
@@ -223,9 +223,12 @@ static struct pci_device_id scsih_pci_table[] = {
		PCI_ANY_ID, PCI_ANY_ID },
		PCI_ANY_ID, PCI_ANY_ID },
	{ MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2208_6,
	{ MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2208_6,
		PCI_ANY_ID, PCI_ANY_ID },
		PCI_ANY_ID, PCI_ANY_ID },
	{ MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2208_7,
	/* Mustang ~ 2308 */
	{ MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2308_1,
		PCI_ANY_ID, PCI_ANY_ID },
		PCI_ANY_ID, PCI_ANY_ID },
	{ MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2208_8,
	{ MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2308_2,
		PCI_ANY_ID, PCI_ANY_ID },
	{ MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2308_3,
		PCI_ANY_ID, PCI_ANY_ID },
		PCI_ANY_ID, PCI_ANY_ID },
	{0}	/* Terminating entry */
	{0}	/* Terminating entry */
};
};