mpi_tool.h revision 1da177e4c3f41524e886b7f1b8a0c1fc7321cac
11da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
21da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *  Copyright (c) 2001-2003 LSI Logic Corporation.
31da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *
41da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *
51da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *           Name:  mpi_tool.h
61da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *          Title:  MPI Toolbox structures and definitions
71da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *  Creation Date:  July 30, 2001
81da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *
91da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *    mpi_tool.h Version:  01.05.xx
101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *
111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *  Version History
121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *  ---------------
131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *
141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *  Date      Version   Description
151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *  --------  --------  ------------------------------------------------------
161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *  08-08-01  01.02.01  Original release.
171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *  08-29-01  01.02.02  Added DIAG_DATA_UPLOAD_HEADER and related defines.
181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *  --------------------------------------------------------------------------
191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#ifndef MPI_TOOL_H
221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_TOOL_H
231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_TOOLBOX_CLEAN_TOOL                      (0x00)
251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_TOOLBOX_MEMORY_MOVE_TOOL                (0x01)
261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_TOOLBOX_DIAG_DATA_UPLOAD_TOOL           (0x02)
271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_TOOLBOX_ISTWI_READ_WRITE_TOOL           (0x03)
281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_TOOLBOX_FC_MANAGEMENT_TOOL              (0x04)
291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/****************************************************************************/
321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* Toolbox reply                                                            */
331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/****************************************************************************/
341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldstypedef struct _MSG_TOOLBOX_REPLY
361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds{
371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      Tool;                       /* 00h */
381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      Reserved;                   /* 01h */
391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      MsgLength;                  /* 02h */
401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      Function;                   /* 03h */
411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U16                     Reserved1;                  /* 04h */
421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      Reserved2;                  /* 06h */
431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      MsgFlags;                   /* 07h */
441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U32                     MsgContext;                 /* 08h */
451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U16                     Reserved3;                  /* 0Ch */
461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U16                     IOCStatus;                  /* 0Eh */
471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U32                     IOCLogInfo;                 /* 10h */
481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds} MSG_TOOLBOX_REPLY, MPI_POINTER PTR_MSG_TOOLBOX_REPLY,
491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds  ToolboxReply_t, MPI_POINTER pToolboxReply_t;
504186ecf8ad16dd05759a09594de6a87e48759ba6Arjan van de Ven
511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/****************************************************************************/
531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* Toolbox Clean Tool request                                               */
541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/****************************************************************************/
551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldstypedef struct _MSG_TOOLBOX_CLEAN_REQUEST
571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds{
581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      Tool;                       /* 00h */
591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      Reserved;                   /* 01h */
601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      ChainOffset;                /* 02h */
611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      Function;                   /* 03h */
621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U16                     Reserved1;                  /* 04h */
631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      Reserved2;                  /* 06h */
641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      MsgFlags;                   /* 07h */
651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U32                     MsgContext;                 /* 08h */
661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U32                     Flags;                      /* 0Ch */
671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds} MSG_TOOLBOX_CLEAN_REQUEST, MPI_POINTER PTR_MSG_TOOLBOX_CLEAN_REQUEST,
681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds  ToolboxCleanRequest_t, MPI_POINTER pToolboxCleanRequest_t;
691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_TOOLBOX_CLEAN_NVSRAM                    (0x00000001)
711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_TOOLBOX_CLEAN_SEEPROM                   (0x00000002)
721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_TOOLBOX_CLEAN_FLASH                     (0x00000004)
731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_TOOLBOX_CLEAN_BOOTLOADER                (0x04000000)
741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_TOOLBOX_CLEAN_FW_BACKUP                 (0x08000000)
753a3416b12f1fbd607bc137a57c924a628aa5485cAlan Stern#define MPI_TOOLBOX_CLEAN_FW_CURRENT                (0x10000000)
763a3416b12f1fbd607bc137a57c924a628aa5485cAlan Stern#define MPI_TOOLBOX_CLEAN_OTHER_PERSIST_PAGES       (0x20000000)
771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_TOOLBOX_CLEAN_PERSIST_MANUFACT_PAGES    (0x40000000)
781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_TOOLBOX_CLEAN_BOOT_SERVICES             (0x80000000)
791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/****************************************************************************/
821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* Toolbox Memory Move request                                              */
833a3416b12f1fbd607bc137a57c924a628aa5485cAlan Stern/****************************************************************************/
843a3416b12f1fbd607bc137a57c924a628aa5485cAlan Stern
853a3416b12f1fbd607bc137a57c924a628aa5485cAlan Sterntypedef struct _MSG_TOOLBOX_MEM_MOVE_REQUEST
863a3416b12f1fbd607bc137a57c924a628aa5485cAlan Stern{
873a3416b12f1fbd607bc137a57c924a628aa5485cAlan Stern    U8                      Tool;                       /* 00h */
883a3416b12f1fbd607bc137a57c924a628aa5485cAlan Stern    U8                      Reserved;                   /* 01h */
893a3416b12f1fbd607bc137a57c924a628aa5485cAlan Stern    U8                      ChainOffset;                /* 02h */
903a3416b12f1fbd607bc137a57c924a628aa5485cAlan Stern    U8                      Function;                   /* 03h */
913a3416b12f1fbd607bc137a57c924a628aa5485cAlan Stern    U16                     Reserved1;                  /* 04h */
923a3416b12f1fbd607bc137a57c924a628aa5485cAlan Stern    U8                      Reserved2;                  /* 06h */
933a3416b12f1fbd607bc137a57c924a628aa5485cAlan Stern    U8                      MsgFlags;                   /* 07h */
943a3416b12f1fbd607bc137a57c924a628aa5485cAlan Stern    U32                     MsgContext;                 /* 08h */
953a3416b12f1fbd607bc137a57c924a628aa5485cAlan Stern    SGE_SIMPLE_UNION        SGL;                        /* 0Ch */
961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds} MSG_TOOLBOX_MEM_MOVE_REQUEST, MPI_POINTER PTR_MSG_TOOLBOX_MEM_MOVE_REQUEST,
971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds  ToolboxMemMoveRequest_t, MPI_POINTER pToolboxMemMoveRequest_t;
981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/****************************************************************************/
1011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* Toolbox Diagnostic Data Upload request                                   */
1021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/****************************************************************************/
1031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldstypedef struct _MSG_TOOLBOX_DIAG_DATA_UPLOAD_REQUEST
1051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds{
1061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      Tool;                       /* 00h */
1071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      Reserved;                   /* 01h */
1081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      ChainOffset;                /* 02h */
1091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      Function;                   /* 03h */
1101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U16                     Reserved1;                  /* 04h */
1111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      Reserved2;                  /* 06h */
1121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      MsgFlags;                   /* 07h */
1131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U32                     MsgContext;                 /* 08h */
1141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U32                     Flags;                      /* 0Ch */
1151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U32                     Reserved3;                  /* 10h */
1161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    SGE_SIMPLE_UNION        SGL;                        /* 14h */
1171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds} MSG_TOOLBOX_DIAG_DATA_UPLOAD_REQUEST, MPI_POINTER PTR_MSG_TOOLBOX_DIAG_DATA_UPLOAD_REQUEST,
1181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds  ToolboxDiagDataUploadRequest_t, MPI_POINTER pToolboxDiagDataUploadRequest_t;
1191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldstypedef struct _DIAG_DATA_UPLOAD_HEADER
1211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds{
1221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U32                     DiagDataLength;             /* 00h */
1231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      FormatCode;                 /* 04h */
1241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      Reserved;                   /* 05h */
1251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U16                     Reserved1;                  /* 06h */
1261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds} DIAG_DATA_UPLOAD_HEADER, MPI_POINTER PTR_DIAG_DATA_UPLOAD_HEADER,
1271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds  DiagDataUploadHeader_t, MPI_POINTER pDiagDataUploadHeader_t;
12828120be5d6830cd7c7777d8bf570bdb20abef58aPaul Walmsley
1291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_TB_DIAG_FORMAT_SCSI_PRINTF_1            (0x01)
130883d989a7edf7a62e38e9150990b56209420e9e5Phil Dibowitz#define MPI_TB_DIAG_FORMAT_SCSI_2                   (0x02)
131883d989a7edf7a62e38e9150990b56209420e9e5Phil Dibowitz#define MPI_TB_DIAG_FORMAT_SCSI_3                   (0x03)
132883d989a7edf7a62e38e9150990b56209420e9e5Phil Dibowitz#define MPI_TB_DIAG_FORMAT_FC_TRACE_1               (0x04)
133883d989a7edf7a62e38e9150990b56209420e9e5Phil Dibowitz
134883d989a7edf7a62e38e9150990b56209420e9e5Phil Dibowitz
1351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/****************************************************************************/
1361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* Toolbox ISTWI Read Write request                                         */
1371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/****************************************************************************/
1381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldstypedef struct _MSG_TOOLBOX_ISTWI_READ_WRITE_REQUEST
1401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds{
1411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      Tool;                       /* 00h */
1421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      Reserved;                   /* 01h */
1431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      ChainOffset;                /* 02h */
1441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      Function;                   /* 03h */
1451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U16                     Reserved1;                  /* 04h */
1461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      Reserved2;                  /* 06h */
1471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      MsgFlags;                   /* 07h */
1481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U32                     MsgContext;                 /* 08h */
1491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      Flags;                      /* 0Ch */
1501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      BusNum;                     /* 0Dh */
1511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U16                     Reserved3;                  /* 0Eh */
1521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      NumAddressBytes;            /* 10h */
1531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      Reserved4;                  /* 11h */
1541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U16                     DataLength;                 /* 12h */
1551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      DeviceAddr;                 /* 14h */
1561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      Addr1;                      /* 15h */
1571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      Addr2;                      /* 16h */
1581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      Addr3;                      /* 17h */
1591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U32                     Reserved5;                  /* 18h */
1601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    SGE_SIMPLE_UNION        SGL;                        /* 1Ch */
1611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds} MSG_TOOLBOX_ISTWI_READ_WRITE_REQUEST, MPI_POINTER PTR_MSG_TOOLBOX_ISTWI_READ_WRITE_REQUEST,
1621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds  ToolboxIstwiReadWriteRequest_t, MPI_POINTER pToolboxIstwiReadWriteRequest_t;
1631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_TB_ISTWI_FLAGS_WRITE                    (0x00)
1651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_TB_ISTWI_FLAGS_READ                     (0x01)
1661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/****************************************************************************/
1691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* Toolbox FC Management request                                            */
1701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/****************************************************************************/
1711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
17286dbde9cbdfe8bc2c2dfe5d33027d3acc55e0470Matthew Dharm/* ActionInfo for Bus and TargetId */
173a4e628328ec60873fec9d506d682155391f589ceMatthew Dharmtypedef struct _MPI_TB_FC_MANAGE_BUS_TID_AI
174a4e628328ec60873fec9d506d682155391f589ceMatthew Dharm{
175a4e628328ec60873fec9d506d682155391f589ceMatthew Dharm    U16                     Reserved;                   /* 00h */
176a4e628328ec60873fec9d506d682155391f589ceMatthew Dharm    U8                      Bus;                        /* 02h */
177a4e628328ec60873fec9d506d682155391f589ceMatthew Dharm    U8                      TargetId;                   /* 03h */
178a4e628328ec60873fec9d506d682155391f589ceMatthew Dharm} MPI_TB_FC_MANAGE_BUS_TID_AI, MPI_POINTER PTR_MPI_TB_FC_MANAGE_BUS_TID_AI,
17928120be5d6830cd7c7777d8bf570bdb20abef58aPaul Walmsley  MpiTbFcManageBusTidAi_t, MPI_POINTER pMpiTbFcManageBusTidAi_t;
180a4e628328ec60873fec9d506d682155391f589ceMatthew Dharm
18186dbde9cbdfe8bc2c2dfe5d33027d3acc55e0470Matthew Dharm/* ActionInfo for port identifier */
18286dbde9cbdfe8bc2c2dfe5d33027d3acc55e0470Matthew Dharmtypedef struct _MPI_TB_FC_MANAGE_PID_AI
18386dbde9cbdfe8bc2c2dfe5d33027d3acc55e0470Matthew Dharm{
18486dbde9cbdfe8bc2c2dfe5d33027d3acc55e0470Matthew Dharm    U32                     PortIdentifier;             /* 00h */
18586dbde9cbdfe8bc2c2dfe5d33027d3acc55e0470Matthew Dharm} MPI_TB_FC_MANAGE_PID_AI, MPI_POINTER PTR_MPI_TB_FC_MANAGE_PID_AI,
18686dbde9cbdfe8bc2c2dfe5d33027d3acc55e0470Matthew Dharm  MpiTbFcManagePidAi_t, MPI_POINTER pMpiTbFcManagePidAi_t;
18786dbde9cbdfe8bc2c2dfe5d33027d3acc55e0470Matthew Dharm
18886dbde9cbdfe8bc2c2dfe5d33027d3acc55e0470Matthew Dharm/* union of ActionInfo */
1891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldstypedef union _MPI_TB_FC_MANAGE_AI_UNION
1901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds{
1911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    MPI_TB_FC_MANAGE_BUS_TID_AI     BusTid;
1921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    MPI_TB_FC_MANAGE_PID_AI         Port;
1931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds} MPI_TB_FC_MANAGE_AI_UNION, MPI_POINTER PTR_MPI_TB_FC_MANAGE_AI_UNION,
1941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds  MpiTbFcManageAiUnion_t, MPI_POINTER pMpiTbFcManageAiUnion_t;
1951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldstypedef struct _MSG_TOOLBOX_FC_MANAGE_REQUEST
1971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds{
1981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                          Tool;                   /* 00h */
1991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                          Reserved;               /* 01h */
2001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                          ChainOffset;            /* 02h */
2011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                          Function;               /* 03h */
2021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U16                         Reserved1;              /* 04h */
2031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                          Reserved2;              /* 06h */
2041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                          MsgFlags;               /* 07h */
2051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U32                         MsgContext;             /* 08h */
2061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                          Action;                 /* 0Ch */
2071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                          Reserved3;              /* 0Dh */
2081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U16                         Reserved4;              /* 0Eh */
2091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    MPI_TB_FC_MANAGE_AI_UNION   ActionInfo;             /* 10h */
2101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds} MSG_TOOLBOX_FC_MANAGE_REQUEST, MPI_POINTER PTR_MSG_TOOLBOX_FC_MANAGE_REQUEST,
2111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds  ToolboxFcManageRequest_t, MPI_POINTER pToolboxFcManageRequest_t;
2121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
2131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* defines for the Action field */
2141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_TB_FC_MANAGE_ACTION_DISC_ALL            (0x00)
2151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_TB_FC_MANAGE_ACTION_DISC_PID            (0x01)
2161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_TB_FC_MANAGE_ACTION_DISC_BUS_TID        (0x02)
2171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
2181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
2191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/****************************************************************************/
2201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* Diagnostic Buffer Post request                                           */
2211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/****************************************************************************/
2221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
2231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldstypedef struct _MSG_DIAG_BUFFER_POST_REQUEST
2241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds{
2251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      TraceLevel;                 /* 00h */
2261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      BufferType;                 /* 01h */
2271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      ChainOffset;                /* 02h */
2281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      Function;                   /* 03h */
2291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U16                     Reserved1;                  /* 04h */
2301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      Reserved2;                  /* 06h */
2311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      MsgFlags;                   /* 07h */
2321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U32                     MsgContext;                 /* 08h */
2331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U32                     ExtendedType;               /* 0Ch */
2341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U32                     BufferLength;               /* 10h */
2351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U32                     ProductSpecific[4];         /* 14h */
2361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U32                     Reserved3;                  /* 18h */
2371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    SGE_SIMPLE_UNION        SGL;                        /* 28h */
2381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds} MSG_DIAG_BUFFER_POST_REQUEST, MPI_POINTER PTR_MSG_DIAG_BUFFER_POST_REQUEST,
2391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds  DiagBufferPostRequest_t, MPI_POINTER pDiagBufferPostRequest_t;
2401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
2411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_DIAG_BUF_TYPE_TRACE                     (0x00)
2421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_DIAG_BUF_TYPE_SNAPSHOT                  (0x01)
2431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_DIAG_BUF_TYPE_EXTENDED                  (0x02)
2441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
2451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_DIAG_EXTENDED_QTAG                      (0x00000001)
2461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
2471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
2481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* Diagnostic Buffer Post reply */
2491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldstypedef struct _MSG_DIAG_BUFFER_POST_REPLY
250226173edae1c49c68ebb723771a02302c85e3475Matthew Dharm{
251226173edae1c49c68ebb723771a02302c85e3475Matthew Dharm    U8                      Reserved1;                  /* 00h */
252226173edae1c49c68ebb723771a02302c85e3475Matthew Dharm    U8                      BufferType;                 /* 01h */
253226173edae1c49c68ebb723771a02302c85e3475Matthew Dharm    U8                      MsgLength;                  /* 02h */
2541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      Function;                   /* 03h */
2551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U16                     Reserved2;                  /* 04h */
256226173edae1c49c68ebb723771a02302c85e3475Matthew Dharm    U8                      Reserved3;                  /* 06h */
2571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      MsgFlags;                   /* 07h */
2581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U32                     MsgContext;                 /* 08h */
2591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U16                     Reserved4;                  /* 0Ch */
2601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U16                     IOCStatus;                  /* 0Eh */
2611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U32                     IOCLogInfo;                 /* 10h */
2621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U32                     TransferLength;             /* 14h */
263226173edae1c49c68ebb723771a02302c85e3475Matthew Dharm} MSG_DIAG_BUFFER_POST_REPLY, MPI_POINTER PTR_MSG_DIAG_BUFFER_POST_REPLY,
264226173edae1c49c68ebb723771a02302c85e3475Matthew Dharm  DiagBufferPostReply_t, MPI_POINTER pDiagBufferPostReply_t;
265226173edae1c49c68ebb723771a02302c85e3475Matthew Dharm
2661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
2671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/****************************************************************************/
2681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* Diagnostic Release request                                               */
2691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/****************************************************************************/
2701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
271226173edae1c49c68ebb723771a02302c85e3475Matthew Dharmtypedef struct _MSG_DIAG_RELEASE_REQUEST
2721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds{
2731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      Reserved1;                  /* 00h */
2741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      BufferType;                 /* 01h */
2751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      ChainOffset;                /* 02h */
2761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      Function;                   /* 03h */
2771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U16                     Reserved2;                  /* 04h */
2781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      Reserved3;                  /* 06h */
2791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      MsgFlags;                   /* 07h */
2801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U32                     MsgContext;                 /* 08h */
2811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds} MSG_DIAG_RELEASE_REQUEST, MPI_POINTER PTR_MSG_DIAG_RELEASE_REQUEST,
2821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds  DiagReleaseRequest_t, MPI_POINTER pDiagReleaseRequest_t;
2831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
2841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
2851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* Diagnostic Release reply */
2861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldstypedef struct _MSG_DIAG_RELEASE_REPLY
2871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds{
2884186ecf8ad16dd05759a09594de6a87e48759ba6Arjan van de Ven    U8                      Reserved1;                  /* 00h */
2894d07ef762fc8d6d35ecc1511a3b953a733a61a5fMatthew Dharm    U8                      BufferType;                 /* 01h */
2904186ecf8ad16dd05759a09594de6a87e48759ba6Arjan van de Ven    U8                      MsgLength;                  /* 02h */
2911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      Function;                   /* 03h */
2924d07ef762fc8d6d35ecc1511a3b953a733a61a5fMatthew Dharm    U16                     Reserved2;                  /* 04h */
2931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      Reserved3;                  /* 06h */
2941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U8                      MsgFlags;                   /* 07h */
2954d07ef762fc8d6d35ecc1511a3b953a733a61a5fMatthew Dharm    U32                     MsgContext;                 /* 08h */
2961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U16                     Reserved4;                  /* 0Ch */
2971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U16                     IOCStatus;                  /* 0Eh */
2981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds    U32                     IOCLogInfo;                 /* 10h */
2994d07ef762fc8d6d35ecc1511a3b953a733a61a5fMatthew Dharm} MSG_DIAG_RELEASE_REPLY, MPI_POINTER PTR_MSG_DIAG_RELEASE_REPLY,
3001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds  DiagReleaseReply_t, MPI_POINTER pDiagReleaseReply_t;
3011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
3024d07ef762fc8d6d35ecc1511a3b953a733a61a5fMatthew Dharm
3031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#endif
3041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
3051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
3061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds