diff options
Diffstat (limited to 'drivers/scsi/mpt2sas/mpi/mpi2_tool.h')
| -rw-r--r-- | drivers/scsi/mpt2sas/mpi/mpi2_tool.h | 70 | 
1 files changed, 61 insertions, 9 deletions
diff --git a/drivers/scsi/mpt2sas/mpi/mpi2_tool.h b/drivers/scsi/mpt2sas/mpi/mpi2_tool.h index 686b09b8121..11b2ac4e7c6 100644 --- a/drivers/scsi/mpt2sas/mpi/mpi2_tool.h +++ b/drivers/scsi/mpt2sas/mpi/mpi2_tool.h @@ -1,12 +1,12 @@  /* - *  Copyright (c) 2000-2010 LSI Corporation. + *  Copyright (c) 2000-2013 LSI Corporation.   *   *   *           Name:  mpi2_tool.h   *          Title:  MPI diagnostic tool structures and definitions   *  Creation Date:  March 26, 2007   * - *    mpi2_tool.h Version:  02.00.04 + *    mpi2_tool.h Version:  02.00.10   *   *  Version History   *  --------------- @@ -22,6 +22,13 @@   *                      and reply messages.   *                      Added MPI2_DIAG_BUF_TYPE_EXTENDED.   *                      Incremented MPI2_DIAG_BUF_TYPE_COUNT. + *  05-12-10  02.00.05  Added Diagnostic Data Upload tool. + *  08-11-10  02.00.06  Added defines that were missing for Diagnostic Buffer + *                      Post Request. + *  05-25-11  02.00.07  Added Flags field and related defines to + *                      MPI2_TOOLBOX_ISTWI_READ_WRITE_REQUEST. + *  07-26-12  02.00.10  Modified MPI2_TOOLBOX_DIAGNOSTIC_CLI_REQUEST so that + *			it uses MPI Chain SGE as well as MPI Simple SGE.   *  --------------------------------------------------------------------------   */ @@ -37,6 +44,7 @@  /* defines for the Tools */  #define MPI2_TOOLBOX_CLEAN_TOOL                     (0x00)  #define MPI2_TOOLBOX_MEMORY_MOVE_TOOL               (0x01) +#define MPI2_TOOLBOX_DIAG_DATA_UPLOAD_TOOL          (0x02)  #define MPI2_TOOLBOX_ISTWI_READ_WRITE_TOOL          (0x03)  #define MPI2_TOOLBOX_BEACON_TOOL                    (0x05)  #define MPI2_TOOLBOX_DIAGNOSTIC_CLI_TOOL            (0x06) @@ -102,8 +110,7 @@ typedef struct _MPI2_TOOLBOX_CLEAN_REQUEST  *  Toolbox Memory Move request  ****************************************************************************/ -typedef struct _MPI2_TOOLBOX_MEM_MOVE_REQUEST -{ +typedef struct _MPI2_TOOLBOX_MEM_MOVE_REQUEST {      U8                      Tool;                       /* 0x00 */      U8                      Reserved1;                  /* 0x01 */      U8                      ChainOffset;                /* 0x02 */ @@ -120,6 +127,44 @@ typedef struct _MPI2_TOOLBOX_MEM_MOVE_REQUEST  /**************************************************************************** +*  Toolbox Diagnostic Data Upload request +****************************************************************************/ + +typedef struct _MPI2_TOOLBOX_DIAG_DATA_UPLOAD_REQUEST { +	U8                      Tool;                       /* 0x00 */ +	U8                      Reserved1;                  /* 0x01 */ +	U8                      ChainOffset;                /* 0x02 */ +	U8                      Function;                   /* 0x03 */ +	U16                     Reserved2;                  /* 0x04 */ +	U8                      Reserved3;                  /* 0x06 */ +	U8                      MsgFlags;                   /* 0x07 */ +	U8                      VP_ID;                      /* 0x08 */ +	U8                      VF_ID;                      /* 0x09 */ +	U16                     Reserved4;                  /* 0x0A */ +	U8                      SGLFlags;                   /* 0x0C */ +	U8                      Reserved5;                  /* 0x0D */ +	U16                     Reserved6;                  /* 0x0E */ +	U32                     Flags;                      /* 0x10 */ +	U32                     DataLength;                 /* 0x14 */ +	MPI2_SGE_SIMPLE_UNION   SGL;                        /* 0x18 */ +} MPI2_TOOLBOX_DIAG_DATA_UPLOAD_REQUEST, +MPI2_POINTER PTR_MPI2_TOOLBOX_DIAG_DATA_UPLOAD_REQUEST, +Mpi2ToolboxDiagDataUploadRequest_t, +MPI2_POINTER pMpi2ToolboxDiagDataUploadRequest_t; + +/* use MPI2_SGLFLAGS_ defines from mpi2.h for the SGLFlags field */ + + +typedef struct _MPI2_DIAG_DATA_UPLOAD_HEADER { +	U32                     DiagDataLength;             /* 00h */ +	U8                      FormatCode;                 /* 04h */ +	U8                      Reserved1;                  /* 05h */ +	U16                     Reserved2;                  /* 06h */ +} MPI2_DIAG_DATA_UPLOAD_HEADER, MPI2_POINTER PTR_MPI2_DIAG_DATA_UPLOAD_HEADER, +Mpi2DiagDataUploadHeader_t, MPI2_POINTER pMpi2DiagDataUploadHeader_t; + + +/****************************************************************************  *  Toolbox ISTWI Read Write Tool  ****************************************************************************/ @@ -140,7 +185,7 @@ typedef struct _MPI2_TOOLBOX_ISTWI_READ_WRITE_REQUEST {      U8                      DevIndex;                   /* 0x14 */      U8                      Action;                     /* 0x15 */      U8                      SGLFlags;                   /* 0x16 */ -    U8                      Reserved7;                  /* 0x17 */ +	 U8                      Flags;                      /* 0x17 */      U16                     TxDataLength;               /* 0x18 */      U16                     RxDataLength;               /* 0x1A */      U32                     Reserved8;                  /* 0x1C */ @@ -162,8 +207,11 @@ typedef struct _MPI2_TOOLBOX_ISTWI_READ_WRITE_REQUEST {  #define MPI2_TOOL_ISTWI_ACTION_RELEASE_BUS          (0x11)  #define MPI2_TOOL_ISTWI_ACTION_RESET                (0x12) -/* values for SGLFlags field are in the SGL section of mpi2.h */ +/* use MPI2_SGLFLAGS_ defines from mpi2.h for the SGLFlags field */ +/* values for the Flags field */ +#define MPI2_TOOL_ISTWI_FLAG_AUTO_RESERVE_RELEASE   (0x80) +#define MPI2_TOOL_ISTWI_FLAG_PAGE_ADDR_MASK         (0x07)  /* Toolbox ISTWI Read Write Tool reply message */  typedef struct _MPI2_TOOLBOX_ISTWI_REPLY { @@ -224,7 +272,7 @@ typedef struct _MPI2_TOOLBOX_BEACON_REQUEST  #define MPI2_TOOLBOX_DIAG_CLI_CMD_LENGTH    (0x5C) -/* Toolbox Diagnostic CLI Tool request message */ +/* MPI v2.0 Toolbox Diagnostic CLI Tool request message */  typedef struct _MPI2_TOOLBOX_DIAGNOSTIC_CLI_REQUEST {      U8                      Tool;                       /* 0x00 */      U8                      Reserved1;                  /* 0x01 */ @@ -242,13 +290,13 @@ typedef struct _MPI2_TOOLBOX_DIAGNOSTIC_CLI_REQUEST {      U32                     DataLength;                 /* 0x10 */      U8                      DiagnosticCliCommand  		[MPI2_TOOLBOX_DIAG_CLI_CMD_LENGTH];     /* 0x14 */ -    MPI2_SGE_SIMPLE_UNION   SGL;                        /* 0x70 */ +	MPI2_MPI_SGE_IO_UNION   SGL;                        /* 0x70 */  } MPI2_TOOLBOX_DIAGNOSTIC_CLI_REQUEST,    MPI2_POINTER PTR_MPI2_TOOLBOX_DIAGNOSTIC_CLI_REQUEST,    Mpi2ToolboxDiagnosticCliRequest_t,    MPI2_POINTER pMpi2ToolboxDiagnosticCliRequest_t; -/* values for SGLFlags field are in the SGL section of mpi2.h */ +/* use MPI2_SGLFLAGS_ defines from mpi2.h for the SGLFlags field */  /* Toolbox Diagnostic CLI Tool reply message */ @@ -315,6 +363,10 @@ typedef struct _MPI2_DIAG_BUFFER_POST_REQUEST  /* count of the number of buffer types */  #define MPI2_DIAG_BUF_TYPE_COUNT                    (0x03) +/* values for the Flags field */ +#define MPI2_DIAG_BUF_FLAG_RELEASE_ON_FULL          (0x00000002) +#define MPI2_DIAG_BUF_FLAG_IMMEDIATE_RELEASE        (0x00000001) +  /****************************************************************************  *  Diagnostic Buffer Post reply  | 
