mpi_sas.h (156000) | mpi_sas.h (170251) |
---|---|
1/* $FreeBSD: head/sys/dev/mpt/mpilib/mpi_sas.h 156000 2006-02-25 07:45:54Z mjacob $ */ | 1/* $FreeBSD: head/sys/dev/mpt/mpilib/mpi_sas.h 170251 2007-06-03 22:58:27Z scottl $ */ |
2/*- 3 * Copyright (c) 2000-2005, LSI Logic Corporation and its contributors. 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions are 8 * met: 9 * 1. Redistributions of source code must retain the above copyright --- 14 unchanged lines hidden (view full) --- 24 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 25 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 26 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 27 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 28 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 29 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF THE COPYRIGHT 30 * OWNER OR CONTRIBUTOR IS ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 * | 2/*- 3 * Copyright (c) 2000-2005, LSI Logic Corporation and its contributors. 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions are 8 * met: 9 * 1. Redistributions of source code must retain the above copyright --- 14 unchanged lines hidden (view full) --- 24 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 25 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 26 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 27 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 28 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 29 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF THE COPYRIGHT 30 * OWNER OR CONTRIBUTOR IS ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 * |
32 * | |
33 * Name: mpi_sas.h 34 * Title: MPI Serial Attached SCSI structures and definitions 35 * Creation Date: August 19, 2004 36 * | 32 * Name: mpi_sas.h 33 * Title: MPI Serial Attached SCSI structures and definitions 34 * Creation Date: August 19, 2004 35 * |
37 * mpi_sas.h Version: 01.05.02 | 36 * mpi_sas.h Version: 01.05.04 |
38 * 39 * Version History 40 * --------------- 41 * 42 * Date Version Description 43 * -------- -------- ------------------------------------------------------ 44 * 08-19-04 01.05.01 Original release. 45 * 08-30-05 01.05.02 Added DeviceInfo bit for SEP. 46 * Added PrimFlags and Primitive field to SAS IO Unit 47 * Control request, and added a new operation code. | 37 * 38 * Version History 39 * --------------- 40 * 41 * Date Version Description 42 * -------- -------- ------------------------------------------------------ 43 * 08-19-04 01.05.01 Original release. 44 * 08-30-05 01.05.02 Added DeviceInfo bit for SEP. 45 * Added PrimFlags and Primitive field to SAS IO Unit 46 * Control request, and added a new operation code. |
47 * 03-27-06 01.05.03 Added Force Full Discovery, Transmit Port Select Signal, 48 * and Remove Device operations to SAS IO Unit Control. 49 * Added DevHandle field to SAS IO Unit Control request and 50 * reply. 51 * 10-11-06 01.05.04 Fixed the name of a define for Operation field of SAS IO 52 * Unit Control request. |
|
48 * -------------------------------------------------------------------------- 49 */ 50 51#ifndef MPI_SAS_H 52#define MPI_SAS_H 53 54 55/* --- 176 unchanged lines hidden (view full) --- 232/****************************************************************************/ 233 234typedef struct _MSG_SAS_IOUNIT_CONTROL_REQUEST 235{ 236 U8 Operation; /* 00h */ 237 U8 Reserved1; /* 01h */ 238 U8 ChainOffset; /* 02h */ 239 U8 Function; /* 03h */ | 53 * -------------------------------------------------------------------------- 54 */ 55 56#ifndef MPI_SAS_H 57#define MPI_SAS_H 58 59 60/* --- 176 unchanged lines hidden (view full) --- 237/****************************************************************************/ 238 239typedef struct _MSG_SAS_IOUNIT_CONTROL_REQUEST 240{ 241 U8 Operation; /* 00h */ 242 U8 Reserved1; /* 01h */ 243 U8 ChainOffset; /* 02h */ 244 U8 Function; /* 03h */ |
240 U16 Reserved2; /* 04h */ | 245 U16 DevHandle; /* 04h */ |
241 U8 Reserved3; /* 06h */ 242 U8 MsgFlags; /* 07h */ 243 U32 MsgContext; /* 08h */ 244 U8 TargetID; /* 0Ch */ 245 U8 Bus; /* 0Dh */ 246 U8 PhyNum; /* 0Eh */ 247 U8 PrimFlags; /* 0Fh */ 248 U32 Primitive; /* 10h */ 249 U64 SASAddress; /* 14h */ 250 U32 Reserved4; /* 1Ch */ 251} MSG_SAS_IOUNIT_CONTROL_REQUEST, MPI_POINTER PTR_MSG_SAS_IOUNIT_CONTROL_REQUEST, 252 SasIoUnitControlRequest_t, MPI_POINTER pSasIoUnitControlRequest_t; 253 254/* values for the Operation field */ | 246 U8 Reserved3; /* 06h */ 247 U8 MsgFlags; /* 07h */ 248 U32 MsgContext; /* 08h */ 249 U8 TargetID; /* 0Ch */ 250 U8 Bus; /* 0Dh */ 251 U8 PhyNum; /* 0Eh */ 252 U8 PrimFlags; /* 0Fh */ 253 U32 Primitive; /* 10h */ 254 U64 SASAddress; /* 14h */ 255 U32 Reserved4; /* 1Ch */ 256} MSG_SAS_IOUNIT_CONTROL_REQUEST, MPI_POINTER PTR_MSG_SAS_IOUNIT_CONTROL_REQUEST, 257 SasIoUnitControlRequest_t, MPI_POINTER pSasIoUnitControlRequest_t; 258 259/* values for the Operation field */ |
255#define MPI_SAS_OP_CLEAR_NOT_PRESENT (0x01) 256#define MPI_SAS_OP_CLEAR_ALL_PERSISTENT (0x02) 257#define MPI_SAS_OP_PHY_LINK_RESET (0x06) 258#define MPI_SAS_OP_PHY_HARD_RESET (0x07) 259#define MPI_SAS_OP_PHY_CLEAR_ERROR_LOG (0x08) 260#define MPI_SAS_OP_MAP_CURRENT (0x09) | 260#define MPI_SAS_OP_CLEAR_NOT_PRESENT (0x01) 261#define MPI_SAS_OP_CLEAR_ALL_PERSISTENT (0x02) 262#define MPI_SAS_OP_PHY_LINK_RESET (0x06) 263#define MPI_SAS_OP_PHY_HARD_RESET (0x07) 264#define MPI_SAS_OP_PHY_CLEAR_ERROR_LOG (0x08) 265#define MPI_SAS_OP_MAP_CURRENT (0x09) |
261#define MPI_SAS_OP_SEND_PRIMITIVE (0x0A) | 266#define MPI_SAS_OP_SEND_PRIMITIVE (0x0A) |
267#define MPI_SAS_OP_FORCE_FULL_DISCOVERY (0x0B) 268#define MPI_SAS_OP_TRANSMIT_PORT_SELECT_SIGNAL (0x0C) 269#define MPI_SAS_OP_TRANSMIT_REMOVE_DEVICE (0x0D) /* obsolete name */ 270#define MPI_SAS_OP_REMOVE_DEVICE (0x0D) |
|
262 263/* values for the PrimFlags field */ 264#define MPI_SAS_PRIMFLAGS_SINGLE (0x08) 265#define MPI_SAS_PRIMFLAGS_TRIPLE (0x02) 266#define MPI_SAS_PRIMFLAGS_REDUNDANT (0x01) 267 268 269/* SAS IO Unit Control Reply */ 270typedef struct _MSG_SAS_IOUNIT_CONTROL_REPLY 271{ 272 U8 Operation; /* 00h */ 273 U8 Reserved1; /* 01h */ 274 U8 MsgLength; /* 02h */ 275 U8 Function; /* 03h */ | 271 272/* values for the PrimFlags field */ 273#define MPI_SAS_PRIMFLAGS_SINGLE (0x08) 274#define MPI_SAS_PRIMFLAGS_TRIPLE (0x02) 275#define MPI_SAS_PRIMFLAGS_REDUNDANT (0x01) 276 277 278/* SAS IO Unit Control Reply */ 279typedef struct _MSG_SAS_IOUNIT_CONTROL_REPLY 280{ 281 U8 Operation; /* 00h */ 282 U8 Reserved1; /* 01h */ 283 U8 MsgLength; /* 02h */ 284 U8 Function; /* 03h */ |
276 U16 Reserved2; /* 04h */ | 285 U16 DevHandle; /* 04h */ |
277 U8 Reserved3; /* 06h */ 278 U8 MsgFlags; /* 07h */ 279 U32 MsgContext; /* 08h */ 280 U16 Reserved4; /* 0Ch */ 281 U16 IOCStatus; /* 0Eh */ 282 U32 IOCLogInfo; /* 10h */ 283} MSG_SAS_IOUNIT_CONTROL_REPLY, MPI_POINTER PTR_MSG_SAS_IOUNIT_CONTROL_REPLY, 284 SasIoUnitControlReply_t, MPI_POINTER pSasIoUnitControlReply_t; 285 286#endif 287 288 | 286 U8 Reserved3; /* 06h */ 287 U8 MsgFlags; /* 07h */ 288 U32 MsgContext; /* 08h */ 289 U16 Reserved4; /* 0Ch */ 290 U16 IOCStatus; /* 0Eh */ 291 U32 IOCLogInfo; /* 10h */ 292} MSG_SAS_IOUNIT_CONTROL_REPLY, MPI_POINTER PTR_MSG_SAS_IOUNIT_CONTROL_REPLY, 293 SasIoUnitControlReply_t, MPI_POINTER pSasIoUnitControlReply_t; 294 295#endif 296 297 |