Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/mpr/mpi/mpi2_sas.h
/*- | /*- | ||||
* Copyright (c) 2012-2015 LSI Corp. | * Copyright (c) 2012-2015 LSI Corp. | ||||
* Copyright (c) 2013-2015 Avago Technologies | * Copyright (c) 2013-2016 Avago Technologies | ||||
* All rights reserved. | * All rights reserved. | ||||
* | * | ||||
* Redistribution and use in source and binary forms, with or without | * Redistribution and use in source and binary forms, with or without | ||||
* modification, are permitted provided that the following conditions | * modification, are permitted provided that the following conditions | ||||
* are met: | * are met: | ||||
* 1. Redistributions of source code must retain the above copyright | * 1. Redistributions of source code must retain the above copyright | ||||
* notice, this list of conditions and the following disclaimer. | * notice, this list of conditions and the following disclaimer. | ||||
* 2. Redistributions in binary form must reproduce the above copyright | * 2. Redistributions in binary form must reproduce the above copyright | ||||
Show All 17 Lines | |||||
* | * | ||||
* Avago Technologies (LSI) MPT-Fusion Host Adapter FreeBSD | * Avago Technologies (LSI) MPT-Fusion Host Adapter FreeBSD | ||||
* | * | ||||
* $FreeBSD$ | * $FreeBSD$ | ||||
*/ | */ | ||||
/* | /* | ||||
* Copyright (c) 2000-2015 LSI Corporation. | * Copyright (c) 2000-2015 LSI Corporation. | ||||
* Copyright (c) 2013-2015 Avago Technologies | * Copyright (c) 2013-2016 Avago Technologies | ||||
* All rights reserved. | |||||
* | * | ||||
* | * | ||||
* Name: mpi2_sas.h | * Name: mpi2_sas.h | ||||
* Title: MPI Serial Attached SCSI structures and definitions | * Title: MPI Serial Attached SCSI structures and definitions | ||||
* Creation Date: February 9, 2007 | * Creation Date: February 9, 2007 | ||||
* | * | ||||
* mpi2_sas.h Version: 02.00.08 | * mpi2_sas.h Version: 02.00.10 | ||||
* | * | ||||
* NOTE: Names (typedefs, defines, etc.) beginning with an MPI25 or Mpi25 | * NOTE: Names (typedefs, defines, etc.) beginning with an MPI25 or Mpi25 | ||||
* prefix are for use only on MPI v2.5 products, and must not be used | * prefix are for use only on MPI v2.5 products, and must not be used | ||||
* with MPI v2.0 products. Unless otherwise noted, names beginning with | * with MPI v2.0 products. Unless otherwise noted, names beginning with | ||||
* MPI2 or Mpi2 are for use with both MPI v2.0 and MPI v2.5 products. | * MPI2 or Mpi2 are for use with both MPI v2.0 and MPI v2.5 products. | ||||
* | * | ||||
* Version History | * Version History | ||||
* --------------- | * --------------- | ||||
Show All 9 Lines | |||||
* to MPI2_SGE_IO_UNION since it supports chained SGLs. | * to MPI2_SGE_IO_UNION since it supports chained SGLs. | ||||
* 05-12-10 02.00.04 Modified some comments. | * 05-12-10 02.00.04 Modified some comments. | ||||
* 08-11-10 02.00.05 Added NCQ operations to SAS IO Unit Control. | * 08-11-10 02.00.05 Added NCQ operations to SAS IO Unit Control. | ||||
* 11-18-11 02.00.06 Incorporating additions for MPI v2.5. | * 11-18-11 02.00.06 Incorporating additions for MPI v2.5. | ||||
* 07-10-12 02.00.07 Added MPI2_SATA_PT_SGE_UNION for use in the SATA | * 07-10-12 02.00.07 Added MPI2_SATA_PT_SGE_UNION for use in the SATA | ||||
* Passthrough Request message. | * Passthrough Request message. | ||||
* 08-19-13 02.00.08 Made MPI2_SAS_OP_TRANSMIT_PORT_SELECT_SIGNAL obsolete | * 08-19-13 02.00.08 Made MPI2_SAS_OP_TRANSMIT_PORT_SELECT_SIGNAL obsolete | ||||
* for anything newer than MPI v2.0. | * for anything newer than MPI v2.0. | ||||
* 11-18-14 02.00.09 Updated copyright information. | |||||
* 03-16-15 02.00.10 Updated for MPI v2.6. | |||||
* Added MPI2_SATA_PT_REQ_PT_FLAGS_FPDMA. | |||||
* -------------------------------------------------------------------------- | * -------------------------------------------------------------------------- | ||||
*/ | */ | ||||
#ifndef MPI2_SAS_H | #ifndef MPI2_SAS_H | ||||
#define MPI2_SAS_H | #define MPI2_SAS_H | ||||
/* | /* | ||||
* Values for SASStatus. | * Values for SASStatus. | ||||
▲ Show 20 Lines • Show All 143 Lines • ▼ Show 20 Lines | typedef struct _MPI2_SATA_PASSTHROUGH_REQUEST | ||||
U32 DataLength; /* 0x18 */ | U32 DataLength; /* 0x18 */ | ||||
U8 CommandFIS[20]; /* 0x1C */ | U8 CommandFIS[20]; /* 0x1C */ | ||||
MPI2_SATA_PT_SGE_UNION SGL; /* 0x30 */ /* MPI v2.5: IEEE 64 elements only */ | MPI2_SATA_PT_SGE_UNION SGL; /* 0x30 */ /* MPI v2.5: IEEE 64 elements only */ | ||||
} MPI2_SATA_PASSTHROUGH_REQUEST, MPI2_POINTER PTR_MPI2_SATA_PASSTHROUGH_REQUEST, | } MPI2_SATA_PASSTHROUGH_REQUEST, MPI2_POINTER PTR_MPI2_SATA_PASSTHROUGH_REQUEST, | ||||
Mpi2SataPassthroughRequest_t, MPI2_POINTER pMpi2SataPassthroughRequest_t; | Mpi2SataPassthroughRequest_t, MPI2_POINTER pMpi2SataPassthroughRequest_t; | ||||
/* values for PassthroughFlags field */ | /* values for PassthroughFlags field */ | ||||
#define MPI2_SATA_PT_REQ_PT_FLAGS_EXECUTE_DIAG (0x0100) | #define MPI2_SATA_PT_REQ_PT_FLAGS_EXECUTE_DIAG (0x0100) | ||||
#define MPI2_SATA_PT_REQ_PT_FLAGS_FPDMA (0x0040) /* MPI v2.6 and newer */ | |||||
#define MPI2_SATA_PT_REQ_PT_FLAGS_DMA (0x0020) | #define MPI2_SATA_PT_REQ_PT_FLAGS_DMA (0x0020) | ||||
#define MPI2_SATA_PT_REQ_PT_FLAGS_PIO (0x0010) | #define MPI2_SATA_PT_REQ_PT_FLAGS_PIO (0x0010) | ||||
#define MPI2_SATA_PT_REQ_PT_FLAGS_UNSPECIFIED_VU (0x0004) | #define MPI2_SATA_PT_REQ_PT_FLAGS_UNSPECIFIED_VU (0x0004) | ||||
#define MPI2_SATA_PT_REQ_PT_FLAGS_WRITE (0x0002) | #define MPI2_SATA_PT_REQ_PT_FLAGS_WRITE (0x0002) | ||||
#define MPI2_SATA_PT_REQ_PT_FLAGS_READ (0x0001) | #define MPI2_SATA_PT_REQ_PT_FLAGS_READ (0x0001) | ||||
/* MPI v2.0: use MPI2_SGLFLAGS_ defines from mpi2.h for the SGLFlags field */ | /* MPI v2.0: use MPI2_SGLFLAGS_ defines from mpi2.h for the SGLFlags field */ | ||||
Show All 20 Lines | |||||
} MPI2_SATA_PASSTHROUGH_REPLY, MPI2_POINTER PTR_MPI2_SATA_PASSTHROUGH_REPLY, | } MPI2_SATA_PASSTHROUGH_REPLY, MPI2_POINTER PTR_MPI2_SATA_PASSTHROUGH_REPLY, | ||||
Mpi2SataPassthroughReply_t, MPI2_POINTER pMpi2SataPassthroughReply_t; | Mpi2SataPassthroughReply_t, MPI2_POINTER pMpi2SataPassthroughReply_t; | ||||
/* values for SASStatus field are at the top of this file */ | /* values for SASStatus field are at the top of this file */ | ||||
/**************************************************************************** | /**************************************************************************** | ||||
* SAS IO Unit Control messages | * SAS IO Unit Control messages | ||||
* (MPI v2.5 and earlier only. | |||||
* Replaced by IO Unit Control messages in MPI v2.6 and later.) | |||||
****************************************************************************/ | ****************************************************************************/ | ||||
/* SAS IO Unit Control Request Message */ | /* SAS IO Unit Control Request Message */ | ||||
typedef struct _MPI2_SAS_IOUNIT_CONTROL_REQUEST | typedef struct _MPI2_SAS_IOUNIT_CONTROL_REQUEST | ||||
{ | { | ||||
U8 Operation; /* 0x00 */ | U8 Operation; /* 0x00 */ | ||||
U8 Reserved1; /* 0x01 */ | U8 Reserved1; /* 0x01 */ | ||||
U8 ChainOffset; /* 0x02 */ | U8 ChainOffset; /* 0x02 */ | ||||
▲ Show 20 Lines • Show All 76 Lines • Show Last 20 Lines |