1991554f2SKenneth D. Merry /*- 2*8736c018SKashyap D Desai * Copyright 2000-2020 Broadcom Inc. All rights reserved. 3991554f2SKenneth D. Merry * 4991554f2SKenneth D. Merry * Redistribution and use in source and binary forms, with or without 5991554f2SKenneth D. Merry * modification, are permitted provided that the following conditions 6991554f2SKenneth D. Merry * are met: 7991554f2SKenneth D. Merry * 1. Redistributions of source code must retain the above copyright 8991554f2SKenneth D. Merry * notice, this list of conditions and the following disclaimer. 9991554f2SKenneth D. Merry * 2. Redistributions in binary form must reproduce the above copyright 10991554f2SKenneth D. Merry * notice, this list of conditions and the following disclaimer in the 11991554f2SKenneth D. Merry * documentation and/or other materials provided with the distribution. 12991554f2SKenneth D. Merry * 3. Neither the name of the author nor the names of any co-contributors 13991554f2SKenneth D. Merry * may be used to endorse or promote products derived from this software 14991554f2SKenneth D. Merry * without specific prior written permission. 15991554f2SKenneth D. Merry * 16991554f2SKenneth D. Merry * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 17991554f2SKenneth D. Merry * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18991554f2SKenneth D. Merry * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19991554f2SKenneth D. Merry * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 20991554f2SKenneth D. Merry * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21991554f2SKenneth D. Merry * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 22991554f2SKenneth D. Merry * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23991554f2SKenneth D. Merry * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 24991554f2SKenneth D. Merry * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 25991554f2SKenneth D. Merry * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26991554f2SKenneth D. Merry * SUCH DAMAGE. 27991554f2SKenneth D. Merry * 28*8736c018SKashyap D Desai * Broadcom Inc. (LSI) MPT-Fusion Host Adapter FreeBSD 29991554f2SKenneth D. Merry */ 30991554f2SKenneth D. Merry 31991554f2SKenneth D. Merry /* 32*8736c018SKashyap D Desai * Copyright 2000-2020 Broadcom Inc. All rights reserved. 33991554f2SKenneth D. Merry * 34991554f2SKenneth D. Merry * 35991554f2SKenneth D. Merry * Name: mpi2_ra.h 36991554f2SKenneth D. Merry * Title: MPI RAID Accelerator messages and structures 37991554f2SKenneth D. Merry * Creation Date: April 13, 2009 38991554f2SKenneth D. Merry * 3928ae62b0SStephen McConnell * mpi2_ra.h Version: 02.00.01 40991554f2SKenneth D. Merry * 41991554f2SKenneth D. Merry * Version History 42991554f2SKenneth D. Merry * --------------- 43991554f2SKenneth D. Merry * 44991554f2SKenneth D. Merry * Date Version Description 45991554f2SKenneth D. Merry * -------- -------- ------------------------------------------------------ 46991554f2SKenneth D. Merry * 05-06-09 02.00.00 Initial version. 4728ae62b0SStephen McConnell * 11-18-14 02.00.01 Updated copyright information. 48991554f2SKenneth D. Merry * -------------------------------------------------------------------------- 49991554f2SKenneth D. Merry */ 50991554f2SKenneth D. Merry 51991554f2SKenneth D. Merry #ifndef MPI2_RA_H 52991554f2SKenneth D. Merry #define MPI2_RA_H 53991554f2SKenneth D. Merry 54991554f2SKenneth D. Merry /* generic structure for RAID Accelerator Control Block */ 55991554f2SKenneth D. Merry typedef struct _MPI2_RAID_ACCELERATOR_CONTROL_BLOCK 56991554f2SKenneth D. Merry { 57991554f2SKenneth D. Merry U32 Reserved[8]; /* 0x00 */ 58991554f2SKenneth D. Merry U32 RaidAcceleratorCDB[1]; /* 0x20 */ 59991554f2SKenneth D. Merry } MPI2_RAID_ACCELERATOR_CONTROL_BLOCK, 60991554f2SKenneth D. Merry MPI2_POINTER PTR_MPI2_RAID_ACCELERATOR_CONTROL_BLOCK, 61991554f2SKenneth D. Merry Mpi2RAIDAcceleratorControlBlock_t, 62991554f2SKenneth D. Merry MPI2_POINTER pMpi2RAIDAcceleratorControlBlock_t; 63991554f2SKenneth D. Merry 64991554f2SKenneth D. Merry /****************************************************************************** 65991554f2SKenneth D. Merry * 66991554f2SKenneth D. Merry * RAID Accelerator Messages 67991554f2SKenneth D. Merry * 68991554f2SKenneth D. Merry *******************************************************************************/ 69991554f2SKenneth D. Merry 70991554f2SKenneth D. Merry /* RAID Accelerator Request Message */ 71991554f2SKenneth D. Merry typedef struct _MPI2_RAID_ACCELERATOR_REQUEST 72991554f2SKenneth D. Merry { 73991554f2SKenneth D. Merry U16 Reserved0; /* 0x00 */ 74991554f2SKenneth D. Merry U8 ChainOffset; /* 0x02 */ 75991554f2SKenneth D. Merry U8 Function; /* 0x03 */ 76991554f2SKenneth D. Merry U16 Reserved1; /* 0x04 */ 77991554f2SKenneth D. Merry U8 Reserved2; /* 0x06 */ 78991554f2SKenneth D. Merry U8 MsgFlags; /* 0x07 */ 79991554f2SKenneth D. Merry U8 VP_ID; /* 0x08 */ 80991554f2SKenneth D. Merry U8 VF_ID; /* 0x09 */ 81991554f2SKenneth D. Merry U16 Reserved3; /* 0x0A */ 82991554f2SKenneth D. Merry U64 RaidAcceleratorControlBlockAddress; /* 0x0C */ 83991554f2SKenneth D. Merry U8 DmaEngineNumber; /* 0x14 */ 84991554f2SKenneth D. Merry U8 Reserved4; /* 0x15 */ 85991554f2SKenneth D. Merry U16 Reserved5; /* 0x16 */ 86991554f2SKenneth D. Merry U32 Reserved6; /* 0x18 */ 87991554f2SKenneth D. Merry U32 Reserved7; /* 0x1C */ 88991554f2SKenneth D. Merry U32 Reserved8; /* 0x20 */ 89991554f2SKenneth D. Merry } MPI2_RAID_ACCELERATOR_REQUEST, MPI2_POINTER PTR_MPI2_RAID_ACCELERATOR_REQUEST, 90991554f2SKenneth D. Merry Mpi2RAIDAcceleratorRequest_t, MPI2_POINTER pMpi2RAIDAcceleratorRequest_t; 91991554f2SKenneth D. Merry 92991554f2SKenneth D. Merry /* RAID Accelerator Error Reply Message */ 93991554f2SKenneth D. Merry typedef struct _MPI2_RAID_ACCELERATOR_REPLY 94991554f2SKenneth D. Merry { 95991554f2SKenneth D. Merry U16 Reserved0; /* 0x00 */ 96991554f2SKenneth D. Merry U8 MsgLength; /* 0x02 */ 97991554f2SKenneth D. Merry U8 Function; /* 0x03 */ 98991554f2SKenneth D. Merry U16 Reserved1; /* 0x04 */ 99991554f2SKenneth D. Merry U8 Reserved2; /* 0x06 */ 100991554f2SKenneth D. Merry U8 MsgFlags; /* 0x07 */ 101991554f2SKenneth D. Merry U8 VP_ID; /* 0x08 */ 102991554f2SKenneth D. Merry U8 VF_ID; /* 0x09 */ 103991554f2SKenneth D. Merry U16 Reserved3; /* 0x0A */ 104991554f2SKenneth D. Merry U16 Reserved4; /* 0x0C */ 105991554f2SKenneth D. Merry U16 IOCStatus; /* 0x0E */ 106991554f2SKenneth D. Merry U32 IOCLogInfo; /* 0x10 */ 107991554f2SKenneth D. Merry U32 ProductSpecificData[3]; /* 0x14 */ 108991554f2SKenneth D. Merry } MPI2_RAID_ACCELERATOR_REPLY, MPI2_POINTER PTR_MPI2_RAID_ACCELERATOR_REPLY, 109991554f2SKenneth D. Merry Mpi2RAIDAcceleratorReply_t, MPI2_POINTER pMpi2RAIDAcceleratorReply_t; 110991554f2SKenneth D. Merry 111991554f2SKenneth D. Merry #endif 112