diff options
| author | Moore, Eric Dean <Eric.Moore@lsil.com> | 2005-05-11 19:37:38 -0400 |
|---|---|---|
| committer | James Bottomley <jejb@mulgrave.(none)> | 2005-05-20 16:47:57 -0400 |
| commit | c1a71d1c0440c47e006845f8accc1f212ca86852 (patch) | |
| tree | ae20bd33ede7cc1be832edc6c7b711c310af7573 /drivers/message/fusion/lsi/mpi_init.h | |
| parent | 51bbc9c3e85598ffe72caf99f88db767952f2a57 (diff) | |
[SCSI] fusion - mpi headers version 1.5.9
This patch contains update for mpi headers 1.5.9.
Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/message/fusion/lsi/mpi_init.h')
| -rw-r--r-- | drivers/message/fusion/lsi/mpi_init.h | 88 |
1 files changed, 47 insertions, 41 deletions
diff --git a/drivers/message/fusion/lsi/mpi_init.h b/drivers/message/fusion/lsi/mpi_init.h index b3c95fd7256f..aca035801a86 100644 --- a/drivers/message/fusion/lsi/mpi_init.h +++ b/drivers/message/fusion/lsi/mpi_init.h | |||
| @@ -1,12 +1,12 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * Copyright (c) 2000-2003 LSI Logic Corporation. | 2 | * Copyright (c) 2000-2005 LSI Logic Corporation. |
| 3 | * | 3 | * |
| 4 | * | 4 | * |
| 5 | * Name: mpi_init.h | 5 | * Name: mpi_init.h |
| 6 | * Title: MPI initiator mode messages and structures | 6 | * Title: MPI initiator mode messages and structures |
| 7 | * Creation Date: June 8, 2000 | 7 | * Creation Date: June 8, 2000 |
| 8 | * | 8 | * |
| 9 | * mpi_init.h Version: 01.05.xx | 9 | * mpi_init.h Version: 01.05.04 |
| 10 | * | 10 | * |
| 11 | * Version History | 11 | * Version History |
| 12 | * --------------- | 12 | * --------------- |
| @@ -33,6 +33,21 @@ | |||
| 33 | * for SCSI IO requests. | 33 | * for SCSI IO requests. |
| 34 | * 11-15-02 01.02.06 Added special extended SCSI Status defines for FCP. | 34 | * 11-15-02 01.02.06 Added special extended SCSI Status defines for FCP. |
| 35 | * 06-26-03 01.02.07 Added MPI_SCSI_STATUS_FCPEXT_UNASSIGNED define. | 35 | * 06-26-03 01.02.07 Added MPI_SCSI_STATUS_FCPEXT_UNASSIGNED define. |
| 36 | * 05-11-04 01.03.01 Original release for MPI v1.3. | ||
| 37 | * 08-19-04 01.05.01 Added MsgFlags defines for EEDP to SCSI IO request. | ||
| 38 | * Added new word to MSG_SCSI_IO_REPLY to add TaskTag field | ||
| 39 | * and a reserved U16. | ||
| 40 | * Added new MSG_SCSI_IO32_REQUEST structure. | ||
| 41 | * Added a TaskType of Clear Task Set to SCSI | ||
| 42 | * Task Management request. | ||
| 43 | * 12-07-04 01.05.02 Added support for Task Management Query Task. | ||
| 44 | * 01-15-05 01.05.03 Modified SCSI Enclosure Processor Request to support | ||
| 45 | * WWID addressing. | ||
| 46 | * 03-11-05 01.05.04 Removed EEDP flags from SCSI IO Request. | ||
| 47 | * Removed SCSI IO 32 Request. | ||
| 48 | * Modified SCSI Enclosure Processor Request and Reply to | ||
| 49 | * support Enclosure/Slot addressing rather than WWID | ||
| 50 | * addressing. | ||
| 36 | * -------------------------------------------------------------------------- | 51 | * -------------------------------------------------------------------------- |
| 37 | */ | 52 | */ |
| 38 | 53 | ||
| @@ -76,20 +91,12 @@ typedef struct _MSG_SCSI_IO_REQUEST | |||
| 76 | #define MPI_SCSIIO_MSGFLGS_SENSE_WIDTH (0x01) | 91 | #define MPI_SCSIIO_MSGFLGS_SENSE_WIDTH (0x01) |
| 77 | #define MPI_SCSIIO_MSGFLGS_SENSE_WIDTH_32 (0x00) | 92 | #define MPI_SCSIIO_MSGFLGS_SENSE_WIDTH_32 (0x00) |
| 78 | #define MPI_SCSIIO_MSGFLGS_SENSE_WIDTH_64 (0x01) | 93 | #define MPI_SCSIIO_MSGFLGS_SENSE_WIDTH_64 (0x01) |
| 94 | |||
| 79 | #define MPI_SCSIIO_MSGFLGS_SENSE_LOCATION (0x02) | 95 | #define MPI_SCSIIO_MSGFLGS_SENSE_LOCATION (0x02) |
| 80 | #define MPI_SCSIIO_MSGFLGS_SENSE_LOC_HOST (0x00) | 96 | #define MPI_SCSIIO_MSGFLGS_SENSE_LOC_HOST (0x00) |
| 81 | #define MPI_SCSIIO_MSGFLGS_SENSE_LOC_IOC (0x02) | 97 | #define MPI_SCSIIO_MSGFLGS_SENSE_LOC_IOC (0x02) |
| 82 | #define MPI_SCSIIO_MSGFLGS_CMD_DETERMINES_DATA_DIR (0x04) | ||
| 83 | #define MPI_SCSIIO_MSGFLGS_EEDP_TYPE_MASK (0xE0) | ||
| 84 | #define MPI_SCSIIO_MSGFLGS_EEDP_NONE (0x00) | ||
| 85 | #define MPI_SCSIIO_MSGFLGS_EEDP_RDPROTECT_T10 (0x20) | ||
| 86 | #define MPI_SCSIIO_MSGFLGS_EEDP_VRPROTECT_T10 (0x40) | ||
| 87 | #define MPI_SCSIIO_MSGFLGS_EEDP_WRPROTECT_T10 (0x60) | ||
| 88 | #define MPI_SCSIIO_MSGFLGS_EEDP_520_READ_MODE1 (0x20) | ||
| 89 | #define MPI_SCSIIO_MSGFLGS_EEDP_520_WRITE_MODE1 (0x40) | ||
| 90 | #define MPI_SCSIIO_MSGFLGS_EEDP_8_9_READ_MODE1 (0x60) | ||
| 91 | #define MPI_SCSIIO_MSGFLGS_EEDP_8_9_WRITE_MODE1 (0x80) | ||
| 92 | 98 | ||
| 99 | #define MPI_SCSIIO_MSGFLGS_CMD_DETERMINES_DATA_DIR (0x04) | ||
| 93 | 100 | ||
| 94 | /* SCSI IO LUN fields */ | 101 | /* SCSI IO LUN fields */ |
| 95 | 102 | ||
| @@ -148,6 +155,8 @@ typedef struct _MSG_SCSI_IO_REPLY | |||
| 148 | U32 TransferCount; /* 14h */ | 155 | U32 TransferCount; /* 14h */ |
| 149 | U32 SenseCount; /* 18h */ | 156 | U32 SenseCount; /* 18h */ |
| 150 | U32 ResponseInfo; /* 1Ch */ | 157 | U32 ResponseInfo; /* 1Ch */ |
| 158 | U16 TaskTag; /* 20h */ | ||
| 159 | U16 Reserved1; /* 22h */ | ||
| 151 | } MSG_SCSI_IO_REPLY, MPI_POINTER PTR_MSG_SCSI_IO_REPLY, | 160 | } MSG_SCSI_IO_REPLY, MPI_POINTER PTR_MSG_SCSI_IO_REPLY, |
| 152 | SCSIIOReply_t, MPI_POINTER pSCSIIOReply_t; | 161 | SCSIIOReply_t, MPI_POINTER pSCSIIOReply_t; |
| 153 | 162 | ||
| @@ -190,32 +199,7 @@ typedef struct _MSG_SCSI_IO_REPLY | |||
| 190 | #define MPI_SCSI_RSP_INFO_TASK_MGMT_FAILED (0x05000000) | 199 | #define MPI_SCSI_RSP_INFO_TASK_MGMT_FAILED (0x05000000) |
| 191 | #define MPI_SCSI_RSP_INFO_SPI_LQ_INVALID_TYPE (0x06000000) | 200 | #define MPI_SCSI_RSP_INFO_SPI_LQ_INVALID_TYPE (0x06000000) |
| 192 | 201 | ||
| 193 | 202 | #define MPI_SCSI_TASKTAG_UNKNOWN (0xFFFF) | |
| 194 | /****************************************************************************/ | ||
| 195 | /* SCSI IO 32 Request message structure */ | ||
| 196 | /****************************************************************************/ | ||
| 197 | |||
| 198 | typedef struct _MSG_SCSI_IO32_REQUEST | ||
| 199 | { | ||
| 200 | U8 TargetID; /* 00h */ | ||
| 201 | U8 Bus; /* 01h */ | ||
| 202 | U8 ChainOffset; /* 02h */ | ||
| 203 | U8 Function; /* 03h */ | ||
| 204 | U8 CDBLength; /* 04h */ | ||
| 205 | U8 SenseBufferLength; /* 05h */ | ||
| 206 | U8 Reserved; /* 06h */ | ||
| 207 | U8 MsgFlags; /* 07h */ | ||
| 208 | U32 MsgContext; /* 08h */ | ||
| 209 | U8 LUN[8]; /* 0Ch */ | ||
| 210 | U32 Control; /* 14h */ | ||
| 211 | U8 CDB[32]; /* 18h */ | ||
| 212 | U32 DataLength; /* 38h */ | ||
| 213 | U32 SenseBufferLowAddr; /* 3Ch */ | ||
| 214 | SGE_IO_UNION SGL; /* 40h */ | ||
| 215 | } MSG_SCSI_IO32_REQUEST, MPI_POINTER PTR_MSG_SCSI_IO32_REQUEST, | ||
| 216 | SCSIIO32Request_t, MPI_POINTER pSCSIIO32Request_t; | ||
| 217 | |||
| 218 | /* SCSI IO 32 uses the same defines as above for SCSI IO */ | ||
| 219 | 203 | ||
| 220 | 204 | ||
| 221 | /****************************************************************************/ | 205 | /****************************************************************************/ |
| @@ -247,6 +231,7 @@ typedef struct _MSG_SCSI_TASK_MGMT | |||
| 247 | #define MPI_SCSITASKMGMT_TASKTYPE_RESET_BUS (0x04) | 231 | #define MPI_SCSITASKMGMT_TASKTYPE_RESET_BUS (0x04) |
| 248 | #define MPI_SCSITASKMGMT_TASKTYPE_LOGICAL_UNIT_RESET (0x05) | 232 | #define MPI_SCSITASKMGMT_TASKTYPE_LOGICAL_UNIT_RESET (0x05) |
| 249 | #define MPI_SCSITASKMGMT_TASKTYPE_CLEAR_TASK_SET (0x06) | 233 | #define MPI_SCSITASKMGMT_TASKTYPE_CLEAR_TASK_SET (0x06) |
| 234 | #define MPI_SCSITASKMGMT_TASKTYPE_QUERY_TASK (0x07) | ||
| 250 | 235 | ||
| 251 | /* MsgFlags bits */ | 236 | /* MsgFlags bits */ |
| 252 | #define MPI_SCSITASKMGMT_MSGFLAGS_TARGET_RESET_OPTION (0x00) | 237 | #define MPI_SCSITASKMGMT_MSGFLAGS_TARGET_RESET_OPTION (0x00) |
| @@ -260,7 +245,7 @@ typedef struct _MSG_SCSI_TASK_MGMT_REPLY | |||
| 260 | U8 Bus; /* 01h */ | 245 | U8 Bus; /* 01h */ |
| 261 | U8 MsgLength; /* 02h */ | 246 | U8 MsgLength; /* 02h */ |
| 262 | U8 Function; /* 03h */ | 247 | U8 Function; /* 03h */ |
| 263 | U8 Reserved; /* 04h */ | 248 | U8 ResponseCode; /* 04h */ |
| 264 | U8 TaskType; /* 05h */ | 249 | U8 TaskType; /* 05h */ |
| 265 | U8 Reserved1; /* 06h */ | 250 | U8 Reserved1; /* 06h */ |
| 266 | U8 MsgFlags; /* 07h */ | 251 | U8 MsgFlags; /* 07h */ |
| @@ -272,6 +257,15 @@ typedef struct _MSG_SCSI_TASK_MGMT_REPLY | |||
| 272 | } MSG_SCSI_TASK_MGMT_REPLY, MPI_POINTER PTR_MSG_SCSI_TASK_MGMT_REPLY, | 257 | } MSG_SCSI_TASK_MGMT_REPLY, MPI_POINTER PTR_MSG_SCSI_TASK_MGMT_REPLY, |
| 273 | SCSITaskMgmtReply_t, MPI_POINTER pSCSITaskMgmtReply_t; | 258 | SCSITaskMgmtReply_t, MPI_POINTER pSCSITaskMgmtReply_t; |
| 274 | 259 | ||
| 260 | /* ResponseCode values */ | ||
| 261 | #define MPI_SCSITASKMGMT_RSP_TM_COMPLETE (0x00) | ||
| 262 | #define MPI_SCSITASKMGMT_RSP_INVALID_FRAME (0x02) | ||
| 263 | #define MPI_SCSITASKMGMT_RSP_TM_NOT_SUPPORTED (0x04) | ||
| 264 | #define MPI_SCSITASKMGMT_RSP_TM_FAILED (0x05) | ||
| 265 | #define MPI_SCSITASKMGMT_RSP_TM_SUCCEEDED (0x08) | ||
| 266 | #define MPI_SCSITASKMGMT_RSP_TM_INVALID_LUN (0x09) | ||
| 267 | #define MPI_SCSITASKMGMT_RSP_IO_QUEUED_ON_IOC (0x80) | ||
| 268 | |||
| 275 | 269 | ||
| 276 | /****************************************************************************/ | 270 | /****************************************************************************/ |
| 277 | /* SCSI Enclosure Processor messages */ | 271 | /* SCSI Enclosure Processor messages */ |
| @@ -284,11 +278,16 @@ typedef struct _MSG_SEP_REQUEST | |||
| 284 | U8 ChainOffset; /* 02h */ | 278 | U8 ChainOffset; /* 02h */ |
| 285 | U8 Function; /* 03h */ | 279 | U8 Function; /* 03h */ |
| 286 | U8 Action; /* 04h */ | 280 | U8 Action; /* 04h */ |
| 287 | U8 Reserved1; /* 05h */ | 281 | U8 Flags; /* 05h */ |
| 288 | U8 Reserved2; /* 06h */ | 282 | U8 Reserved1; /* 06h */ |
| 289 | U8 MsgFlags; /* 07h */ | 283 | U8 MsgFlags; /* 07h */ |
| 290 | U32 MsgContext; /* 08h */ | 284 | U32 MsgContext; /* 08h */ |
| 291 | U32 SlotStatus; /* 0Ch */ | 285 | U32 SlotStatus; /* 0Ch */ |
| 286 | U32 Reserved2; /* 10h */ | ||
| 287 | U32 Reserved3; /* 14h */ | ||
| 288 | U32 Reserved4; /* 18h */ | ||
| 289 | U16 Slot; /* 1Ch */ | ||
| 290 | U16 EnclosureHandle; /* 1Eh */ | ||
| 292 | } MSG_SEP_REQUEST, MPI_POINTER PTR_MSG_SEP_REQUEST, | 291 | } MSG_SEP_REQUEST, MPI_POINTER PTR_MSG_SEP_REQUEST, |
| 293 | SEPRequest_t, MPI_POINTER pSEPRequest_t; | 292 | SEPRequest_t, MPI_POINTER pSEPRequest_t; |
| 294 | 293 | ||
| @@ -296,6 +295,10 @@ typedef struct _MSG_SEP_REQUEST | |||
| 296 | #define MPI_SEP_REQ_ACTION_WRITE_STATUS (0x00) | 295 | #define MPI_SEP_REQ_ACTION_WRITE_STATUS (0x00) |
| 297 | #define MPI_SEP_REQ_ACTION_READ_STATUS (0x01) | 296 | #define MPI_SEP_REQ_ACTION_READ_STATUS (0x01) |
| 298 | 297 | ||
| 298 | /* Flags defines */ | ||
| 299 | #define MPI_SEP_REQ_FLAGS_ENCLOSURE_SLOT_ADDRESS (0x01) | ||
| 300 | #define MPI_SEP_REQ_FLAGS_BUS_TARGETID_ADDRESS (0x00) | ||
| 301 | |||
| 299 | /* SlotStatus bits for MSG_SEP_REQUEST */ | 302 | /* SlotStatus bits for MSG_SEP_REQUEST */ |
| 300 | #define MPI_SEP_REQ_SLOTSTATUS_NO_ERROR (0x00000001) | 303 | #define MPI_SEP_REQ_SLOTSTATUS_NO_ERROR (0x00000001) |
| 301 | #define MPI_SEP_REQ_SLOTSTATUS_DEV_FAULTY (0x00000002) | 304 | #define MPI_SEP_REQ_SLOTSTATUS_DEV_FAULTY (0x00000002) |
| @@ -332,6 +335,9 @@ typedef struct _MSG_SEP_REPLY | |||
| 332 | U16 IOCStatus; /* 0Eh */ | 335 | U16 IOCStatus; /* 0Eh */ |
| 333 | U32 IOCLogInfo; /* 10h */ | 336 | U32 IOCLogInfo; /* 10h */ |
| 334 | U32 SlotStatus; /* 14h */ | 337 | U32 SlotStatus; /* 14h */ |
| 338 | U32 Reserved4; /* 18h */ | ||
| 339 | U16 Slot; /* 1Ch */ | ||
| 340 | U16 EnclosureHandle; /* 1Eh */ | ||
| 335 | } MSG_SEP_REPLY, MPI_POINTER PTR_MSG_SEP_REPLY, | 341 | } MSG_SEP_REPLY, MPI_POINTER PTR_MSG_SEP_REPLY, |
| 336 | SEPReply_t, MPI_POINTER pSEPReply_t; | 342 | SEPReply_t, MPI_POINTER pSEPReply_t; |
| 337 | 343 | ||
