Deleted Added
full compact
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