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 * $FreeBSD$ 31991554f2SKenneth D. Merry */ 32991554f2SKenneth D. Merry 33991554f2SKenneth D. Merry /* 34*8736c018SKashyap D Desai * Copyright 2000-2020 Broadcom Inc. All rights reserved. 35991554f2SKenneth D. Merry * 36991554f2SKenneth D. Merry * 37991554f2SKenneth D. Merry * Name: mpi2_ra.h 38991554f2SKenneth D. Merry * Title: MPI RAID Accelerator messages and structures 39991554f2SKenneth D. Merry * Creation Date: April 13, 2009 40991554f2SKenneth D. Merry * 4128ae62b0SStephen McConnell * mpi2_ra.h Version: 02.00.01 42991554f2SKenneth D. Merry * 43991554f2SKenneth D. Merry * Version History 44991554f2SKenneth D. Merry * --------------- 45991554f2SKenneth D. Merry * 46991554f2SKenneth D. Merry * Date Version Description 47991554f2SKenneth D. Merry * -------- -------- ------------------------------------------------------ 48991554f2SKenneth D. Merry * 05-06-09 02.00.00 Initial version. 4928ae62b0SStephen McConnell * 11-18-14 02.00.01 Updated copyright information. 50991554f2SKenneth D. Merry * -------------------------------------------------------------------------- 51991554f2SKenneth D. Merry */ 52991554f2SKenneth D. Merry 53991554f2SKenneth D. Merry #ifndef MPI2_RA_H 54991554f2SKenneth D. Merry #define MPI2_RA_H 55991554f2SKenneth D. Merry 56991554f2SKenneth D. Merry /* generic structure for RAID Accelerator Control Block */ 57991554f2SKenneth D. Merry typedef struct _MPI2_RAID_ACCELERATOR_CONTROL_BLOCK 58991554f2SKenneth D. Merry { 59991554f2SKenneth D. Merry U32 Reserved[8]; /* 0x00 */ 60991554f2SKenneth D. Merry U32 RaidAcceleratorCDB[1]; /* 0x20 */ 61991554f2SKenneth D. Merry } MPI2_RAID_ACCELERATOR_CONTROL_BLOCK, 62991554f2SKenneth D. Merry MPI2_POINTER PTR_MPI2_RAID_ACCELERATOR_CONTROL_BLOCK, 63991554f2SKenneth D. Merry Mpi2RAIDAcceleratorControlBlock_t, 64991554f2SKenneth D. Merry MPI2_POINTER pMpi2RAIDAcceleratorControlBlock_t; 65991554f2SKenneth D. Merry 66991554f2SKenneth D. Merry 67991554f2SKenneth D. Merry /****************************************************************************** 68991554f2SKenneth D. Merry * 69991554f2SKenneth D. Merry * RAID Accelerator Messages 70991554f2SKenneth D. Merry * 71991554f2SKenneth D. Merry *******************************************************************************/ 72991554f2SKenneth D. Merry 73991554f2SKenneth D. Merry /* RAID Accelerator Request Message */ 74991554f2SKenneth D. Merry typedef struct _MPI2_RAID_ACCELERATOR_REQUEST 75991554f2SKenneth D. Merry { 76991554f2SKenneth D. Merry U16 Reserved0; /* 0x00 */ 77991554f2SKenneth D. Merry U8 ChainOffset; /* 0x02 */ 78991554f2SKenneth D. Merry U8 Function; /* 0x03 */ 79991554f2SKenneth D. Merry U16 Reserved1; /* 0x04 */ 80991554f2SKenneth D. Merry U8 Reserved2; /* 0x06 */ 81991554f2SKenneth D. Merry U8 MsgFlags; /* 0x07 */ 82991554f2SKenneth D. Merry U8 VP_ID; /* 0x08 */ 83991554f2SKenneth D. Merry U8 VF_ID; /* 0x09 */ 84991554f2SKenneth D. Merry U16 Reserved3; /* 0x0A */ 85991554f2SKenneth D. Merry U64 RaidAcceleratorControlBlockAddress; /* 0x0C */ 86991554f2SKenneth D. Merry U8 DmaEngineNumber; /* 0x14 */ 87991554f2SKenneth D. Merry U8 Reserved4; /* 0x15 */ 88991554f2SKenneth D. Merry U16 Reserved5; /* 0x16 */ 89991554f2SKenneth D. Merry U32 Reserved6; /* 0x18 */ 90991554f2SKenneth D. Merry U32 Reserved7; /* 0x1C */ 91991554f2SKenneth D. Merry U32 Reserved8; /* 0x20 */ 92991554f2SKenneth D. Merry } MPI2_RAID_ACCELERATOR_REQUEST, MPI2_POINTER PTR_MPI2_RAID_ACCELERATOR_REQUEST, 93991554f2SKenneth D. Merry Mpi2RAIDAcceleratorRequest_t, MPI2_POINTER pMpi2RAIDAcceleratorRequest_t; 94991554f2SKenneth D. Merry 95991554f2SKenneth D. Merry 96991554f2SKenneth D. Merry /* RAID Accelerator Error Reply Message */ 97991554f2SKenneth D. Merry typedef struct _MPI2_RAID_ACCELERATOR_REPLY 98991554f2SKenneth D. Merry { 99991554f2SKenneth D. Merry U16 Reserved0; /* 0x00 */ 100991554f2SKenneth D. Merry U8 MsgLength; /* 0x02 */ 101991554f2SKenneth D. Merry U8 Function; /* 0x03 */ 102991554f2SKenneth D. Merry U16 Reserved1; /* 0x04 */ 103991554f2SKenneth D. Merry U8 Reserved2; /* 0x06 */ 104991554f2SKenneth D. Merry U8 MsgFlags; /* 0x07 */ 105991554f2SKenneth D. Merry U8 VP_ID; /* 0x08 */ 106991554f2SKenneth D. Merry U8 VF_ID; /* 0x09 */ 107991554f2SKenneth D. Merry U16 Reserved3; /* 0x0A */ 108991554f2SKenneth D. Merry U16 Reserved4; /* 0x0C */ 109991554f2SKenneth D. Merry U16 IOCStatus; /* 0x0E */ 110991554f2SKenneth D. Merry U32 IOCLogInfo; /* 0x10 */ 111991554f2SKenneth D. Merry U32 ProductSpecificData[3]; /* 0x14 */ 112991554f2SKenneth D. Merry } MPI2_RAID_ACCELERATOR_REPLY, MPI2_POINTER PTR_MPI2_RAID_ACCELERATOR_REPLY, 113991554f2SKenneth D. Merry Mpi2RAIDAcceleratorReply_t, MPI2_POINTER pMpi2RAIDAcceleratorReply_t; 114991554f2SKenneth D. Merry 115991554f2SKenneth D. Merry 116991554f2SKenneth D. Merry #endif 117991554f2SKenneth D. Merry 118991554f2SKenneth D. Merry 119