diff options
Diffstat (limited to 'drivers/message/fusion/lsi/mpi.h')
-rw-r--r-- | drivers/message/fusion/lsi/mpi.h | 70 |
1 files changed, 49 insertions, 21 deletions
diff --git a/drivers/message/fusion/lsi/mpi.h b/drivers/message/fusion/lsi/mpi.h index 9dbb061265fe..9f98334e5076 100644 --- a/drivers/message/fusion/lsi/mpi.h +++ b/drivers/message/fusion/lsi/mpi.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.h | 5 | * Name: mpi.h |
6 | * Title: MPI Message independent structures and definitions | 6 | * Title: MPI Message independent structures and definitions |
7 | * Creation Date: July 27, 2000 | 7 | * Creation Date: July 27, 2000 |
8 | * | 8 | * |
9 | * mpi.h Version: 01.05.xx | 9 | * mpi.h Version: 01.05.07 |
10 | * | 10 | * |
11 | * Version History | 11 | * Version History |
12 | * --------------- | 12 | * --------------- |
@@ -52,6 +52,25 @@ | |||
52 | * obsoleted define MPI_IOCSTATUS_TARGET_INVALID_IOCINDEX. | 52 | * obsoleted define MPI_IOCSTATUS_TARGET_INVALID_IOCINDEX. |
53 | * 04-01-03 01.02.09 New IOCStatus code: MPI_IOCSTATUS_FC_EXCHANGE_CANCELED | 53 | * 04-01-03 01.02.09 New IOCStatus code: MPI_IOCSTATUS_FC_EXCHANGE_CANCELED |
54 | * 06-26-03 01.02.10 Bumped MPI_HEADER_VERSION_UNIT value. | 54 | * 06-26-03 01.02.10 Bumped MPI_HEADER_VERSION_UNIT value. |
55 | * 01-16-04 01.02.11 Added define for MPI_IOCLOGINFO_TYPE_SHIFT. | ||
56 | * 04-29-04 01.02.12 Added function codes for MPI_FUNCTION_DIAG_BUFFER_POST | ||
57 | * and MPI_FUNCTION_DIAG_RELEASE. | ||
58 | * Added MPI_IOCSTATUS_DIAGNOSTIC_RELEASED define. | ||
59 | * Bumped MPI_HEADER_VERSION_UNIT value. | ||
60 | * 05-11-04 01.03.01 Bumped MPI_VERSION_MINOR for MPI v1.3. | ||
61 | * Added codes for Inband. | ||
62 | * 08-19-04 01.05.01 Added defines for Host Buffer Access Control doorbell. | ||
63 | * Added define for offset of High Priority Request Queue. | ||
64 | * Added new function codes and new IOCStatus codes. | ||
65 | * Added a IOCLogInfo type of SAS. | ||
66 | * 12-07-04 01.05.02 Bumped MPI_HEADER_VERSION_UNIT. | ||
67 | * 12-09-04 01.05.03 Bumped MPI_HEADER_VERSION_UNIT. | ||
68 | * 01-15-05 01.05.04 Bumped MPI_HEADER_VERSION_UNIT. | ||
69 | * 02-09-05 01.05.05 Bumped MPI_HEADER_VERSION_UNIT. | ||
70 | * 02-22-05 01.05.06 Bumped MPI_HEADER_VERSION_UNIT. | ||
71 | * 03-11-05 01.05.07 Removed function codes for SCSI IO 32 and | ||
72 | * TargetAssistExtended requests. | ||
73 | * Removed EEDP IOCStatus codes. | ||
55 | * -------------------------------------------------------------------------- | 74 | * -------------------------------------------------------------------------- |
56 | */ | 75 | */ |
57 | 76 | ||
@@ -82,7 +101,7 @@ | |||
82 | /* Note: The major versions of 0xe0 through 0xff are reserved */ | 101 | /* Note: The major versions of 0xe0 through 0xff are reserved */ |
83 | 102 | ||
84 | /* versioning for this MPI header set */ | 103 | /* versioning for this MPI header set */ |
85 | #define MPI_HEADER_VERSION_UNIT (0x00) | 104 | #define MPI_HEADER_VERSION_UNIT (0x09) |
86 | #define MPI_HEADER_VERSION_DEV (0x00) | 105 | #define MPI_HEADER_VERSION_DEV (0x00) |
87 | #define MPI_HEADER_VERSION_UNIT_MASK (0xFF00) | 106 | #define MPI_HEADER_VERSION_UNIT_MASK (0xFF00) |
88 | #define MPI_HEADER_VERSION_UNIT_SHIFT (8) | 107 | #define MPI_HEADER_VERSION_UNIT_SHIFT (8) |
@@ -122,7 +141,11 @@ | |||
122 | * | 141 | * |
123 | *****************************************************************************/ | 142 | *****************************************************************************/ |
124 | 143 | ||
125 | /* S y s t e m D o o r b e l l */ | 144 | /* |
145 | * Defines for working with the System Doorbell register. | ||
146 | * Values for doorbell function codes are included in the section that defines | ||
147 | * all the function codes (further on in this file). | ||
148 | */ | ||
126 | #define MPI_DOORBELL_OFFSET (0x00000000) | 149 | #define MPI_DOORBELL_OFFSET (0x00000000) |
127 | #define MPI_DOORBELL_ACTIVE (0x08000000) /* DoorbellUsed */ | 150 | #define MPI_DOORBELL_ACTIVE (0x08000000) /* DoorbellUsed */ |
128 | #define MPI_DOORBELL_USED (MPI_DOORBELL_ACTIVE) | 151 | #define MPI_DOORBELL_USED (MPI_DOORBELL_ACTIVE) |
@@ -134,6 +157,13 @@ | |||
134 | #define MPI_DOORBELL_ADD_DWORDS_MASK (0x00FF0000) | 157 | #define MPI_DOORBELL_ADD_DWORDS_MASK (0x00FF0000) |
135 | #define MPI_DOORBELL_ADD_DWORDS_SHIFT (16) | 158 | #define MPI_DOORBELL_ADD_DWORDS_SHIFT (16) |
136 | #define MPI_DOORBELL_DATA_MASK (0x0000FFFF) | 159 | #define MPI_DOORBELL_DATA_MASK (0x0000FFFF) |
160 | #define MPI_DOORBELL_FUNCTION_SPECIFIC_MASK (0x0000FFFF) | ||
161 | |||
162 | /* values for Host Buffer Access Control doorbell function */ | ||
163 | #define MPI_DB_HPBAC_VALUE_MASK (0x0000F000) | ||
164 | #define MPI_DB_HPBAC_ENABLE_ACCESS (0x01) | ||
165 | #define MPI_DB_HPBAC_DISABLE_ACCESS (0x02) | ||
166 | #define MPI_DB_HPBAC_FREE_BUFFER (0x03) | ||
137 | 167 | ||
138 | 168 | ||
139 | #define MPI_WRITE_SEQUENCE_OFFSET (0x00000004) | 169 | #define MPI_WRITE_SEQUENCE_OFFSET (0x00000004) |
@@ -257,16 +287,18 @@ | |||
257 | 287 | ||
258 | #define MPI_FUNCTION_SMP_PASSTHROUGH (0x1A) | 288 | #define MPI_FUNCTION_SMP_PASSTHROUGH (0x1A) |
259 | #define MPI_FUNCTION_SAS_IO_UNIT_CONTROL (0x1B) | 289 | #define MPI_FUNCTION_SAS_IO_UNIT_CONTROL (0x1B) |
290 | #define MPI_FUNCTION_SATA_PASSTHROUGH (0x1C) | ||
260 | 291 | ||
261 | #define MPI_DIAG_BUFFER_POST (0x1D) | 292 | #define MPI_FUNCTION_DIAG_BUFFER_POST (0x1D) |
262 | #define MPI_DIAG_RELEASE (0x1E) | 293 | #define MPI_FUNCTION_DIAG_RELEASE (0x1E) |
263 | |||
264 | #define MPI_FUNCTION_SCSI_IO_32 (0x1F) | ||
265 | 294 | ||
266 | #define MPI_FUNCTION_LAN_SEND (0x20) | 295 | #define MPI_FUNCTION_LAN_SEND (0x20) |
267 | #define MPI_FUNCTION_LAN_RECEIVE (0x21) | 296 | #define MPI_FUNCTION_LAN_RECEIVE (0x21) |
268 | #define MPI_FUNCTION_LAN_RESET (0x22) | 297 | #define MPI_FUNCTION_LAN_RESET (0x22) |
269 | 298 | ||
299 | #define MPI_FUNCTION_TARGET_CMD_BUF_BASE_POST (0x24) | ||
300 | #define MPI_FUNCTION_TARGET_CMD_BUF_LIST_POST (0x25) | ||
301 | |||
270 | #define MPI_FUNCTION_INBAND_BUFFER_POST (0x28) | 302 | #define MPI_FUNCTION_INBAND_BUFFER_POST (0x28) |
271 | #define MPI_FUNCTION_INBAND_SEND (0x29) | 303 | #define MPI_FUNCTION_INBAND_SEND (0x29) |
272 | #define MPI_FUNCTION_INBAND_RSP (0x2A) | 304 | #define MPI_FUNCTION_INBAND_RSP (0x2A) |
@@ -276,6 +308,7 @@ | |||
276 | #define MPI_FUNCTION_IO_UNIT_RESET (0x41) | 308 | #define MPI_FUNCTION_IO_UNIT_RESET (0x41) |
277 | #define MPI_FUNCTION_HANDSHAKE (0x42) | 309 | #define MPI_FUNCTION_HANDSHAKE (0x42) |
278 | #define MPI_FUNCTION_REPLY_FRAME_REMOVAL (0x43) | 310 | #define MPI_FUNCTION_REPLY_FRAME_REMOVAL (0x43) |
311 | #define MPI_FUNCTION_HOST_PAGEBUF_ACCESS_CONTROL (0x44) | ||
279 | 312 | ||
280 | 313 | ||
281 | /* standard version format */ | 314 | /* standard version format */ |
@@ -328,8 +361,8 @@ typedef struct _SGE_SIMPLE_UNION | |||
328 | U32 Address32; | 361 | U32 Address32; |
329 | U64 Address64; | 362 | U64 Address64; |
330 | }u; | 363 | }u; |
331 | } SGESimpleUnion_t, MPI_POINTER pSGESimpleUnion_t, | 364 | } SGE_SIMPLE_UNION, MPI_POINTER PTR_SGE_SIMPLE_UNION, |
332 | SGE_SIMPLE_UNION, MPI_POINTER PTR_SGE_SIMPLE_UNION; | 365 | SGESimpleUnion_t, MPI_POINTER pSGESimpleUnion_t; |
333 | 366 | ||
334 | /****************************************************************************/ | 367 | /****************************************************************************/ |
335 | /* Chain element structures */ | 368 | /* Chain element structures */ |
@@ -648,27 +681,21 @@ typedef struct _MSG_DEFAULT_REPLY | |||
648 | #define MPI_IOCSTATUS_SCSI_EXT_TERMINATED (0x004C) | 681 | #define MPI_IOCSTATUS_SCSI_EXT_TERMINATED (0x004C) |
649 | 682 | ||
650 | /****************************************************************************/ | 683 | /****************************************************************************/ |
651 | /* For use by SCSI Initiator and SCSI Target end-to-end data protection */ | 684 | /* SCSI Target values */ |
652 | /****************************************************************************/ | ||
653 | |||
654 | #define MPI_IOCSTATUS_EEDP_CRC_ERROR (0x004D) | ||
655 | #define MPI_IOCSTATUS_EEDP_LBA_TAG_ERROR (0x004E) | ||
656 | #define MPI_IOCSTATUS_EEDP_APP_TAG_ERROR (0x004F) | ||
657 | |||
658 | |||
659 | /****************************************************************************/ | ||
660 | /* SCSI (SPI & FCP) target values */ | ||
661 | /****************************************************************************/ | 685 | /****************************************************************************/ |
662 | 686 | ||
663 | #define MPI_IOCSTATUS_TARGET_PRIORITY_IO (0x0060) | 687 | #define MPI_IOCSTATUS_TARGET_PRIORITY_IO (0x0060) |
664 | #define MPI_IOCSTATUS_TARGET_INVALID_PORT (0x0061) | 688 | #define MPI_IOCSTATUS_TARGET_INVALID_PORT (0x0061) |
665 | #define MPI_IOCSTATUS_TARGET_INVALID_IOCINDEX (0x0062) /* obsolete */ | 689 | #define MPI_IOCSTATUS_TARGET_INVALID_IOCINDEX (0x0062) /* obsolete name */ |
666 | #define MPI_IOCSTATUS_TARGET_INVALID_IO_INDEX (0x0062) | 690 | #define MPI_IOCSTATUS_TARGET_INVALID_IO_INDEX (0x0062) |
667 | #define MPI_IOCSTATUS_TARGET_ABORTED (0x0063) | 691 | #define MPI_IOCSTATUS_TARGET_ABORTED (0x0063) |
668 | #define MPI_IOCSTATUS_TARGET_NO_CONN_RETRYABLE (0x0064) | 692 | #define MPI_IOCSTATUS_TARGET_NO_CONN_RETRYABLE (0x0064) |
669 | #define MPI_IOCSTATUS_TARGET_NO_CONNECTION (0x0065) | 693 | #define MPI_IOCSTATUS_TARGET_NO_CONNECTION (0x0065) |
670 | #define MPI_IOCSTATUS_TARGET_XFER_COUNT_MISMATCH (0x006A) | 694 | #define MPI_IOCSTATUS_TARGET_XFER_COUNT_MISMATCH (0x006A) |
671 | #define MPI_IOCSTATUS_TARGET_STS_DATA_NOT_SENT (0x006B) | 695 | #define MPI_IOCSTATUS_TARGET_STS_DATA_NOT_SENT (0x006B) |
696 | #define MPI_IOCSTATUS_TARGET_DATA_OFFSET_ERROR (0x006D) | ||
697 | #define MPI_IOCSTATUS_TARGET_TOO_MUCH_WRITE_DATA (0x006E) | ||
698 | #define MPI_IOCSTATUS_TARGET_IU_TOO_SHORT (0x006F) | ||
672 | 699 | ||
673 | /****************************************************************************/ | 700 | /****************************************************************************/ |
674 | /* Additional FCP target values (obsolete) */ | 701 | /* Additional FCP target values (obsolete) */ |
@@ -707,6 +734,7 @@ typedef struct _MSG_DEFAULT_REPLY | |||
707 | /****************************************************************************/ | 734 | /****************************************************************************/ |
708 | 735 | ||
709 | #define MPI_IOCSTATUS_SAS_SMP_REQUEST_FAILED (0x0090) | 736 | #define MPI_IOCSTATUS_SAS_SMP_REQUEST_FAILED (0x0090) |
737 | #define MPI_IOCSTATUS_SAS_SMP_DATA_OVERRUN (0x0091) | ||
710 | 738 | ||
711 | /****************************************************************************/ | 739 | /****************************************************************************/ |
712 | /* Inband values */ | 740 | /* Inband values */ |