1230592Sken/*- 2281564Sslm * Copyright (c) 2007-2015 LSI Corp. 3281564Sslm * Copyright (c) 2013-2015 Avago Technologies 4230592Sken * All rights reserved. 5230592Sken * 6230592Sken * Redistribution and use in source and binary forms, with or without 7230592Sken * modification, are permitted provided that the following conditions 8230592Sken * are met: 9230592Sken * 1. Redistributions of source code must retain the above copyright 10230592Sken * notice, this list of conditions and the following disclaimer. 11230592Sken * 2. Redistributions in binary form must reproduce the above copyright 12230592Sken * notice, this list of conditions and the following disclaimer in the 13230592Sken * documentation and/or other materials provided with the distribution. 14230592Sken * 15230592Sken * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16230592Sken * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17230592Sken * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18230592Sken * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19230592Sken * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20230592Sken * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21230592Sken * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22230592Sken * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23230592Sken * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24230592Sken * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25230592Sken * SUCH DAMAGE. 26230592Sken * 27281564Sslm * Avago Technologies (LSI) MPT-Fusion Host Adapter FreeBSD 28230592Sken * 29230592Sken * $FreeBSD: releng/10.3/sys/dev/mps/mpi/mpi2_tool.h 281564 2015-04-15 21:47:15Z slm $ 30230592Sken */ 31230592Sken 32212420Sken/* 33281564Sslm * Copyright (c) 2007-2015 LSI Corporation. 34281564Sslm * Copyright (c) 2013-2015 Avago Technologies 35212420Sken * 36212420Sken * 37212420Sken * Name: mpi2_tool.h 38212420Sken * Title: MPI diagnostic tool structures and definitions 39212420Sken * Creation Date: March 26, 2007 40212420Sken * 41230592Sken * mpi2_tool.h Version: 02.00.06 42212420Sken * 43212420Sken * Version History 44212420Sken * --------------- 45212420Sken * 46212420Sken * Date Version Description 47212420Sken * -------- -------- ------------------------------------------------------ 48212420Sken * 04-30-07 02.00.00 Corresponds to Fusion-MPT MPI Specification Rev A. 49212420Sken * 12-18-07 02.00.01 Added Diagnostic Buffer Post and Diagnostic Release 50212420Sken * structures and defines. 51212420Sken * 02-29-08 02.00.02 Modified various names to make them 32-character unique. 52212420Sken * 05-06-09 02.00.03 Added ISTWI Read Write Tool and Diagnostic CLI Tool. 53212420Sken * 07-30-09 02.00.04 Added ExtendedType field to DiagnosticBufferPost request 54212420Sken * and reply messages. 55212420Sken * Added MPI2_DIAG_BUF_TYPE_EXTENDED. 56212420Sken * Incremented MPI2_DIAG_BUF_TYPE_COUNT. 57230592Sken * 05-12-10 02.00.05 Added Diagnostic Data Upload tool. 58230592Sken * 08-11-10 02.00.06 Added defines that were missing for Diagnostic Buffer 59230592Sken * Post Request. 60212420Sken * -------------------------------------------------------------------------- 61212420Sken */ 62212420Sken 63212420Sken#ifndef MPI2_TOOL_H 64212420Sken#define MPI2_TOOL_H 65212420Sken 66212420Sken/***************************************************************************** 67212420Sken* 68212420Sken* Toolbox Messages 69212420Sken* 70212420Sken*****************************************************************************/ 71212420Sken 72212420Sken/* defines for the Tools */ 73212420Sken#define MPI2_TOOLBOX_CLEAN_TOOL (0x00) 74212420Sken#define MPI2_TOOLBOX_MEMORY_MOVE_TOOL (0x01) 75230592Sken#define MPI2_TOOLBOX_DIAG_DATA_UPLOAD_TOOL (0x02) 76212420Sken#define MPI2_TOOLBOX_ISTWI_READ_WRITE_TOOL (0x03) 77212420Sken#define MPI2_TOOLBOX_BEACON_TOOL (0x05) 78212420Sken#define MPI2_TOOLBOX_DIAGNOSTIC_CLI_TOOL (0x06) 79212420Sken 80212420Sken 81212420Sken/**************************************************************************** 82212420Sken* Toolbox reply 83212420Sken****************************************************************************/ 84212420Sken 85212420Skentypedef struct _MPI2_TOOLBOX_REPLY 86212420Sken{ 87212420Sken U8 Tool; /* 0x00 */ 88212420Sken U8 Reserved1; /* 0x01 */ 89212420Sken U8 MsgLength; /* 0x02 */ 90212420Sken U8 Function; /* 0x03 */ 91212420Sken U16 Reserved2; /* 0x04 */ 92212420Sken U8 Reserved3; /* 0x06 */ 93212420Sken U8 MsgFlags; /* 0x07 */ 94212420Sken U8 VP_ID; /* 0x08 */ 95212420Sken U8 VF_ID; /* 0x09 */ 96212420Sken U16 Reserved4; /* 0x0A */ 97212420Sken U16 Reserved5; /* 0x0C */ 98212420Sken U16 IOCStatus; /* 0x0E */ 99212420Sken U32 IOCLogInfo; /* 0x10 */ 100212420Sken} MPI2_TOOLBOX_REPLY, MPI2_POINTER PTR_MPI2_TOOLBOX_REPLY, 101212420Sken Mpi2ToolboxReply_t, MPI2_POINTER pMpi2ToolboxReply_t; 102212420Sken 103212420Sken 104212420Sken/**************************************************************************** 105212420Sken* Toolbox Clean Tool request 106212420Sken****************************************************************************/ 107212420Sken 108212420Skentypedef struct _MPI2_TOOLBOX_CLEAN_REQUEST 109212420Sken{ 110212420Sken U8 Tool; /* 0x00 */ 111212420Sken U8 Reserved1; /* 0x01 */ 112212420Sken U8 ChainOffset; /* 0x02 */ 113212420Sken U8 Function; /* 0x03 */ 114212420Sken U16 Reserved2; /* 0x04 */ 115212420Sken U8 Reserved3; /* 0x06 */ 116212420Sken U8 MsgFlags; /* 0x07 */ 117212420Sken U8 VP_ID; /* 0x08 */ 118212420Sken U8 VF_ID; /* 0x09 */ 119212420Sken U16 Reserved4; /* 0x0A */ 120212420Sken U32 Flags; /* 0x0C */ 121212420Sken } MPI2_TOOLBOX_CLEAN_REQUEST, MPI2_POINTER PTR_MPI2_TOOLBOX_CLEAN_REQUEST, 122212420Sken Mpi2ToolboxCleanRequest_t, MPI2_POINTER pMpi2ToolboxCleanRequest_t; 123212420Sken 124212420Sken/* values for the Flags field */ 125212420Sken#define MPI2_TOOLBOX_CLEAN_BOOT_SERVICES (0x80000000) 126212420Sken#define MPI2_TOOLBOX_CLEAN_PERSIST_MANUFACT_PAGES (0x40000000) 127212420Sken#define MPI2_TOOLBOX_CLEAN_OTHER_PERSIST_PAGES (0x20000000) 128212420Sken#define MPI2_TOOLBOX_CLEAN_FW_CURRENT (0x10000000) 129212420Sken#define MPI2_TOOLBOX_CLEAN_FW_BACKUP (0x08000000) 130212420Sken#define MPI2_TOOLBOX_CLEAN_MEGARAID (0x02000000) 131212420Sken#define MPI2_TOOLBOX_CLEAN_INITIALIZATION (0x01000000) 132212420Sken#define MPI2_TOOLBOX_CLEAN_FLASH (0x00000004) 133212420Sken#define MPI2_TOOLBOX_CLEAN_SEEPROM (0x00000002) 134212420Sken#define MPI2_TOOLBOX_CLEAN_NVSRAM (0x00000001) 135212420Sken 136212420Sken 137212420Sken/**************************************************************************** 138212420Sken* Toolbox Memory Move request 139212420Sken****************************************************************************/ 140212420Sken 141212420Skentypedef struct _MPI2_TOOLBOX_MEM_MOVE_REQUEST 142212420Sken{ 143212420Sken U8 Tool; /* 0x00 */ 144212420Sken U8 Reserved1; /* 0x01 */ 145212420Sken U8 ChainOffset; /* 0x02 */ 146212420Sken U8 Function; /* 0x03 */ 147212420Sken U16 Reserved2; /* 0x04 */ 148212420Sken U8 Reserved3; /* 0x06 */ 149212420Sken U8 MsgFlags; /* 0x07 */ 150212420Sken U8 VP_ID; /* 0x08 */ 151212420Sken U8 VF_ID; /* 0x09 */ 152212420Sken U16 Reserved4; /* 0x0A */ 153212420Sken MPI2_SGE_SIMPLE_UNION SGL; /* 0x0C */ 154212420Sken} MPI2_TOOLBOX_MEM_MOVE_REQUEST, MPI2_POINTER PTR_MPI2_TOOLBOX_MEM_MOVE_REQUEST, 155212420Sken Mpi2ToolboxMemMoveRequest_t, MPI2_POINTER pMpi2ToolboxMemMoveRequest_t; 156212420Sken 157212420Sken 158212420Sken/**************************************************************************** 159230592Sken* Toolbox Diagnostic Data Upload request 160230592Sken****************************************************************************/ 161230592Sken 162230592Skentypedef struct _MPI2_TOOLBOX_DIAG_DATA_UPLOAD_REQUEST 163230592Sken{ 164230592Sken U8 Tool; /* 0x00 */ 165230592Sken U8 Reserved1; /* 0x01 */ 166230592Sken U8 ChainOffset; /* 0x02 */ 167230592Sken U8 Function; /* 0x03 */ 168230592Sken U16 Reserved2; /* 0x04 */ 169230592Sken U8 Reserved3; /* 0x06 */ 170230592Sken U8 MsgFlags; /* 0x07 */ 171230592Sken U8 VP_ID; /* 0x08 */ 172230592Sken U8 VF_ID; /* 0x09 */ 173230592Sken U16 Reserved4; /* 0x0A */ 174230592Sken U8 SGLFlags; /* 0x0C */ 175230592Sken U8 Reserved5; /* 0x0D */ 176230592Sken U16 Reserved6; /* 0x0E */ 177230592Sken U32 Flags; /* 0x10 */ 178230592Sken U32 DataLength; /* 0x14 */ 179230592Sken MPI2_SGE_SIMPLE_UNION SGL; /* 0x18 */ 180230592Sken} MPI2_TOOLBOX_DIAG_DATA_UPLOAD_REQUEST, 181230592Sken MPI2_POINTER PTR_MPI2_TOOLBOX_DIAG_DATA_UPLOAD_REQUEST, 182230592Sken Mpi2ToolboxDiagDataUploadRequest_t, 183230592Sken MPI2_POINTER pMpi2ToolboxDiagDataUploadRequest_t; 184230592Sken 185230592Sken/* use MPI2_SGLFLAGS_ defines from mpi2.h for the SGLFlags field */ 186230592Sken 187230592Sken 188230592Skentypedef struct _MPI2_DIAG_DATA_UPLOAD_HEADER 189230592Sken{ 190230592Sken U32 DiagDataLength; /* 00h */ 191230592Sken U8 FormatCode; /* 04h */ 192230592Sken U8 Reserved1; /* 05h */ 193230592Sken U16 Reserved2; /* 06h */ 194230592Sken} MPI2_DIAG_DATA_UPLOAD_HEADER, MPI2_POINTER PTR_MPI2_DIAG_DATA_UPLOAD_HEADER, 195230592Sken Mpi2DiagDataUploadHeader_t, MPI2_POINTER pMpi2DiagDataUploadHeader_t; 196230592Sken 197230592Sken 198230592Sken/**************************************************************************** 199212420Sken* Toolbox ISTWI Read Write Tool 200212420Sken****************************************************************************/ 201212420Sken 202212420Sken/* Toolbox ISTWI Read Write Tool request message */ 203212420Skentypedef struct _MPI2_TOOLBOX_ISTWI_READ_WRITE_REQUEST 204212420Sken{ 205212420Sken U8 Tool; /* 0x00 */ 206212420Sken U8 Reserved1; /* 0x01 */ 207212420Sken U8 ChainOffset; /* 0x02 */ 208212420Sken U8 Function; /* 0x03 */ 209212420Sken U16 Reserved2; /* 0x04 */ 210212420Sken U8 Reserved3; /* 0x06 */ 211212420Sken U8 MsgFlags; /* 0x07 */ 212212420Sken U8 VP_ID; /* 0x08 */ 213212420Sken U8 VF_ID; /* 0x09 */ 214212420Sken U16 Reserved4; /* 0x0A */ 215212420Sken U32 Reserved5; /* 0x0C */ 216212420Sken U32 Reserved6; /* 0x10 */ 217212420Sken U8 DevIndex; /* 0x14 */ 218212420Sken U8 Action; /* 0x15 */ 219212420Sken U8 SGLFlags; /* 0x16 */ 220212420Sken U8 Reserved7; /* 0x17 */ 221212420Sken U16 TxDataLength; /* 0x18 */ 222212420Sken U16 RxDataLength; /* 0x1A */ 223212420Sken U32 Reserved8; /* 0x1C */ 224212420Sken U32 Reserved9; /* 0x20 */ 225212420Sken U32 Reserved10; /* 0x24 */ 226212420Sken U32 Reserved11; /* 0x28 */ 227212420Sken U32 Reserved12; /* 0x2C */ 228212420Sken MPI2_SGE_SIMPLE_UNION SGL; /* 0x30 */ 229212420Sken} MPI2_TOOLBOX_ISTWI_READ_WRITE_REQUEST, 230212420Sken MPI2_POINTER PTR_MPI2_TOOLBOX_ISTWI_READ_WRITE_REQUEST, 231212420Sken Mpi2ToolboxIstwiReadWriteRequest_t, 232212420Sken MPI2_POINTER pMpi2ToolboxIstwiReadWriteRequest_t; 233212420Sken 234212420Sken/* values for the Action field */ 235212420Sken#define MPI2_TOOL_ISTWI_ACTION_READ_DATA (0x01) 236212420Sken#define MPI2_TOOL_ISTWI_ACTION_WRITE_DATA (0x02) 237212420Sken#define MPI2_TOOL_ISTWI_ACTION_SEQUENCE (0x03) 238212420Sken#define MPI2_TOOL_ISTWI_ACTION_RESERVE_BUS (0x10) 239212420Sken#define MPI2_TOOL_ISTWI_ACTION_RELEASE_BUS (0x11) 240212420Sken#define MPI2_TOOL_ISTWI_ACTION_RESET (0x12) 241212420Sken 242230592Sken/* use MPI2_SGLFLAGS_ defines from mpi2.h for the SGLFlags field */ 243212420Sken 244212420Sken 245212420Sken/* Toolbox ISTWI Read Write Tool reply message */ 246212420Skentypedef struct _MPI2_TOOLBOX_ISTWI_REPLY 247212420Sken{ 248212420Sken U8 Tool; /* 0x00 */ 249212420Sken U8 Reserved1; /* 0x01 */ 250212420Sken U8 MsgLength; /* 0x02 */ 251212420Sken U8 Function; /* 0x03 */ 252212420Sken U16 Reserved2; /* 0x04 */ 253212420Sken U8 Reserved3; /* 0x06 */ 254212420Sken U8 MsgFlags; /* 0x07 */ 255212420Sken U8 VP_ID; /* 0x08 */ 256212420Sken U8 VF_ID; /* 0x09 */ 257212420Sken U16 Reserved4; /* 0x0A */ 258212420Sken U16 Reserved5; /* 0x0C */ 259212420Sken U16 IOCStatus; /* 0x0E */ 260212420Sken U32 IOCLogInfo; /* 0x10 */ 261212420Sken U8 DevIndex; /* 0x14 */ 262212420Sken U8 Action; /* 0x15 */ 263212420Sken U8 IstwiStatus; /* 0x16 */ 264212420Sken U8 Reserved6; /* 0x17 */ 265212420Sken U16 TxDataCount; /* 0x18 */ 266212420Sken U16 RxDataCount; /* 0x1A */ 267212420Sken} MPI2_TOOLBOX_ISTWI_REPLY, MPI2_POINTER PTR_MPI2_TOOLBOX_ISTWI_REPLY, 268212420Sken Mpi2ToolboxIstwiReply_t, MPI2_POINTER pMpi2ToolboxIstwiReply_t; 269212420Sken 270212420Sken 271212420Sken/**************************************************************************** 272212420Sken* Toolbox Beacon Tool request 273212420Sken****************************************************************************/ 274212420Sken 275212420Skentypedef struct _MPI2_TOOLBOX_BEACON_REQUEST 276212420Sken{ 277212420Sken U8 Tool; /* 0x00 */ 278212420Sken U8 Reserved1; /* 0x01 */ 279212420Sken U8 ChainOffset; /* 0x02 */ 280212420Sken U8 Function; /* 0x03 */ 281212420Sken U16 Reserved2; /* 0x04 */ 282212420Sken U8 Reserved3; /* 0x06 */ 283212420Sken U8 MsgFlags; /* 0x07 */ 284212420Sken U8 VP_ID; /* 0x08 */ 285212420Sken U8 VF_ID; /* 0x09 */ 286212420Sken U16 Reserved4; /* 0x0A */ 287212420Sken U8 Reserved5; /* 0x0C */ 288212420Sken U8 PhysicalPort; /* 0x0D */ 289212420Sken U8 Reserved6; /* 0x0E */ 290212420Sken U8 Flags; /* 0x0F */ 291212420Sken} MPI2_TOOLBOX_BEACON_REQUEST, MPI2_POINTER PTR_MPI2_TOOLBOX_BEACON_REQUEST, 292212420Sken Mpi2ToolboxBeaconRequest_t, MPI2_POINTER pMpi2ToolboxBeaconRequest_t; 293212420Sken 294212420Sken/* values for the Flags field */ 295212420Sken#define MPI2_TOOLBOX_FLAGS_BEACONMODE_OFF (0x00) 296212420Sken#define MPI2_TOOLBOX_FLAGS_BEACONMODE_ON (0x01) 297212420Sken 298212420Sken 299212420Sken/**************************************************************************** 300212420Sken* Toolbox Diagnostic CLI Tool 301212420Sken****************************************************************************/ 302212420Sken 303212420Sken#define MPI2_TOOLBOX_DIAG_CLI_CMD_LENGTH (0x5C) 304212420Sken 305212420Sken/* Toolbox Diagnostic CLI Tool request message */ 306212420Skentypedef struct _MPI2_TOOLBOX_DIAGNOSTIC_CLI_REQUEST 307212420Sken{ 308212420Sken U8 Tool; /* 0x00 */ 309212420Sken U8 Reserved1; /* 0x01 */ 310212420Sken U8 ChainOffset; /* 0x02 */ 311212420Sken U8 Function; /* 0x03 */ 312212420Sken U16 Reserved2; /* 0x04 */ 313212420Sken U8 Reserved3; /* 0x06 */ 314212420Sken U8 MsgFlags; /* 0x07 */ 315212420Sken U8 VP_ID; /* 0x08 */ 316212420Sken U8 VF_ID; /* 0x09 */ 317212420Sken U16 Reserved4; /* 0x0A */ 318212420Sken U8 SGLFlags; /* 0x0C */ 319212420Sken U8 Reserved5; /* 0x0D */ 320212420Sken U16 Reserved6; /* 0x0E */ 321212420Sken U32 DataLength; /* 0x10 */ 322212420Sken U8 DiagnosticCliCommand[MPI2_TOOLBOX_DIAG_CLI_CMD_LENGTH]; /* 0x14 */ 323212420Sken MPI2_SGE_SIMPLE_UNION SGL; /* 0x70 */ 324212420Sken} MPI2_TOOLBOX_DIAGNOSTIC_CLI_REQUEST, 325212420Sken MPI2_POINTER PTR_MPI2_TOOLBOX_DIAGNOSTIC_CLI_REQUEST, 326212420Sken Mpi2ToolboxDiagnosticCliRequest_t, 327212420Sken MPI2_POINTER pMpi2ToolboxDiagnosticCliRequest_t; 328212420Sken 329230592Sken/* use MPI2_SGLFLAGS_ defines from mpi2.h for the SGLFlags field */ 330212420Sken 331212420Sken 332212420Sken/* Toolbox Diagnostic CLI Tool reply message */ 333212420Skentypedef struct _MPI2_TOOLBOX_DIAGNOSTIC_CLI_REPLY 334212420Sken{ 335212420Sken U8 Tool; /* 0x00 */ 336212420Sken U8 Reserved1; /* 0x01 */ 337212420Sken U8 MsgLength; /* 0x02 */ 338212420Sken U8 Function; /* 0x03 */ 339212420Sken U16 Reserved2; /* 0x04 */ 340212420Sken U8 Reserved3; /* 0x06 */ 341212420Sken U8 MsgFlags; /* 0x07 */ 342212420Sken U8 VP_ID; /* 0x08 */ 343212420Sken U8 VF_ID; /* 0x09 */ 344212420Sken U16 Reserved4; /* 0x0A */ 345212420Sken U16 Reserved5; /* 0x0C */ 346212420Sken U16 IOCStatus; /* 0x0E */ 347212420Sken U32 IOCLogInfo; /* 0x10 */ 348212420Sken U32 ReturnedDataLength; /* 0x14 */ 349212420Sken} MPI2_TOOLBOX_DIAGNOSTIC_CLI_REPLY, 350212420Sken MPI2_POINTER PTR_MPI2_TOOLBOX_DIAG_CLI_REPLY, 351212420Sken Mpi2ToolboxDiagnosticCliReply_t, 352212420Sken MPI2_POINTER pMpi2ToolboxDiagnosticCliReply_t; 353212420Sken 354212420Sken 355212420Sken/***************************************************************************** 356212420Sken* 357212420Sken* Diagnostic Buffer Messages 358212420Sken* 359212420Sken*****************************************************************************/ 360212420Sken 361212420Sken 362212420Sken/**************************************************************************** 363212420Sken* Diagnostic Buffer Post request 364212420Sken****************************************************************************/ 365212420Sken 366212420Skentypedef struct _MPI2_DIAG_BUFFER_POST_REQUEST 367212420Sken{ 368212420Sken U8 ExtendedType; /* 0x00 */ 369212420Sken U8 BufferType; /* 0x01 */ 370212420Sken U8 ChainOffset; /* 0x02 */ 371212420Sken U8 Function; /* 0x03 */ 372212420Sken U16 Reserved2; /* 0x04 */ 373212420Sken U8 Reserved3; /* 0x06 */ 374212420Sken U8 MsgFlags; /* 0x07 */ 375212420Sken U8 VP_ID; /* 0x08 */ 376212420Sken U8 VF_ID; /* 0x09 */ 377212420Sken U16 Reserved4; /* 0x0A */ 378212420Sken U64 BufferAddress; /* 0x0C */ 379212420Sken U32 BufferLength; /* 0x14 */ 380212420Sken U32 Reserved5; /* 0x18 */ 381212420Sken U32 Reserved6; /* 0x1C */ 382212420Sken U32 Flags; /* 0x20 */ 383212420Sken U32 ProductSpecific[23]; /* 0x24 */ 384212420Sken} MPI2_DIAG_BUFFER_POST_REQUEST, MPI2_POINTER PTR_MPI2_DIAG_BUFFER_POST_REQUEST, 385212420Sken Mpi2DiagBufferPostRequest_t, MPI2_POINTER pMpi2DiagBufferPostRequest_t; 386212420Sken 387212420Sken/* values for the ExtendedType field */ 388212420Sken#define MPI2_DIAG_EXTENDED_TYPE_UTILIZATION (0x02) 389212420Sken 390212420Sken/* values for the BufferType field */ 391212420Sken#define MPI2_DIAG_BUF_TYPE_TRACE (0x00) 392212420Sken#define MPI2_DIAG_BUF_TYPE_SNAPSHOT (0x01) 393212420Sken#define MPI2_DIAG_BUF_TYPE_EXTENDED (0x02) 394212420Sken/* count of the number of buffer types */ 395212420Sken#define MPI2_DIAG_BUF_TYPE_COUNT (0x03) 396212420Sken 397230592Sken/* values for the Flags field */ 398230592Sken#define MPI2_DIAG_BUF_FLAG_RELEASE_ON_FULL (0x00000002) 399230592Sken#define MPI2_DIAG_BUF_FLAG_IMMEDIATE_RELEASE (0x00000001) 400212420Sken 401230592Sken 402212420Sken/**************************************************************************** 403212420Sken* Diagnostic Buffer Post reply 404212420Sken****************************************************************************/ 405212420Sken 406212420Skentypedef struct _MPI2_DIAG_BUFFER_POST_REPLY 407212420Sken{ 408212420Sken U8 ExtendedType; /* 0x00 */ 409212420Sken U8 BufferType; /* 0x01 */ 410212420Sken U8 MsgLength; /* 0x02 */ 411212420Sken U8 Function; /* 0x03 */ 412212420Sken U16 Reserved2; /* 0x04 */ 413212420Sken U8 Reserved3; /* 0x06 */ 414212420Sken U8 MsgFlags; /* 0x07 */ 415212420Sken U8 VP_ID; /* 0x08 */ 416212420Sken U8 VF_ID; /* 0x09 */ 417212420Sken U16 Reserved4; /* 0x0A */ 418212420Sken U16 Reserved5; /* 0x0C */ 419212420Sken U16 IOCStatus; /* 0x0E */ 420212420Sken U32 IOCLogInfo; /* 0x10 */ 421212420Sken U32 TransferLength; /* 0x14 */ 422212420Sken} MPI2_DIAG_BUFFER_POST_REPLY, MPI2_POINTER PTR_MPI2_DIAG_BUFFER_POST_REPLY, 423212420Sken Mpi2DiagBufferPostReply_t, MPI2_POINTER pMpi2DiagBufferPostReply_t; 424212420Sken 425212420Sken 426212420Sken/**************************************************************************** 427212420Sken* Diagnostic Release request 428212420Sken****************************************************************************/ 429212420Sken 430212420Skentypedef struct _MPI2_DIAG_RELEASE_REQUEST 431212420Sken{ 432212420Sken U8 Reserved1; /* 0x00 */ 433212420Sken U8 BufferType; /* 0x01 */ 434212420Sken U8 ChainOffset; /* 0x02 */ 435212420Sken U8 Function; /* 0x03 */ 436212420Sken U16 Reserved2; /* 0x04 */ 437212420Sken U8 Reserved3; /* 0x06 */ 438212420Sken U8 MsgFlags; /* 0x07 */ 439212420Sken U8 VP_ID; /* 0x08 */ 440212420Sken U8 VF_ID; /* 0x09 */ 441212420Sken U16 Reserved4; /* 0x0A */ 442212420Sken} MPI2_DIAG_RELEASE_REQUEST, MPI2_POINTER PTR_MPI2_DIAG_RELEASE_REQUEST, 443212420Sken Mpi2DiagReleaseRequest_t, MPI2_POINTER pMpi2DiagReleaseRequest_t; 444212420Sken 445212420Sken 446212420Sken/**************************************************************************** 447212420Sken* Diagnostic Buffer Post reply 448212420Sken****************************************************************************/ 449212420Sken 450212420Skentypedef struct _MPI2_DIAG_RELEASE_REPLY 451212420Sken{ 452212420Sken U8 Reserved1; /* 0x00 */ 453212420Sken U8 BufferType; /* 0x01 */ 454212420Sken U8 MsgLength; /* 0x02 */ 455212420Sken U8 Function; /* 0x03 */ 456212420Sken U16 Reserved2; /* 0x04 */ 457212420Sken U8 Reserved3; /* 0x06 */ 458212420Sken U8 MsgFlags; /* 0x07 */ 459212420Sken U8 VP_ID; /* 0x08 */ 460212420Sken U8 VF_ID; /* 0x09 */ 461212420Sken U16 Reserved4; /* 0x0A */ 462212420Sken U16 Reserved5; /* 0x0C */ 463212420Sken U16 IOCStatus; /* 0x0E */ 464212420Sken U32 IOCLogInfo; /* 0x10 */ 465212420Sken} MPI2_DIAG_RELEASE_REPLY, MPI2_POINTER PTR_MPI2_DIAG_RELEASE_REPLY, 466212420Sken Mpi2DiagReleaseReply_t, MPI2_POINTER pMpi2DiagReleaseReply_t; 467212420Sken 468212420Sken 469212420Sken#endif 470212420Sken 471