11da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* 2fd7a253311412b3fc7c85586552c90eca61e7d23Kashyap, Desai * Copyright (c) 2001-2008 LSI 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 * 9c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean * mpi_tool.h Version: 01.05.03 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. 18c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean * 01-16-04 01.02.03 Added defines and structures for new tools 19c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean *. MPI_TOOLBOX_ISTWI_READ_WRITE_TOOL and 20c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean * MPI_TOOLBOX_FC_MANAGEMENT_TOOL. 21c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean * 04-29-04 01.02.04 Added message structures for Diagnostic Buffer Post and 22c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean * Diagnostic Release requests and replies. 23c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean * 05-11-04 01.03.01 Original release for MPI v1.3. 24c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean * 08-19-04 01.05.01 Original release for MPI v1.5. 25c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean * 10-06-04 01.05.02 Added define for MPI_DIAG_BUF_TYPE_COUNT. 26c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean * 02-09-05 01.05.03 Added frame size option to FC management tool. 27c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean * Added Beacon tool to the Toolbox. 281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * -------------------------------------------------------------------------- 291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */ 301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#ifndef MPI_TOOL_H 321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_TOOL_H 331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_TOOLBOX_CLEAN_TOOL (0x00) 351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_TOOLBOX_MEMORY_MOVE_TOOL (0x01) 361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_TOOLBOX_DIAG_DATA_UPLOAD_TOOL (0x02) 371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_TOOLBOX_ISTWI_READ_WRITE_TOOL (0x03) 381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_TOOLBOX_FC_MANAGEMENT_TOOL (0x04) 39c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean#define MPI_TOOLBOX_BEACON_TOOL (0x05) 401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/****************************************************************************/ 431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* Toolbox reply */ 441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/****************************************************************************/ 451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldstypedef struct _MSG_TOOLBOX_REPLY 471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds{ 481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Tool; /* 00h */ 491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Reserved; /* 01h */ 501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 MsgLength; /* 02h */ 511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Function; /* 03h */ 521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U16 Reserved1; /* 04h */ 531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Reserved2; /* 06h */ 541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 MsgFlags; /* 07h */ 551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U32 MsgContext; /* 08h */ 561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U16 Reserved3; /* 0Ch */ 571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U16 IOCStatus; /* 0Eh */ 581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U32 IOCLogInfo; /* 10h */ 591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds} MSG_TOOLBOX_REPLY, MPI_POINTER PTR_MSG_TOOLBOX_REPLY, 601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds ToolboxReply_t, MPI_POINTER pToolboxReply_t; 611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/****************************************************************************/ 641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* Toolbox Clean Tool request */ 651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/****************************************************************************/ 661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldstypedef struct _MSG_TOOLBOX_CLEAN_REQUEST 681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds{ 691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Tool; /* 00h */ 701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Reserved; /* 01h */ 711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 ChainOffset; /* 02h */ 721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Function; /* 03h */ 731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U16 Reserved1; /* 04h */ 741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Reserved2; /* 06h */ 751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 MsgFlags; /* 07h */ 761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U32 MsgContext; /* 08h */ 771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U32 Flags; /* 0Ch */ 781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds} MSG_TOOLBOX_CLEAN_REQUEST, MPI_POINTER PTR_MSG_TOOLBOX_CLEAN_REQUEST, 791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds ToolboxCleanRequest_t, MPI_POINTER pToolboxCleanRequest_t; 801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_TOOLBOX_CLEAN_NVSRAM (0x00000001) 821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_TOOLBOX_CLEAN_SEEPROM (0x00000002) 831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_TOOLBOX_CLEAN_FLASH (0x00000004) 841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_TOOLBOX_CLEAN_BOOTLOADER (0x04000000) 851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_TOOLBOX_CLEAN_FW_BACKUP (0x08000000) 861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_TOOLBOX_CLEAN_FW_CURRENT (0x10000000) 871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_TOOLBOX_CLEAN_OTHER_PERSIST_PAGES (0x20000000) 881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_TOOLBOX_CLEAN_PERSIST_MANUFACT_PAGES (0x40000000) 891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_TOOLBOX_CLEAN_BOOT_SERVICES (0x80000000) 901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/****************************************************************************/ 931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* Toolbox Memory Move request */ 941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/****************************************************************************/ 951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldstypedef struct _MSG_TOOLBOX_MEM_MOVE_REQUEST 971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds{ 981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Tool; /* 00h */ 991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Reserved; /* 01h */ 1001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 ChainOffset; /* 02h */ 1011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Function; /* 03h */ 1021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U16 Reserved1; /* 04h */ 1031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Reserved2; /* 06h */ 1041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 MsgFlags; /* 07h */ 1051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U32 MsgContext; /* 08h */ 1061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds SGE_SIMPLE_UNION SGL; /* 0Ch */ 1071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds} MSG_TOOLBOX_MEM_MOVE_REQUEST, MPI_POINTER PTR_MSG_TOOLBOX_MEM_MOVE_REQUEST, 1081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds ToolboxMemMoveRequest_t, MPI_POINTER pToolboxMemMoveRequest_t; 1091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/****************************************************************************/ 1121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* Toolbox Diagnostic Data Upload request */ 1131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/****************************************************************************/ 1141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldstypedef struct _MSG_TOOLBOX_DIAG_DATA_UPLOAD_REQUEST 1161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds{ 1171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Tool; /* 00h */ 1181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Reserved; /* 01h */ 1191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 ChainOffset; /* 02h */ 1201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Function; /* 03h */ 1211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U16 Reserved1; /* 04h */ 1221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Reserved2; /* 06h */ 1231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 MsgFlags; /* 07h */ 1241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U32 MsgContext; /* 08h */ 1251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U32 Flags; /* 0Ch */ 1261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U32 Reserved3; /* 10h */ 1271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds SGE_SIMPLE_UNION SGL; /* 14h */ 1281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds} MSG_TOOLBOX_DIAG_DATA_UPLOAD_REQUEST, MPI_POINTER PTR_MSG_TOOLBOX_DIAG_DATA_UPLOAD_REQUEST, 1291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds ToolboxDiagDataUploadRequest_t, MPI_POINTER pToolboxDiagDataUploadRequest_t; 1301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldstypedef struct _DIAG_DATA_UPLOAD_HEADER 1321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds{ 1331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U32 DiagDataLength; /* 00h */ 1341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 FormatCode; /* 04h */ 1351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Reserved; /* 05h */ 1361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U16 Reserved1; /* 06h */ 1371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds} DIAG_DATA_UPLOAD_HEADER, MPI_POINTER PTR_DIAG_DATA_UPLOAD_HEADER, 1381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds DiagDataUploadHeader_t, MPI_POINTER pDiagDataUploadHeader_t; 1391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_TB_DIAG_FORMAT_SCSI_PRINTF_1 (0x01) 1411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_TB_DIAG_FORMAT_SCSI_2 (0x02) 1421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_TB_DIAG_FORMAT_SCSI_3 (0x03) 1431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_TB_DIAG_FORMAT_FC_TRACE_1 (0x04) 1441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/****************************************************************************/ 1471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* Toolbox ISTWI Read Write request */ 1481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/****************************************************************************/ 1491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldstypedef struct _MSG_TOOLBOX_ISTWI_READ_WRITE_REQUEST 1511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds{ 1521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Tool; /* 00h */ 1531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Reserved; /* 01h */ 1541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 ChainOffset; /* 02h */ 1551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Function; /* 03h */ 1561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U16 Reserved1; /* 04h */ 1571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Reserved2; /* 06h */ 1581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 MsgFlags; /* 07h */ 1591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U32 MsgContext; /* 08h */ 1601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Flags; /* 0Ch */ 1611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 BusNum; /* 0Dh */ 1621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U16 Reserved3; /* 0Eh */ 1631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 NumAddressBytes; /* 10h */ 1641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Reserved4; /* 11h */ 1651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U16 DataLength; /* 12h */ 1661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 DeviceAddr; /* 14h */ 1671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Addr1; /* 15h */ 1681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Addr2; /* 16h */ 1691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Addr3; /* 17h */ 1701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U32 Reserved5; /* 18h */ 1711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds SGE_SIMPLE_UNION SGL; /* 1Ch */ 1721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds} MSG_TOOLBOX_ISTWI_READ_WRITE_REQUEST, MPI_POINTER PTR_MSG_TOOLBOX_ISTWI_READ_WRITE_REQUEST, 1731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds ToolboxIstwiReadWriteRequest_t, MPI_POINTER pToolboxIstwiReadWriteRequest_t; 1741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_TB_ISTWI_FLAGS_WRITE (0x00) 1761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_TB_ISTWI_FLAGS_READ (0x01) 1771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/****************************************************************************/ 1801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* Toolbox FC Management request */ 1811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/****************************************************************************/ 1821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* ActionInfo for Bus and TargetId */ 1841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldstypedef struct _MPI_TB_FC_MANAGE_BUS_TID_AI 1851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds{ 1861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U16 Reserved; /* 00h */ 1871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Bus; /* 02h */ 1881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 TargetId; /* 03h */ 1891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds} MPI_TB_FC_MANAGE_BUS_TID_AI, MPI_POINTER PTR_MPI_TB_FC_MANAGE_BUS_TID_AI, 1901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds MpiTbFcManageBusTidAi_t, MPI_POINTER pMpiTbFcManageBusTidAi_t; 1911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* ActionInfo for port identifier */ 1931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldstypedef struct _MPI_TB_FC_MANAGE_PID_AI 1941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds{ 1951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U32 PortIdentifier; /* 00h */ 1961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds} MPI_TB_FC_MANAGE_PID_AI, MPI_POINTER PTR_MPI_TB_FC_MANAGE_PID_AI, 1971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds MpiTbFcManagePidAi_t, MPI_POINTER pMpiTbFcManagePidAi_t; 1981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 199c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean/* ActionInfo for set max frame size */ 200c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Deantypedef struct _MPI_TB_FC_MANAGE_FRAME_SIZE_AI 201c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean{ 202c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean U16 FrameSize; /* 00h */ 203c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean U8 PortNum; /* 02h */ 204c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean U8 Reserved1; /* 03h */ 205c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean} MPI_TB_FC_MANAGE_FRAME_SIZE_AI, MPI_POINTER PTR_MPI_TB_FC_MANAGE_FRAME_SIZE_AI, 206c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean MpiTbFcManageFrameSizeAi_t, MPI_POINTER pMpiTbFcManageFrameSizeAi_t; 207c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean 2081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* union of ActionInfo */ 2091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldstypedef union _MPI_TB_FC_MANAGE_AI_UNION 2101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds{ 2111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds MPI_TB_FC_MANAGE_BUS_TID_AI BusTid; 2121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds MPI_TB_FC_MANAGE_PID_AI Port; 213c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean MPI_TB_FC_MANAGE_FRAME_SIZE_AI FrameSize; 2141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds} MPI_TB_FC_MANAGE_AI_UNION, MPI_POINTER PTR_MPI_TB_FC_MANAGE_AI_UNION, 2151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds MpiTbFcManageAiUnion_t, MPI_POINTER pMpiTbFcManageAiUnion_t; 2161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 2171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldstypedef struct _MSG_TOOLBOX_FC_MANAGE_REQUEST 2181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds{ 2191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Tool; /* 00h */ 2201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Reserved; /* 01h */ 2211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 ChainOffset; /* 02h */ 2221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Function; /* 03h */ 2231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U16 Reserved1; /* 04h */ 2241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Reserved2; /* 06h */ 2251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 MsgFlags; /* 07h */ 2261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U32 MsgContext; /* 08h */ 2271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Action; /* 0Ch */ 2281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Reserved3; /* 0Dh */ 2291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U16 Reserved4; /* 0Eh */ 2301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds MPI_TB_FC_MANAGE_AI_UNION ActionInfo; /* 10h */ 2311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds} MSG_TOOLBOX_FC_MANAGE_REQUEST, MPI_POINTER PTR_MSG_TOOLBOX_FC_MANAGE_REQUEST, 2321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds ToolboxFcManageRequest_t, MPI_POINTER pToolboxFcManageRequest_t; 2331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 2341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* defines for the Action field */ 2351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_TB_FC_MANAGE_ACTION_DISC_ALL (0x00) 2361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_TB_FC_MANAGE_ACTION_DISC_PID (0x01) 2371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_TB_FC_MANAGE_ACTION_DISC_BUS_TID (0x02) 238c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean#define MPI_TB_FC_MANAGE_ACTION_SET_MAX_FRAME_SIZE (0x03) 239c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean 240c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean 241c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean/****************************************************************************/ 242c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean/* Toolbox Beacon Tool request */ 243c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean/****************************************************************************/ 244c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean 245c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Deantypedef struct _MSG_TOOLBOX_BEACON_REQUEST 246c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean{ 247c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean U8 Tool; /* 00h */ 248c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean U8 Reserved; /* 01h */ 249c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean U8 ChainOffset; /* 02h */ 250c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean U8 Function; /* 03h */ 251c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean U16 Reserved1; /* 04h */ 252c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean U8 Reserved2; /* 06h */ 253c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean U8 MsgFlags; /* 07h */ 254c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean U32 MsgContext; /* 08h */ 255c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean U8 ConnectNum; /* 0Ch */ 256c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean U8 PortNum; /* 0Dh */ 257c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean U8 Reserved3; /* 0Eh */ 258c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean U8 Flags; /* 0Fh */ 259c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean} MSG_TOOLBOX_BEACON_REQUEST, MPI_POINTER PTR_MSG_TOOLBOX_BEACON_REQUEST, 260c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean ToolboxBeaconRequest_t, MPI_POINTER pToolboxBeaconRequest_t; 261c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean 262c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean#define MPI_TOOLBOX_FLAGS_BEACON_MODE_OFF (0x00) 263c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean#define MPI_TOOLBOX_FLAGS_BEACON_MODE_ON (0x01) 2641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 2651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 2661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/****************************************************************************/ 2671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* Diagnostic Buffer Post request */ 2681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/****************************************************************************/ 2691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 2701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldstypedef struct _MSG_DIAG_BUFFER_POST_REQUEST 2711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds{ 2721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 TraceLevel; /* 00h */ 2731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 BufferType; /* 01h */ 2741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 ChainOffset; /* 02h */ 2751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Function; /* 03h */ 2761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U16 Reserved1; /* 04h */ 2771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Reserved2; /* 06h */ 2781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 MsgFlags; /* 07h */ 2791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U32 MsgContext; /* 08h */ 2801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U32 ExtendedType; /* 0Ch */ 2811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U32 BufferLength; /* 10h */ 2821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U32 ProductSpecific[4]; /* 14h */ 283c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean U32 Reserved3; /* 24h */ 284c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean U64 BufferAddress; /* 28h */ 2851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds} MSG_DIAG_BUFFER_POST_REQUEST, MPI_POINTER PTR_MSG_DIAG_BUFFER_POST_REQUEST, 2861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds DiagBufferPostRequest_t, MPI_POINTER pDiagBufferPostRequest_t; 2871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 2881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_DIAG_BUF_TYPE_TRACE (0x00) 2891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_DIAG_BUF_TYPE_SNAPSHOT (0x01) 2901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_DIAG_BUF_TYPE_EXTENDED (0x02) 291c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean/* count of the number of buffer types */ 292c1a71d1c0440c47e006845f8accc1f212ca86852Moore, Eric Dean#define MPI_DIAG_BUF_TYPE_COUNT (0x03) 2931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 2941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MPI_DIAG_EXTENDED_QTAG (0x00000001) 2951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 2961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 2971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* Diagnostic Buffer Post reply */ 2981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldstypedef struct _MSG_DIAG_BUFFER_POST_REPLY 2991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds{ 3001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Reserved1; /* 00h */ 3011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 BufferType; /* 01h */ 3021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 MsgLength; /* 02h */ 3031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Function; /* 03h */ 3041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U16 Reserved2; /* 04h */ 3051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Reserved3; /* 06h */ 3061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 MsgFlags; /* 07h */ 3071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U32 MsgContext; /* 08h */ 3081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U16 Reserved4; /* 0Ch */ 3091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U16 IOCStatus; /* 0Eh */ 3101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U32 IOCLogInfo; /* 10h */ 3111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U32 TransferLength; /* 14h */ 3121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds} MSG_DIAG_BUFFER_POST_REPLY, MPI_POINTER PTR_MSG_DIAG_BUFFER_POST_REPLY, 3131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds DiagBufferPostReply_t, MPI_POINTER pDiagBufferPostReply_t; 3141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 3151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 3161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/****************************************************************************/ 3171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* Diagnostic Release request */ 3181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/****************************************************************************/ 3191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 3201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldstypedef struct _MSG_DIAG_RELEASE_REQUEST 3211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds{ 3221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Reserved1; /* 00h */ 3231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 BufferType; /* 01h */ 3241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 ChainOffset; /* 02h */ 3251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Function; /* 03h */ 3261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U16 Reserved2; /* 04h */ 3271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Reserved3; /* 06h */ 3281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 MsgFlags; /* 07h */ 3291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U32 MsgContext; /* 08h */ 3301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds} MSG_DIAG_RELEASE_REQUEST, MPI_POINTER PTR_MSG_DIAG_RELEASE_REQUEST, 3311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds DiagReleaseRequest_t, MPI_POINTER pDiagReleaseRequest_t; 3321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 3331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 3341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* Diagnostic Release reply */ 3351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldstypedef struct _MSG_DIAG_RELEASE_REPLY 3361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds{ 3371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Reserved1; /* 00h */ 3381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 BufferType; /* 01h */ 3391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 MsgLength; /* 02h */ 3401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Function; /* 03h */ 3411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U16 Reserved2; /* 04h */ 3421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 Reserved3; /* 06h */ 3431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U8 MsgFlags; /* 07h */ 3441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U32 MsgContext; /* 08h */ 3451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U16 Reserved4; /* 0Ch */ 3461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U16 IOCStatus; /* 0Eh */ 3471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds U32 IOCLogInfo; /* 10h */ 3481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds} MSG_DIAG_RELEASE_REPLY, MPI_POINTER PTR_MSG_DIAG_RELEASE_REPLY, 3491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds DiagReleaseReply_t, MPI_POINTER pDiagReleaseReply_t; 3501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 3511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 3521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#endif 3531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 3541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 355