Print this page
Initial modifications using the code changes present between
the LSI source code for FreeBSD drivers. Specifically the changes
between from mpslsi-source-17.00.00.00 -> mpslsi-source-03.00.00.00.
This mainly involves using a different scatter/gather element in
frame setup.

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/sys/scsi/adapters/mpt_sas3/mpi/mpi2_tool.h
          +++ new/usr/src/uts/common/sys/scsi/adapters/mpt_sas3/mpi/mpi2_tool.h
↓ open down ↓ 12 lines elided ↑ open up ↑
  13   13   * When distributing Covered Code, include this CDDL HEADER in each
  14   14   * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15   15   * If applicable, add the following below this CDDL HEADER, with the
  16   16   * fields enclosed by brackets "[]" replaced with your own identifying
  17   17   * information: Portions Copyright [yyyy] [name of copyright owner]
  18   18   *
  19   19   * CDDL HEADER END
  20   20   */
  21   21  
  22   22  /*
  23      - * Copyright (c) 2000 to 2009, LSI Corporation.
  24      - * All rights reserved.
       23 + *  Copyright (c) 2000-2012 LSI Corporation.
  25   24   *
  26   25   * Redistribution and use in source and binary forms of all code within
  27   26   * this file that is exclusively owned by LSI, with or without
  28   27   * modification, is permitted provided that, in addition to the CDDL 1.0
  29   28   * License requirements, the following conditions are met:
  30   29   *
  31   30   *    Neither the name of the author nor the names of its contributors may be
  32   31   *    used to endorse or promote products derived from this software without
  33   32   *    specific prior written permission.
  34   33   *
↓ open down ↓ 9 lines elided ↑ open up ↑
  44   43   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  45   44   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
  46   45   * DAMAGE.
  47   46   */
  48   47  
  49   48  /*
  50   49   *           Name:  mpi2_tool.h
  51   50   *          Title:  MPI diagnostic tool structures and definitions
  52   51   *  Creation Date:  March 26, 2007
  53   52   *
  54      - *    mpi2_tool.h Version:  02.00.04
       53 + *    mpi2_tool.h Version:  02.00.06
  55   54   *
  56   55   *  Version History
  57   56   *  ---------------
  58   57   *
  59   58   *  Date      Version   Description
  60   59   *  --------  --------  ------------------------------------------------------
  61   60   *  04-30-07  02.00.00  Corresponds to Fusion-MPT MPI Specification Rev A.
  62   61   *  12-18-07  02.00.01  Added Diagnostic Buffer Post and Diagnostic Release
  63   62   *                      structures and defines.
  64   63   *  02-29-08  02.00.02  Modified various names to make them 32-character unique.
  65   64   *  05-06-09  02.00.03  Added ISTWI Read Write Tool and Diagnostic CLI Tool.
  66   65   *  07-30-09  02.00.04  Added ExtendedType field to DiagnosticBufferPost request
  67   66   *                      and reply messages.
  68   67   *                      Added MPI2_DIAG_BUF_TYPE_EXTENDED.
  69   68   *                      Incremented MPI2_DIAG_BUF_TYPE_COUNT.
       69 + *  05-12-10  02.00.05  Added Diagnostic Data Upload tool.
       70 + *  08-11-10  02.00.06  Added defines that were missing for Diagnostic Buffer
       71 + *                      Post Request.
  70   72   *  --------------------------------------------------------------------------
  71   73   */
  72   74  
  73   75  #ifndef MPI2_TOOL_H
  74   76  #define MPI2_TOOL_H
  75   77  
  76   78  /*****************************************************************************
  77   79  *
  78   80  *               Toolbox Messages
  79   81  *
  80   82  *****************************************************************************/
  81   83  
  82   84  /* defines for the Tools */
  83   85  #define MPI2_TOOLBOX_CLEAN_TOOL                     (0x00)
  84   86  #define MPI2_TOOLBOX_MEMORY_MOVE_TOOL               (0x01)
       87 +#define MPI2_TOOLBOX_DIAG_DATA_UPLOAD_TOOL          (0x02)
  85   88  #define MPI2_TOOLBOX_ISTWI_READ_WRITE_TOOL          (0x03)
  86   89  #define MPI2_TOOLBOX_BEACON_TOOL                    (0x05)
  87   90  #define MPI2_TOOLBOX_DIAGNOSTIC_CLI_TOOL            (0x06)
  88   91  
  89   92  
  90   93  /****************************************************************************
  91   94  *  Toolbox reply
  92   95  ****************************************************************************/
  93   96  
  94   97  typedef struct _MPI2_TOOLBOX_REPLY
↓ open down ↓ 63 lines elided ↑ open up ↑
 158  161      U8                      MsgFlags;                   /* 0x07 */
 159  162      U8                      VP_ID;                      /* 0x08 */
 160  163      U8                      VF_ID;                      /* 0x09 */
 161  164      U16                     Reserved4;                  /* 0x0A */
 162  165      MPI2_SGE_SIMPLE_UNION   SGL;                        /* 0x0C */
 163  166  } MPI2_TOOLBOX_MEM_MOVE_REQUEST, MPI2_POINTER PTR_MPI2_TOOLBOX_MEM_MOVE_REQUEST,
 164  167    Mpi2ToolboxMemMoveRequest_t, MPI2_POINTER pMpi2ToolboxMemMoveRequest_t;
 165  168  
 166  169  
 167  170  /****************************************************************************
      171 +*  Toolbox Diagnostic Data Upload request
      172 +****************************************************************************/
      173 +
      174 +typedef struct _MPI2_TOOLBOX_DIAG_DATA_UPLOAD_REQUEST
      175 +{
      176 +    U8                      Tool;                       /* 0x00 */
      177 +    U8                      Reserved1;                  /* 0x01 */
      178 +    U8                      ChainOffset;                /* 0x02 */
      179 +    U8                      Function;                   /* 0x03 */
      180 +    U16                     Reserved2;                  /* 0x04 */
      181 +    U8                      Reserved3;                  /* 0x06 */
      182 +    U8                      MsgFlags;                   /* 0x07 */
      183 +    U8                      VP_ID;                      /* 0x08 */
      184 +    U8                      VF_ID;                      /* 0x09 */
      185 +    U16                     Reserved4;                  /* 0x0A */
      186 +    U8                      SGLFlags;                   /* 0x0C */
      187 +    U8                      Reserved5;                  /* 0x0D */
      188 +    U16                     Reserved6;                  /* 0x0E */
      189 +    U32                     Flags;                      /* 0x10 */
      190 +    U32                     DataLength;                 /* 0x14 */
      191 +    MPI2_SGE_SIMPLE_UNION   SGL;                        /* 0x18 */
      192 +} MPI2_TOOLBOX_DIAG_DATA_UPLOAD_REQUEST,
      193 +  MPI2_POINTER PTR_MPI2_TOOLBOX_DIAG_DATA_UPLOAD_REQUEST,
      194 +  Mpi2ToolboxDiagDataUploadRequest_t,
      195 +  MPI2_POINTER pMpi2ToolboxDiagDataUploadRequest_t;
      196 +
      197 +/* use MPI2_SGLFLAGS_ defines from mpi2.h for the SGLFlags field */
      198 +
      199 +
      200 +typedef struct _MPI2_DIAG_DATA_UPLOAD_HEADER
      201 +{
      202 +    U32                     DiagDataLength;             /* 00h */
      203 +    U8                      FormatCode;                 /* 04h */
      204 +    U8                      Reserved1;                  /* 05h */
      205 +    U16                     Reserved2;                  /* 06h */
      206 +} MPI2_DIAG_DATA_UPLOAD_HEADER, MPI2_POINTER PTR_MPI2_DIAG_DATA_UPLOAD_HEADER,
      207 +  Mpi2DiagDataUploadHeader_t, MPI2_POINTER pMpi2DiagDataUploadHeader_t;
      208 +
      209 +
      210 +/****************************************************************************
 168  211  *  Toolbox ISTWI Read Write Tool
 169  212  ****************************************************************************/
 170  213  
 171  214  /* Toolbox ISTWI Read Write Tool request message */
 172  215  typedef struct _MPI2_TOOLBOX_ISTWI_READ_WRITE_REQUEST
 173  216  {
 174  217      U8                      Tool;                       /* 0x00 */
 175  218      U8                      Reserved1;                  /* 0x01 */
 176  219      U8                      ChainOffset;                /* 0x02 */
 177  220      U8                      Function;                   /* 0x03 */
↓ open down ↓ 110 lines elided ↑ open up ↑
 288  331      U8                      Reserved5;                  /* 0x0D */
 289  332      U16                     Reserved6;                  /* 0x0E */
 290  333      U32                     DataLength;                 /* 0x10 */
 291  334      U8                      DiagnosticCliCommand[MPI2_TOOLBOX_DIAG_CLI_CMD_LENGTH]; /* 0x14 */
 292  335      MPI2_SGE_SIMPLE_UNION   SGL;                        /* 0x70 */
 293  336  } MPI2_TOOLBOX_DIAGNOSTIC_CLI_REQUEST,
 294  337    MPI2_POINTER PTR_MPI2_TOOLBOX_DIAGNOSTIC_CLI_REQUEST,
 295  338    Mpi2ToolboxDiagnosticCliRequest_t,
 296  339    MPI2_POINTER pMpi2ToolboxDiagnosticCliRequest_t;
 297  340  
 298      -/* values for SGLFlags field are in the SGL section of mpi2.h */
      341 +/* use MPI2_SGLFLAGS_ defines from mpi2.h for the SGLFlags field */
 299  342  
 300  343  
 301  344  /* Toolbox Diagnostic CLI Tool reply message */
 302  345  typedef struct _MPI2_TOOLBOX_DIAGNOSTIC_CLI_REPLY
 303  346  {
 304  347      U8                      Tool;                       /* 0x00 */
 305  348      U8                      Reserved1;                  /* 0x01 */
 306  349      U8                      MsgLength;                  /* 0x02 */
 307  350      U8                      Function;                   /* 0x03 */
 308  351      U16                     Reserved2;                  /* 0x04 */
↓ open down ↓ 47 lines elided ↑ open up ↑
 356  399  /* values for the ExtendedType field */
 357  400  #define MPI2_DIAG_EXTENDED_TYPE_UTILIZATION         (0x02)
 358  401  
 359  402  /* values for the BufferType field */
 360  403  #define MPI2_DIAG_BUF_TYPE_TRACE                    (0x00)
 361  404  #define MPI2_DIAG_BUF_TYPE_SNAPSHOT                 (0x01)
 362  405  #define MPI2_DIAG_BUF_TYPE_EXTENDED                 (0x02)
 363  406  /* count of the number of buffer types */
 364  407  #define MPI2_DIAG_BUF_TYPE_COUNT                    (0x03)
 365  408  
      409 +/* values for the Flags field */
      410 +#define MPI2_DIAG_BUF_FLAG_RELEASE_ON_FULL          (0x00000002) /* for MPI v2.0 products only */
      411 +#define MPI2_DIAG_BUF_FLAG_IMMEDIATE_RELEASE        (0x00000001)
 366  412  
 367  413  /****************************************************************************
 368  414  *  Diagnostic Buffer Post reply
 369  415  ****************************************************************************/
 370  416  
 371  417  typedef struct _MPI2_DIAG_BUFFER_POST_REPLY
 372  418  {
 373  419      U8                      ExtendedType;               /* 0x00 */
 374  420      U8                      BufferType;                 /* 0x01 */
 375  421      U8                      MsgLength;                  /* 0x02 */
↓ open down ↓ 60 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX