mpi.h (102599) | mpi.h (115778) |
---|---|
1/* $FreeBSD: head/sys/dev/mpt/mpilib/mpi.h 102599 2002-08-30 03:36:50Z mjacob $ */ | 1/* $FreeBSD: head/sys/dev/mpt/mpilib/mpi.h 115778 2003-06-03 17:47:48Z mjacob $ */ |
2/* 3 * Copyright (c) 2000, 2001 by LSI Logic Corporation 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright 9 * notice immediately at the beginning of the file, without modification, --- 13 unchanged lines hidden (view full) --- 23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 * SUCH DAMAGE. 25 * 26 * 27 * Name: MPI.H 28 * Title: MPI Message independent structures and definitions 29 * Creation Date: July 27, 2000 30 * | 2/* 3 * Copyright (c) 2000, 2001 by LSI Logic Corporation 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright 9 * notice immediately at the beginning of the file, without modification, --- 13 unchanged lines hidden (view full) --- 23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 * SUCH DAMAGE. 25 * 26 * 27 * Name: MPI.H 28 * Title: MPI Message independent structures and definitions 29 * Creation Date: July 27, 2000 30 * |
31 * MPI Version: 01.02.03 | 31 * MPI.H Version: 01.02.09 |
32 * 33 * Version History 34 * --------------- 35 * 36 * Date Version Description 37 * -------- -------- ------------------------------------------------------ 38 * 05-08-00 00.10.01 Original release for 0.10 spec dated 4/26/2000. 39 * 05-24-00 00.10.02 Added MPI_IOCSTATUS_SCSI_RESIDUAL_MISMATCH definition. --- 21 unchanged lines hidden (view full) --- 61 * Added function codes for RAID. 62 * 04-09-01 01.01.07 Added alternate define for MPI_DOORBELL_ACTIVE, 63 * MPI_DOORBELL_USED, to better match the spec. 64 * 08-08-01 01.02.01 Original release for v1.2 work. 65 * Changed MPI_VERSION_MINOR from 0x01 to 0x02. 66 * Added define MPI_FUNCTION_TOOLBOX. 67 * 09-28-01 01.02.02 New function code MPI_SCSI_ENCLOSURE_PROCESSOR. 68 * 11-01-01 01.02.03 Changed name to MPI_FUNCTION_SCSI_ENCLOSURE_PROCESSOR. | 32 * 33 * Version History 34 * --------------- 35 * 36 * Date Version Description 37 * -------- -------- ------------------------------------------------------ 38 * 05-08-00 00.10.01 Original release for 0.10 spec dated 4/26/2000. 39 * 05-24-00 00.10.02 Added MPI_IOCSTATUS_SCSI_RESIDUAL_MISMATCH definition. --- 21 unchanged lines hidden (view full) --- 61 * Added function codes for RAID. 62 * 04-09-01 01.01.07 Added alternate define for MPI_DOORBELL_ACTIVE, 63 * MPI_DOORBELL_USED, to better match the spec. 64 * 08-08-01 01.02.01 Original release for v1.2 work. 65 * Changed MPI_VERSION_MINOR from 0x01 to 0x02. 66 * Added define MPI_FUNCTION_TOOLBOX. 67 * 09-28-01 01.02.02 New function code MPI_SCSI_ENCLOSURE_PROCESSOR. 68 * 11-01-01 01.02.03 Changed name to MPI_FUNCTION_SCSI_ENCLOSURE_PROCESSOR. |
69 * 03-14-02 01.02.04 Added MPI_HEADER_VERSION_ defines. 70 * 05-31-02 01.02.05 Bumped MPI_HEADER_VERSION_UNIT. 71 * 07-12-02 01.02.06 Added define for MPI_FUNCTION_MAILBOX. 72 * 09-16-02 01.02.07 Bumped value for MPI_HEADER_VERSION_UNIT. 73 * 11-15-02 01.02.08 Added define MPI_IOCSTATUS_TARGET_INVALID_IO_INDEX and 74 * obsoleted define MPI_IOCSTATUS_TARGET_INVALID_IOCINDEX. 75 * 04-01-03 01.02.09 New IOCStatus code: MPI_IOCSTATUS_FC_EXCHANGE_CANCELED |
|
69 * -------------------------------------------------------------------------- 70 */ 71 72#ifndef MPI_H 73#define MPI_H 74 75 76/***************************************************************************** 77* 78* M P I V e r s i o n D e f i n i t i o n s 79* 80*****************************************************************************/ 81 82#define MPI_VERSION_MAJOR (0x01) 83#define MPI_VERSION_MINOR (0x02) | 76 * -------------------------------------------------------------------------- 77 */ 78 79#ifndef MPI_H 80#define MPI_H 81 82 83/***************************************************************************** 84* 85* M P I V e r s i o n D e f i n i t i o n s 86* 87*****************************************************************************/ 88 89#define MPI_VERSION_MAJOR (0x01) 90#define MPI_VERSION_MINOR (0x02) |
84#define MPI_VERSION ((MPI_VERSION_MAJOR << 8) | MPI_VERSION_MINOR) | 91#define MPI_VERSION_MAJOR_MASK (0xFF00) 92#define MPI_VERSION_MAJOR_SHIFT (8) 93#define MPI_VERSION_MINOR_MASK (0x00FF) 94#define MPI_VERSION_MINOR_SHIFT (0) 95#define MPI_VERSION ((MPI_VERSION_MAJOR << MPI_VERSION_MAJOR_SHIFT) | \ 96 MPI_VERSION_MINOR) |
85 | 97 |
98#define MPI_VERSION_01_00 (0x0100) 99#define MPI_VERSION_01_01 (0x0101) 100#define MPI_VERSION_01_02 (0x0102) |
|
86/* Note: The major versions of 0xe0 through 0xff are reserved */ 87 | 101/* Note: The major versions of 0xe0 through 0xff are reserved */ 102 |
103/* versioning for this MPI header set */ 104#define MPI_HEADER_VERSION_UNIT (0x09) 105#define MPI_HEADER_VERSION_DEV (0x00) 106#define MPI_HEADER_VERSION_UNIT_MASK (0xFF00) 107#define MPI_HEADER_VERSION_UNIT_SHIFT (8) 108#define MPI_HEADER_VERSION_DEV_MASK (0x00FF) 109#define MPI_HEADER_VERSION_DEV_SHIFT (0) 110#define MPI_HEADER_VERSION ((MPI_HEADER_VERSION_UNIT << 8) | MPI_HEADER_VERSION_DEV) 111 |
|
88/***************************************************************************** 89* 90* I O C S t a t e D e f i n i t i o n s 91* 92*****************************************************************************/ 93 94#define MPI_IOC_STATE_RESET (0x00000000) 95#define MPI_IOC_STATE_READY (0x10000000) --- 149 unchanged lines hidden (view full) --- 245 246#define MPI_FUNCTION_RAID_ACTION (0x15) 247#define MPI_FUNCTION_RAID_SCSI_IO_PASSTHROUGH (0x16) 248 249#define MPI_FUNCTION_TOOLBOX (0x17) 250 251#define MPI_FUNCTION_SCSI_ENCLOSURE_PROCESSOR (0x18) 252 | 112/***************************************************************************** 113* 114* I O C S t a t e D e f i n i t i o n s 115* 116*****************************************************************************/ 117 118#define MPI_IOC_STATE_RESET (0x00000000) 119#define MPI_IOC_STATE_READY (0x10000000) --- 149 unchanged lines hidden (view full) --- 269 270#define MPI_FUNCTION_RAID_ACTION (0x15) 271#define MPI_FUNCTION_RAID_SCSI_IO_PASSTHROUGH (0x16) 272 273#define MPI_FUNCTION_TOOLBOX (0x17) 274 275#define MPI_FUNCTION_SCSI_ENCLOSURE_PROCESSOR (0x18) 276 |
277#define MPI_FUNCTION_MAILBOX (0x19) 278 |
|
253#define MPI_FUNCTION_LAN_SEND (0x20) 254#define MPI_FUNCTION_LAN_RECEIVE (0x21) 255#define MPI_FUNCTION_LAN_RESET (0x22) 256 257#define MPI_FUNCTION_IOC_MESSAGE_UNIT_RESET (0x40) 258#define MPI_FUNCTION_IO_UNIT_RESET (0x41) 259#define MPI_FUNCTION_HANDSHAKE (0x42) 260#define MPI_FUNCTION_REPLY_FRAME_REMOVAL (0x43) --- 351 unchanged lines hidden (view full) --- 612#define MPI_IOCSTATUS_SCSI_EXT_TERMINATED (0x004C) 613 614/****************************************************************************/ 615/* SCSI (SPI & FCP) target values */ 616/****************************************************************************/ 617 618#define MPI_IOCSTATUS_TARGET_PRIORITY_IO (0x0060) 619#define MPI_IOCSTATUS_TARGET_INVALID_PORT (0x0061) | 279#define MPI_FUNCTION_LAN_SEND (0x20) 280#define MPI_FUNCTION_LAN_RECEIVE (0x21) 281#define MPI_FUNCTION_LAN_RESET (0x22) 282 283#define MPI_FUNCTION_IOC_MESSAGE_UNIT_RESET (0x40) 284#define MPI_FUNCTION_IO_UNIT_RESET (0x41) 285#define MPI_FUNCTION_HANDSHAKE (0x42) 286#define MPI_FUNCTION_REPLY_FRAME_REMOVAL (0x43) --- 351 unchanged lines hidden (view full) --- 638#define MPI_IOCSTATUS_SCSI_EXT_TERMINATED (0x004C) 639 640/****************************************************************************/ 641/* SCSI (SPI & FCP) target values */ 642/****************************************************************************/ 643 644#define MPI_IOCSTATUS_TARGET_PRIORITY_IO (0x0060) 645#define MPI_IOCSTATUS_TARGET_INVALID_PORT (0x0061) |
620#define MPI_IOCSTATUS_TARGET_INVALID_IOCINDEX (0x0062) | 646#define MPI_IOCSTATUS_TARGET_INVALID_IOCINDEX (0x0062) /* obsolete */ 647#define MPI_IOCSTATUS_TARGET_INVALID_IO_INDEX (0x0062) |
621#define MPI_IOCSTATUS_TARGET_ABORTED (0x0063) 622#define MPI_IOCSTATUS_TARGET_NO_CONN_RETRYABLE (0x0064) 623#define MPI_IOCSTATUS_TARGET_NO_CONNECTION (0x0065) 624#define MPI_IOCSTATUS_TARGET_XFER_COUNT_MISMATCH (0x006A) 625#define MPI_IOCSTATUS_TARGET_STS_DATA_NOT_SENT (0x006B) 626 627/****************************************************************************/ 628/* Additional FCP target values */ --- 7 unchanged lines hidden (view full) --- 636/****************************************************************************/ 637/* Fibre Channel Direct Access values */ 638/****************************************************************************/ 639 640#define MPI_IOCSTATUS_FC_ABORTED (0x0066) 641#define MPI_IOCSTATUS_FC_RX_ID_INVALID (0x0067) 642#define MPI_IOCSTATUS_FC_DID_INVALID (0x0068) 643#define MPI_IOCSTATUS_FC_NODE_LOGGED_OUT (0x0069) | 648#define MPI_IOCSTATUS_TARGET_ABORTED (0x0063) 649#define MPI_IOCSTATUS_TARGET_NO_CONN_RETRYABLE (0x0064) 650#define MPI_IOCSTATUS_TARGET_NO_CONNECTION (0x0065) 651#define MPI_IOCSTATUS_TARGET_XFER_COUNT_MISMATCH (0x006A) 652#define MPI_IOCSTATUS_TARGET_STS_DATA_NOT_SENT (0x006B) 653 654/****************************************************************************/ 655/* Additional FCP target values */ --- 7 unchanged lines hidden (view full) --- 663/****************************************************************************/ 664/* Fibre Channel Direct Access values */ 665/****************************************************************************/ 666 667#define MPI_IOCSTATUS_FC_ABORTED (0x0066) 668#define MPI_IOCSTATUS_FC_RX_ID_INVALID (0x0067) 669#define MPI_IOCSTATUS_FC_DID_INVALID (0x0068) 670#define MPI_IOCSTATUS_FC_NODE_LOGGED_OUT (0x0069) |
671#define MPI_IOCSTATUS_FC_EXCHANGE_CANCELED (0x006C) |
|
644 645/****************************************************************************/ 646/* LAN values */ 647/****************************************************************************/ 648 649#define MPI_IOCSTATUS_LAN_DEVICE_NOT_FOUND (0x0080) 650#define MPI_IOCSTATUS_LAN_DEVICE_FAILURE (0x0081) 651#define MPI_IOCSTATUS_LAN_TRANSMIT_ERROR (0x0082) --- 26 unchanged lines hidden --- | 672 673/****************************************************************************/ 674/* LAN values */ 675/****************************************************************************/ 676 677#define MPI_IOCSTATUS_LAN_DEVICE_NOT_FOUND (0x0080) 678#define MPI_IOCSTATUS_LAN_DEVICE_FAILURE (0x0081) 679#define MPI_IOCSTATUS_LAN_TRANSMIT_ERROR (0x0082) --- 26 unchanged lines hidden --- |