Role a microrev of the MPI Library in preparation for target mode work.
Make my portions of the license clearer. Thank Chris Ellsworth for his support in getting a bunch of this done.
This commit is contained in:
parent
e98053c4cb
commit
8188e4b6ef
@ -33,7 +33,7 @@
|
||||
* Title: MPI Message independent structures and definitions
|
||||
* Creation Date: July 27, 2000
|
||||
*
|
||||
* mpi.h Version: 01.05.09
|
||||
* mpi.h Version: 01.05.10
|
||||
*
|
||||
* Version History
|
||||
* ---------------
|
||||
@ -102,6 +102,7 @@
|
||||
* TargetAssistExtended requests.
|
||||
* Added EEDP IOCStatus codes.
|
||||
* 08-03-05 01.05.09 Bumped MPI_HEADER_VERSION_UNIT.
|
||||
* 08-30-05 01.05.10 Added 2 new IOCStatus codes for Target.
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
@ -132,7 +133,7 @@
|
||||
/* Note: The major versions of 0xe0 through 0xff are reserved */
|
||||
|
||||
/* versioning for this MPI header set */
|
||||
#define MPI_HEADER_VERSION_UNIT (0x0B)
|
||||
#define MPI_HEADER_VERSION_UNIT (0x0C)
|
||||
#define MPI_HEADER_VERSION_DEV (0x00)
|
||||
#define MPI_HEADER_VERSION_UNIT_MASK (0xFF00)
|
||||
#define MPI_HEADER_VERSION_UNIT_SHIFT (8)
|
||||
@ -739,6 +740,8 @@ typedef struct _MSG_DEFAULT_REPLY
|
||||
#define MPI_IOCSTATUS_TARGET_DATA_OFFSET_ERROR (0x006D)
|
||||
#define MPI_IOCSTATUS_TARGET_TOO_MUCH_WRITE_DATA (0x006E)
|
||||
#define MPI_IOCSTATUS_TARGET_IU_TOO_SHORT (0x006F)
|
||||
#define MPI_IOCSTATUS_TARGET_ACK_NAK_TIMEOUT (0x0070)
|
||||
#define MPI_IOCSTATUS_TARGET_NAK_RECEIVED (0x0071)
|
||||
|
||||
/****************************************************************************/
|
||||
/* Additional FCP target values (obsolete) */
|
||||
|
@ -33,7 +33,7 @@
|
||||
* Title: MPI Config message, structures, and Pages
|
||||
* Creation Date: July 27, 2000
|
||||
*
|
||||
* mpi_cnfg.h Version: 01.05.10
|
||||
* mpi_cnfg.h Version: 01.05.11
|
||||
*
|
||||
* Version History
|
||||
* ---------------
|
||||
@ -285,6 +285,14 @@
|
||||
* Added EnclosureHandle field to SAS Expander page 0.
|
||||
* Removed redundant NumTableEntriesProg field from SAS
|
||||
* Expander Page 1.
|
||||
* 08-30-05 01.05.11 Added DeviceID for FC949E and changed the DeviceID for
|
||||
* SAS1078.
|
||||
* Added more defines for Manufacturing Page 4 Flags field.
|
||||
* Added more defines for IOCSettings and added
|
||||
* ExpanderSpinup field to Bios Page 1.
|
||||
* Added postpone SATA Init bit to SAS IO Unit Page 1
|
||||
* ControlFlags.
|
||||
* Changed LogEntry format for Log Page 0.
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
@ -530,7 +538,7 @@ typedef struct _MSG_CONFIG_REPLY
|
||||
#define MPI_MANUFACTPAGE_DEVICEID_FC929X (0x0626)
|
||||
#define MPI_MANUFACTPAGE_DEVICEID_FC939X (0x0642)
|
||||
#define MPI_MANUFACTPAGE_DEVICEID_FC949X (0x0640)
|
||||
#define MPI_MANUFACTPAGE_DEVICEID_FC949ES (0x0646)
|
||||
#define MPI_MANUFACTPAGE_DEVICEID_FC949E (0x0646)
|
||||
/* SCSI */
|
||||
#define MPI_MANUFACTPAGE_DEVID_53C1030 (0x0030)
|
||||
#define MPI_MANUFACTPAGE_DEVID_53C1030ZC (0x0031)
|
||||
@ -546,7 +554,7 @@ typedef struct _MSG_CONFIG_REPLY
|
||||
#define MPI_MANUFACTPAGE_DEVID_SAS1066E (0x005A)
|
||||
#define MPI_MANUFACTPAGE_DEVID_SAS1068 (0x0054)
|
||||
#define MPI_MANUFACTPAGE_DEVID_SAS1068E (0x0058)
|
||||
#define MPI_MANUFACTPAGE_DEVID_SAS1078 (0x0060)
|
||||
#define MPI_MANUFACTPAGE_DEVID_SAS1078 (0x0062)
|
||||
|
||||
|
||||
typedef struct _CONFIG_PAGE_MANUFACTURING_0
|
||||
@ -650,9 +658,14 @@ typedef struct _CONFIG_PAGE_MANUFACTURING_4
|
||||
} CONFIG_PAGE_MANUFACTURING_4, MPI_POINTER PTR_CONFIG_PAGE_MANUFACTURING_4,
|
||||
ManufacturingPage4_t, MPI_POINTER pManufacturingPage4_t;
|
||||
|
||||
#define MPI_MANUFACTURING4_PAGEVERSION (0x02)
|
||||
#define MPI_MANUFACTURING4_PAGEVERSION (0x03)
|
||||
|
||||
/* defines for the Flags field */
|
||||
#define MPI_MANPAGE4_IME_DISABLE (0x20)
|
||||
#define MPI_MANPAGE4_IM_DISABLE (0x10)
|
||||
#define MPI_MANPAGE4_IS_DISABLE (0x08)
|
||||
#define MPI_MANPAGE4_IR_MODEPAGE8_DISABLE (0x04)
|
||||
#define MPI_MANPAGE4_IM_RESYNC_CACHE_ENABLE (0x02)
|
||||
#define MPI_MANPAGE4_IR_NO_MIX_SAS_SATA (0x01)
|
||||
|
||||
|
||||
@ -1002,7 +1015,8 @@ typedef struct _CONFIG_PAGE_BIOS_1
|
||||
U32 Reserved1; /* 0Ch */
|
||||
U32 DeviceSettings; /* 10h */
|
||||
U16 NumberOfDevices; /* 14h */
|
||||
U16 Reserved2; /* 16h */
|
||||
U8 ExpanderSpinup; /* 16h */
|
||||
U8 Reserved2; /* 17h */
|
||||
U16 IOTimeoutBlockDevicesNonRM; /* 18h */
|
||||
U16 IOTimeoutSequential; /* 1Ah */
|
||||
U16 IOTimeoutOther; /* 1Ch */
|
||||
@ -1010,7 +1024,7 @@ typedef struct _CONFIG_PAGE_BIOS_1
|
||||
} CONFIG_PAGE_BIOS_1, MPI_POINTER PTR_CONFIG_PAGE_BIOS_1,
|
||||
BIOSPage1_t, MPI_POINTER pBIOSPage1_t;
|
||||
|
||||
#define MPI_BIOSPAGE1_PAGEVERSION (0x02)
|
||||
#define MPI_BIOSPAGE1_PAGEVERSION (0x03)
|
||||
|
||||
/* values for the BiosOptions field */
|
||||
#define MPI_BIOSPAGE1_OPTIONS_SPI_ENABLE (0x00000400)
|
||||
@ -1019,8 +1033,15 @@ typedef struct _CONFIG_PAGE_BIOS_1
|
||||
#define MPI_BIOSPAGE1_OPTIONS_DISABLE_BIOS (0x00000001)
|
||||
|
||||
/* values for the IOCSettings field */
|
||||
#define MPI_BIOSPAGE1_IOCSET_MASK_INITIAL_SPINUP_DELAY (0x0F000000)
|
||||
#define MPI_BIOSPAGE1_IOCSET_SHIFT_INITIAL_SPINUP_DELAY (24)
|
||||
|
||||
#define MPI_BIOSPAGE1_IOCSET_MASK_PORT_ENABLE_DELAY (0x00F00000)
|
||||
#define MPI_BIOSPAGE1_IOCSET_SHIFT_PORT_ENABLE_DELAY (20)
|
||||
|
||||
#define MPI_BIOSPAGE1_IOCSET_AUTO_PORT_ENABLE (0x00080000)
|
||||
#define MPI_BIOSPAGE1_IOCSET_DIRECT_ATTACH_SPINUP_MODE (0x00040000)
|
||||
|
||||
#define MPI_BIOSPAGE1_IOCSET_MASK_BOOT_PREFERENCE (0x00030000)
|
||||
#define MPI_BIOSPAGE1_IOCSET_ENCLOSURE_SLOT_BOOT (0x00000000)
|
||||
#define MPI_BIOSPAGE1_IOCSET_SAS_ADDRESS_BOOT (0x00010000)
|
||||
@ -1050,6 +1071,11 @@ typedef struct _CONFIG_PAGE_BIOS_1
|
||||
#define MPI_BIOSPAGE1_DEVSET_DISABLE_NON_RM_LUN (0x00000002)
|
||||
#define MPI_BIOSPAGE1_DEVSET_DISABLE_OTHER_LUN (0x00000001)
|
||||
|
||||
/* defines for the ExpanderSpinup field */
|
||||
#define MPI_BIOSPAGE1_EXPSPINUP_MASK_MAX_TARGET (0xF0)
|
||||
#define MPI_BIOSPAGE1_EXPSPINUP_SHIFT_MAX_TARGET (4)
|
||||
#define MPI_BIOSPAGE1_EXPSPINUP_MASK_DELAY (0x0F)
|
||||
|
||||
typedef struct _MPI_BOOT_DEVICE_ADAPTER_ORDER
|
||||
{
|
||||
U32 Reserved1; /* 00h */
|
||||
@ -1267,13 +1293,13 @@ typedef struct _CONFIG_PAGE_SCSI_PORT_0
|
||||
|
||||
#define MPI_SCSIPORTPAGE0_CAP_SHIFT_MIN_SYNC_PERIOD (8)
|
||||
#define MPI_SCSIPORTPAGE0_CAP_GET_MIN_SYNC_PERIOD(Cap) \
|
||||
( ((Cap) & MPI_SCSIPORTPAGE0_CAP_MASK_MIN_SYNC_PERIOD) \
|
||||
( ((Cap) & MPI_SCSIPORTPAGE0_CAP_MIN_SYNC_PERIOD_MASK) \
|
||||
>> MPI_SCSIPORTPAGE0_CAP_SHIFT_MIN_SYNC_PERIOD \
|
||||
)
|
||||
#define MPI_SCSIPORTPAGE0_CAP_MAX_SYNC_OFFSET_MASK (0x00FF0000)
|
||||
#define MPI_SCSIPORTPAGE0_CAP_SHIFT_MAX_SYNC_OFFSET (16)
|
||||
#define MPI_SCSIPORTPAGE0_CAP_GET_MAX_SYNC_OFFSET(Cap) \
|
||||
( ((Cap) & MPI_SCSIPORTPAGE0_CAP_MASK_MAX_SYNC_OFFSET) \
|
||||
( ((Cap) & MPI_SCSIPORTPAGE0_CAP_MAX_SYNC_OFFSET_MASK) \
|
||||
>> MPI_SCSIPORTPAGE0_CAP_SHIFT_MAX_SYNC_OFFSET \
|
||||
)
|
||||
#define MPI_SCSIPORTPAGE0_CAP_IDP (0x08000000)
|
||||
@ -2404,7 +2430,7 @@ typedef struct _CONFIG_PAGE_SAS_IO_UNIT_1
|
||||
} CONFIG_PAGE_SAS_IO_UNIT_1, MPI_POINTER PTR_CONFIG_PAGE_SAS_IO_UNIT_1,
|
||||
SasIOUnitPage1_t, MPI_POINTER pSasIOUnitPage1_t;
|
||||
|
||||
#define MPI_SASIOUNITPAGE1_PAGEVERSION (0x04)
|
||||
#define MPI_SASIOUNITPAGE1_PAGEVERSION (0x05)
|
||||
|
||||
/* values for SAS IO Unit Page 1 ControlFlags */
|
||||
#define MPI_SAS_IOUNIT1_CONTROL_DEVICE_SELF_TEST (0x8000)
|
||||
@ -2419,6 +2445,7 @@ typedef struct _CONFIG_PAGE_SAS_IO_UNIT_1
|
||||
#define MPI_SAS_IOUNIT1_CONTROL_DEV_SAS_SUPPORT (0x01)
|
||||
#define MPI_SAS_IOUNIT1_CONTROL_DEV_SATA_SUPPORT (0x02)
|
||||
|
||||
#define MPI_SAS_IOUNIT1_CONTROL_POSTPONE_SATA_INIT (0x0100)
|
||||
#define MPI_SAS_IOUNIT1_CONTROL_SATA_48BIT_LBA_REQUIRED (0x0080)
|
||||
#define MPI_SAS_IOUNIT1_CONTROL_SATA_SMART_REQUIRED (0x0040)
|
||||
#define MPI_SAS_IOUNIT1_CONTROL_SATA_NCQ_REQUIRED (0x0020)
|
||||
@ -2803,16 +2830,15 @@ typedef struct _CONFIG_PAGE_SAS_ENCLOSURE_0
|
||||
#define MPI_LOG_0_NUM_LOG_ENTRIES (1)
|
||||
#endif
|
||||
|
||||
#define MPI_LOG_0_LOG_DATA_LENGTH (20)
|
||||
#define MPI_LOG_0_LOG_DATA_LENGTH (0x1C)
|
||||
|
||||
typedef struct _MPI_LOG_0_ENTRY
|
||||
{
|
||||
U64 WWID; /* 00h */
|
||||
U32 TimeStamp; /* 08h */
|
||||
U32 Reserved1; /* 0Ch */
|
||||
U16 LogSequence; /* 10h */
|
||||
U16 LogEntryQualifier; /* 12h */
|
||||
U8 LogData[MPI_LOG_0_LOG_DATA_LENGTH]; /* 14h */
|
||||
U32 TimeStamp; /* 00h */
|
||||
U32 Reserved1; /* 04h */
|
||||
U16 LogSequence; /* 08h */
|
||||
U16 LogEntryQualifier; /* 0Ah */
|
||||
U8 LogData[MPI_LOG_0_LOG_DATA_LENGTH]; /* 0Ch */
|
||||
} MPI_LOG_0_ENTRY, MPI_POINTER PTR_MPI_LOG_0_ENTRY,
|
||||
MpiLog0Entry_t, MPI_POINTER pMpiLog0Entry_t;
|
||||
|
||||
@ -2831,7 +2857,7 @@ typedef struct _CONFIG_PAGE_LOG_0
|
||||
} CONFIG_PAGE_LOG_0, MPI_POINTER PTR_CONFIG_PAGE_LOG_0,
|
||||
LogPage0_t, MPI_POINTER pLogPage0_t;
|
||||
|
||||
#define MPI_LOG_0_PAGEVERSION (0x00)
|
||||
#define MPI_LOG_0_PAGEVERSION (0x01)
|
||||
|
||||
|
||||
#endif
|
||||
|
@ -34,7 +34,7 @@
|
||||
* Title: MPI IOC, Port, Event, FW Download, and FW Upload messages
|
||||
* Creation Date: August 11, 2000
|
||||
*
|
||||
* mpi_ioc.h Version: 01.05.09
|
||||
* mpi_ioc.h Version: 01.05.10
|
||||
*
|
||||
* Version History
|
||||
* ---------------
|
||||
@ -111,6 +111,10 @@
|
||||
* Removed IOCFacts Reply EEDP Capability bit.
|
||||
* 06-24-05 01.05.09 Added 5 new IOCFacts Reply IOCCapabilities bits.
|
||||
* Added Max SATA Targets to SAS Discovery Error event.
|
||||
* 08-30-05 01.05.10 Added 4 new events and their event data structures.
|
||||
* Added new ReasonCode value for SAS Device Status Change
|
||||
* event.
|
||||
* Added new family code for FC949E.
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
@ -492,6 +496,10 @@ typedef struct _MSG_EVENT_ACK_REPLY
|
||||
#define MPI_EVENT_PERSISTENT_TABLE_FULL (0x00000011)
|
||||
#define MPI_EVENT_SAS_PHY_LINK_STATUS (0x00000012)
|
||||
#define MPI_EVENT_SAS_DISCOVERY_ERROR (0x00000013)
|
||||
#define MPI_EVENT_IR_RESYNC_UPDATE (0x00000014)
|
||||
#define MPI_EVENT_IR2 (0x00000015)
|
||||
#define MPI_EVENT_SAS_DISCOVERY (0x00000016)
|
||||
#define MPI_EVENT_LOG_ENTRY_ADDED (0x00000021)
|
||||
|
||||
/* AckRequired field values */
|
||||
|
||||
@ -508,6 +516,29 @@ typedef struct _EVENT_DATA_EVENT_CHANGE
|
||||
} EVENT_DATA_EVENT_CHANGE, MPI_POINTER PTR_EVENT_DATA_EVENT_CHANGE,
|
||||
EventDataEventChange_t, MPI_POINTER pEventDataEventChange_t;
|
||||
|
||||
/* LogEntryAdded Event data */
|
||||
|
||||
/* this structure matches MPI_LOG_0_ENTRY in mpi_cnfg.h */
|
||||
#define MPI_EVENT_DATA_LOG_ENTRY_DATA_LENGTH (0x1C)
|
||||
typedef struct _EVENT_DATA_LOG_ENTRY
|
||||
{
|
||||
U32 TimeStamp; /* 00h */
|
||||
U32 Reserved1; /* 04h */
|
||||
U16 LogSequence; /* 08h */
|
||||
U16 LogEntryQualifier; /* 0Ah */
|
||||
U8 LogData[MPI_EVENT_DATA_LOG_ENTRY_DATA_LENGTH]; /* 0Ch */
|
||||
} EVENT_DATA_LOG_ENTRY, MPI_POINTER PTR_EVENT_DATA_LOG_ENTRY,
|
||||
MpiEventDataLogEntry_t, MPI_POINTER pMpiEventDataLogEntry_t;
|
||||
|
||||
typedef struct _EVENT_DATA_LOG_ENTRY_ADDED
|
||||
{
|
||||
U16 LogSequence; /* 00h */
|
||||
U16 Reserved1; /* 02h */
|
||||
U32 Reserved2; /* 04h */
|
||||
EVENT_DATA_LOG_ENTRY LogEntry; /* 08h */
|
||||
} EVENT_DATA_LOG_ENTRY_ADDED, MPI_POINTER PTR_EVENT_DATA_LOG_ENTRY_ADDED,
|
||||
MpiEventDataLogEntryAdded_t, MPI_POINTER pMpiEventDataLogEntryAdded_t;
|
||||
|
||||
/* SCSI Event data for Port, Bus and Device forms */
|
||||
|
||||
typedef struct _EVENT_DATA_SCSI
|
||||
@ -566,6 +597,7 @@ typedef struct _EVENT_DATA_SAS_DEVICE_STATUS_CHANGE
|
||||
#define MPI_EVENT_SAS_DEV_STAT_RC_SMART_DATA (0x05)
|
||||
#define MPI_EVENT_SAS_DEV_STAT_RC_NO_PERSIST_ADDED (0x06)
|
||||
#define MPI_EVENT_SAS_DEV_STAT_RC_UNSUPPORTED (0x07)
|
||||
#define MPI_EVENT_SAS_DEV_STAT_RC_INTERNAL_DEVICE_RESET (0x08)
|
||||
|
||||
|
||||
/* SCSI Event data for Queue Full event */
|
||||
@ -607,6 +639,79 @@ typedef struct _EVENT_DATA_RAID
|
||||
#define MPI_EVENT_RAID_RC_SMART_DATA (0x0A)
|
||||
#define MPI_EVENT_RAID_RC_REPLACE_ACTION_STARTED (0x0B)
|
||||
|
||||
|
||||
/* MPI Integrated RAID Resync Update Event data */
|
||||
|
||||
typedef struct _MPI_EVENT_DATA_IR_RESYNC_UPDATE
|
||||
{
|
||||
U8 VolumeID; /* 00h */
|
||||
U8 VolumeBus; /* 01h */
|
||||
U8 ResyncComplete; /* 02h */
|
||||
U8 Reserved1; /* 03h */
|
||||
U32 Reserved2; /* 04h */
|
||||
} MPI_EVENT_DATA_IR_RESYNC_UPDATE,
|
||||
MPI_POINTER PTR_MPI_EVENT_DATA_IR_RESYNC_UPDATE,
|
||||
MpiEventDataIrResyncUpdate_t, MPI_POINTER pMpiEventDataIrResyncUpdate_t;
|
||||
|
||||
/* MPI IR2 Event data */
|
||||
|
||||
/* MPI_LD_STATE or MPI_PD_STATE */
|
||||
typedef struct _IR2_STATE_CHANGED
|
||||
{
|
||||
U16 PreviousState; /* 00h */
|
||||
U16 NewState; /* 02h */
|
||||
} IR2_STATE_CHANGED, MPI_POINTER PTR_IR2_STATE_CHANGED;
|
||||
|
||||
typedef struct _IR2_PD_INFO
|
||||
{
|
||||
U16 DeviceHandle; /* 00h */
|
||||
U8 TruncEnclosureHandle; /* 02h */
|
||||
U8 TruncatedSlot; /* 03h */
|
||||
} IR2_PD_INFO, MPI_POINTER PTR_IR2_PD_INFO;
|
||||
|
||||
typedef union _MPI_IR2_RC_EVENT_DATA
|
||||
{
|
||||
IR2_STATE_CHANGED StateChanged;
|
||||
U32 Lba;
|
||||
IR2_PD_INFO PdInfo;
|
||||
} MPI_IR2_RC_EVENT_DATA, MPI_POINTER PTR_MPI_IR2_RC_EVENT_DATA;
|
||||
|
||||
typedef struct _MPI_EVENT_DATA_IR2
|
||||
{
|
||||
U8 TargetID; /* 00h */
|
||||
U8 Bus; /* 01h */
|
||||
U8 ReasonCode; /* 02h */
|
||||
U8 PhysDiskNum; /* 03h */
|
||||
MPI_IR2_RC_EVENT_DATA IR2EventData; /* 04h */
|
||||
} MPI_EVENT_DATA_IR2, MPI_POINTER PTR_MPI_EVENT_DATA_IR2,
|
||||
MpiEventDataIR2_t, MPI_POINTER pMpiEventDataIR2_t;
|
||||
|
||||
/* MPI IR2 Event data ReasonCode values */
|
||||
#define MPI_EVENT_IR2_RC_LD_STATE_CHANGED (0x01)
|
||||
#define MPI_EVENT_IR2_RC_PD_STATE_CHANGED (0x02)
|
||||
#define MPI_EVENT_IR2_RC_BAD_BLOCK_TABLE_FULL (0x03)
|
||||
#define MPI_EVENT_IR2_RC_PD_INSERTED (0x04)
|
||||
#define MPI_EVENT_IR2_RC_PD_REMOVED (0x05)
|
||||
#define MPI_EVENT_IR2_RC_FOREIGN_CFG_DETECTED (0x06)
|
||||
#define MPI_EVENT_IR2_RC_REBUILD_MEDIUM_ERROR (0x07)
|
||||
|
||||
/* defines for logical disk states */
|
||||
#define MPI_LD_STATE_OPTIMAL (0x00)
|
||||
#define MPI_LD_STATE_DEGRADED (0x01)
|
||||
#define MPI_LD_STATE_FAILED (0x02)
|
||||
#define MPI_LD_STATE_MISSING (0x03)
|
||||
#define MPI_LD_STATE_OFFLINE (0x04)
|
||||
|
||||
/* defines for physical disk states */
|
||||
#define MPI_PD_STATE_ONLINE (0x00)
|
||||
#define MPI_PD_STATE_MISSING (0x01)
|
||||
#define MPI_PD_STATE_NOT_COMPATIBLE (0x02)
|
||||
#define MPI_PD_STATE_FAILED (0x03)
|
||||
#define MPI_PD_STATE_INITIALIZING (0x04)
|
||||
#define MPI_PD_STATE_OFFLINE_AT_HOST_REQUEST (0x05)
|
||||
#define MPI_PD_STATE_FAILED_AT_HOST_REQUEST (0x06)
|
||||
#define MPI_PD_STATE_OFFLINE_FOR_ANOTHER_REASON (0xFF)
|
||||
|
||||
/* MPI Link Status Change Event data */
|
||||
|
||||
typedef struct _EVENT_DATA_LINK_STATUS
|
||||
@ -688,6 +793,20 @@ typedef struct _EVENT_DATA_SAS_PHY_LINK_STATUS
|
||||
#define MPI_EVENT_SAS_PLS_LR_RATE_1_5 (0x08)
|
||||
#define MPI_EVENT_SAS_PLS_LR_RATE_3_0 (0x09)
|
||||
|
||||
/* SAS Discovery Event data */
|
||||
|
||||
typedef struct _EVENT_DATA_SAS_DISCOVERY
|
||||
{
|
||||
U32 DiscoveryStatus; /* 00h */
|
||||
U32 Reserved1; /* 04h */
|
||||
} EVENT_DATA_SAS_DISCOVERY, MPI_POINTER PTR_EVENT_DATA_SAS_DISCOVERY,
|
||||
EventDataSasDiscovery_t, MPI_POINTER pEventDataSasDiscovery_t;
|
||||
|
||||
#define MPI_EVENT_SAS_DSCVRY_COMPLETE (0x00000000)
|
||||
#define MPI_EVENT_SAS_DSCVRY_IN_PROGRESS (0x00000001)
|
||||
#define MPI_EVENT_SAS_DSCVRY_PHY_BITS_MASK (0xFFFF0000)
|
||||
#define MPI_EVENT_SAS_DSCVRY_PHY_BITS_SHIFT (16)
|
||||
|
||||
/* SAS Discovery Errror Event data */
|
||||
|
||||
typedef struct _EVENT_DATA_DISCOVERY_ERROR
|
||||
@ -897,6 +1016,7 @@ typedef struct _MPI_FW_HEADER
|
||||
#define MPI_FW_HEADER_PID_FAMILY_919XL_FC (0x0003) /* 919XL and 929XL */
|
||||
#define MPI_FW_HEADER_PID_FAMILY_939X_FC (0x0004) /* 939X and 949X */
|
||||
#define MPI_FW_HEADER_PID_FAMILY_959_FC (0x0005)
|
||||
#define MPI_FW_HEADER_PID_FAMILY_949E_FC (0x0006)
|
||||
/* SAS */
|
||||
#define MPI_FW_HEADER_PID_FAMILY_1064_SAS (0x0001)
|
||||
#define MPI_FW_HEADER_PID_FAMILY_1068_SAS (0x0002)
|
||||
|
@ -34,7 +34,7 @@
|
||||
* Title: MPI Serial Attached SCSI structures and definitions
|
||||
* Creation Date: August 19, 2004
|
||||
*
|
||||
* mpi_sas.h Version: 01.05.01
|
||||
* mpi_sas.h Version: 01.05.02
|
||||
*
|
||||
* Version History
|
||||
* ---------------
|
||||
@ -42,6 +42,9 @@
|
||||
* Date Version Description
|
||||
* -------- -------- ------------------------------------------------------
|
||||
* 08-19-04 01.05.01 Original release.
|
||||
* 08-30-05 01.05.02 Added DeviceInfo bit for SEP.
|
||||
* Added PrimFlags and Primitive field to SAS IO Unit
|
||||
* Control request, and added a new operation code.
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
@ -79,6 +82,7 @@
|
||||
* Values for the SAS DeviceInfo field used in SAS Device Status Change Event
|
||||
* data and SAS IO Unit Configuration pages.
|
||||
*/
|
||||
#define MPI_SAS_DEVICE_INFO_SEP (0x00004000)
|
||||
#define MPI_SAS_DEVICE_INFO_ATAPI_DEVICE (0x00002000)
|
||||
#define MPI_SAS_DEVICE_INFO_LSI_DEVICE (0x00001000)
|
||||
#define MPI_SAS_DEVICE_INFO_DIRECT_ATTACH (0x00000800)
|
||||
@ -240,10 +244,10 @@ typedef struct _MSG_SAS_IOUNIT_CONTROL_REQUEST
|
||||
U8 TargetID; /* 0Ch */
|
||||
U8 Bus; /* 0Dh */
|
||||
U8 PhyNum; /* 0Eh */
|
||||
U8 Reserved4; /* 0Fh */
|
||||
U32 Reserved5; /* 10h */
|
||||
U8 PrimFlags; /* 0Fh */
|
||||
U32 Primitive; /* 10h */
|
||||
U64 SASAddress; /* 14h */
|
||||
U32 Reserved6; /* 1Ch */
|
||||
U32 Reserved4; /* 1Ch */
|
||||
} MSG_SAS_IOUNIT_CONTROL_REQUEST, MPI_POINTER PTR_MSG_SAS_IOUNIT_CONTROL_REQUEST,
|
||||
SasIoUnitControlRequest_t, MPI_POINTER pSasIoUnitControlRequest_t;
|
||||
|
||||
@ -254,6 +258,12 @@ typedef struct _MSG_SAS_IOUNIT_CONTROL_REQUEST
|
||||
#define MPI_SAS_OP_PHY_HARD_RESET (0x07)
|
||||
#define MPI_SAS_OP_PHY_CLEAR_ERROR_LOG (0x08)
|
||||
#define MPI_SAS_OP_MAP_CURRENT (0x09)
|
||||
#define MPI_SAS_OP_SEND_PRIMITIVE (0x0A)
|
||||
|
||||
/* values for the PrimFlags field */
|
||||
#define MPI_SAS_PRIMFLAGS_SINGLE (0x08)
|
||||
#define MPI_SAS_PRIMFLAGS_TRIPLE (0x02)
|
||||
#define MPI_SAS_PRIMFLAGS_REDUNDANT (0x01)
|
||||
|
||||
|
||||
/* SAS IO Unit Control Reply */
|
||||
@ -274,3 +284,5 @@ typedef struct _MSG_SAS_IOUNIT_CONTROL_REPLY
|
||||
SasIoUnitControlReply_t, MPI_POINTER pSasIoUnitControlReply_t;
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -34,7 +34,7 @@
|
||||
* Title: MPI Basic type definitions
|
||||
* Creation Date: June 6, 2000
|
||||
*
|
||||
* mpi_type.h Version: 01.05.01
|
||||
* mpi_type.h Version: 01.05.02
|
||||
*
|
||||
* Version History
|
||||
* ---------------
|
||||
@ -48,6 +48,7 @@
|
||||
* 08-08-01 01.02.01 Original release for v1.2 work.
|
||||
* 05-11-04 01.03.01 Original release for MPI v1.3.
|
||||
* 08-19-04 01.05.01 Original release for MPI v1.5.
|
||||
* 08-30-05 01.05.02 Added PowerPC option to #ifdef's.
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
@ -71,12 +72,24 @@
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
typedef int8_t S8;
|
||||
typedef uint8_t U8;
|
||||
typedef int16_t S16;
|
||||
typedef uint16_t U16;
|
||||
typedef int32_t S32;
|
||||
typedef uint32_t U32;
|
||||
typedef signed char S8;
|
||||
typedef unsigned char U8;
|
||||
typedef signed short S16;
|
||||
typedef unsigned short U16;
|
||||
|
||||
|
||||
#if defined(unix) || defined(__arm) || defined(ALPHA) || defined(__PPC__) || defined(__ppc)
|
||||
|
||||
typedef signed int S32;
|
||||
typedef unsigned int U32;
|
||||
|
||||
#else
|
||||
|
||||
typedef signed long S32;
|
||||
typedef unsigned long U32;
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
typedef struct _S64
|
||||
{
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*-
|
||||
* Generic routines for LSI '909 FC adapters.
|
||||
* Generic routines for LSI Fusion adapters.
|
||||
* FreeBSD Version.
|
||||
*
|
||||
* Copyright (c) 2000, 2001 by Greg Ansley
|
||||
@ -24,10 +24,41 @@
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* Additional Copyright (c) 2002 by Matthew Jacob under same license.
|
||||
*/
|
||||
/*
|
||||
/*-
|
||||
* Copyright (c) 2002, 2006 by Matthew Jacob
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are
|
||||
* met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce at minimum a disclaimer
|
||||
* substantially similar to the "NO WARRANTY" disclaimer below
|
||||
* ("Disclaimer") and any redistribution must be conditioned upon including
|
||||
* a substantially similar Disclaimer requirement for further binary
|
||||
* redistribution.
|
||||
* 3. Neither the names of the above listed copyright holders nor the names
|
||||
* of any contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF THE COPYRIGHT
|
||||
* OWNER OR CONTRIBUTOR IS ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* Support from Chris Ellsworth in order to make SAS adapters work
|
||||
* is gratefully acknowledged.
|
||||
*/
|
||||
/*-
|
||||
* Copyright (c) 2004, Avid Technology, Inc. and its contributors.
|
||||
* Copyright (c) 2005, WHEEL Sp. z o.o.
|
||||
* Copyright (c) 2004, 2005 Justin T. Gibbs
|
||||
|
@ -25,8 +25,39 @@
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
/*-
|
||||
* Copyright (c) 2002, 2006 by Matthew Jacob
|
||||
* All rights reserved.
|
||||
*
|
||||
* Additional Copyright (c) 2002 by Matthew Jacob under same license.
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are
|
||||
* met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce at minimum a disclaimer
|
||||
* substantially similar to the "NO WARRANTY" disclaimer below
|
||||
* ("Disclaimer") and any redistribution must be conditioned upon including
|
||||
* a substantially similar Disclaimer requirement for further binary
|
||||
* redistribution.
|
||||
* 3. Neither the names of the above listed copyright holders nor the names
|
||||
* of any contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF THE COPYRIGHT
|
||||
* OWNER OR CONTRIBUTOR IS ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* Support from Chris Ellsworth in order to make SAS adapters work
|
||||
* is gratefully acknowledged.
|
||||
*/
|
||||
/*
|
||||
* Copyright (c) 2004, Avid Technology, Inc. and its contributors.
|
||||
|
@ -24,8 +24,39 @@
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
/*-
|
||||
* Copyright (c) 2002, 2006 by Matthew Jacob
|
||||
* All rights reserved.
|
||||
*
|
||||
* Additional Copyright (c) 2002 by Matthew Jacob under same license.
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are
|
||||
* met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce at minimum a disclaimer
|
||||
* substantially similar to the "NO WARRANTY" disclaimer below
|
||||
* ("Disclaimer") and any redistribution must be conditioned upon including
|
||||
* a substantially similar Disclaimer requirement for further binary
|
||||
* redistribution.
|
||||
* 3. Neither the names of the above listed copyright holders nor the names
|
||||
* of any contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF THE COPYRIGHT
|
||||
* OWNER OR CONTRIBUTOR IS ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* Support from Chris Ellsworth in order to make SAS adapters work
|
||||
* is gratefully acknowledged.
|
||||
*/
|
||||
/*-
|
||||
* Copyright (c) 2004, Avid Technology, Inc. and its contributors.
|
||||
@ -943,7 +974,7 @@ mpt_cam_event(struct mpt_softc *mpt, request_t *req,
|
||||
if ((msg->Data[0] & 0xff) == 0xF7) {
|
||||
printf("Device needs AL_PA\n");
|
||||
} else {
|
||||
printf("Device %02x doesn't like "
|
||||
printf("Device %02lx doesn't like "
|
||||
"FC performance\n",
|
||||
msg->Data[0] & 0xFF);
|
||||
}
|
||||
@ -954,14 +985,14 @@ mpt_cam_event(struct mpt_softc *mpt, request_t *req,
|
||||
"receiver prior to acquiring "
|
||||
"AL_PA\n");
|
||||
} else {
|
||||
printf("Device %02x detected loop "
|
||||
printf("Device %02lx detected loop "
|
||||
"failure at its receiver\n",
|
||||
msg->Data[0] & 0xFF);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
printf("Device %02x requests that device "
|
||||
"%02x reset itself\n",
|
||||
printf("Device %02lx requests that device "
|
||||
"%02lx reset itself\n",
|
||||
msg->Data[0] & 0xFF,
|
||||
(msg->Data[0] >> 8) & 0xFF);
|
||||
break;
|
||||
|
@ -24,8 +24,39 @@
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
*/
|
||||
/*-
|
||||
* Copyright (c) 2002, 2006 by Matthew Jacob
|
||||
* All rights reserved.
|
||||
*
|
||||
* Additional Copyright (c) 2002 by Matthew Jacob under same license.
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are
|
||||
* met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce at minimum a disclaimer
|
||||
* substantially similar to the "NO WARRANTY" disclaimer below
|
||||
* ("Disclaimer") and any redistribution must be conditioned upon including
|
||||
* a substantially similar Disclaimer requirement for further binary
|
||||
* redistribution.
|
||||
* 3. Neither the names of the above listed copyright holders nor the names
|
||||
* of any contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF THE COPYRIGHT
|
||||
* OWNER OR CONTRIBUTOR IS ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* Support from Chris Ellsworth in order to make SAS adapters work
|
||||
* is gratefully acknowledged.
|
||||
*/
|
||||
/*-
|
||||
* Copyright (c) 2004, Avid Technology, Inc. and its contributors.
|
||||
|
@ -25,7 +25,39 @@
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* Additional Copyright (c) 2002 by Matthew Jacob under same license.
|
||||
*/
|
||||
/*-
|
||||
* Copyright (c) 2002, 2006 by Matthew Jacob
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are
|
||||
* met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce at minimum a disclaimer
|
||||
* substantially similar to the "NO WARRANTY" disclaimer below
|
||||
* ("Disclaimer") and any redistribution must be conditioned upon including
|
||||
* a substantially similar Disclaimer requirement for further binary
|
||||
* redistribution.
|
||||
* 3. Neither the names of the above listed copyright holders nor the names
|
||||
* of any contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF THE COPYRIGHT
|
||||
* OWNER OR CONTRIBUTOR IS ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* Support from Chris Ellsworth in order to make SAS adapters work
|
||||
* is gratefully acknowledged.
|
||||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
@ -321,10 +353,10 @@ mpt_print_reply_hdr(MSG_DEFAULT_REPLY *msg)
|
||||
{
|
||||
printf("%s Reply @ %p\n", mpt_ioc_function(msg->Function), msg);
|
||||
printf("\tIOC Status %s\n", mpt_ioc_status(msg->IOCStatus));
|
||||
printf("\tIOCLogInfo 0x%08x\n", msg->IOCLogInfo);
|
||||
printf("\tIOCLogInfo 0x%08lx\n", msg->IOCLogInfo);
|
||||
printf("\tMsgLength 0x%02x\n", msg->MsgLength);
|
||||
printf("\tMsgFlags 0x%02x\n", msg->MsgFlags);
|
||||
printf("\tMsgContext 0x%08x\n", msg->MsgContext);
|
||||
printf("\tMsgContext 0x%08lx\n", msg->MsgContext);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -347,18 +379,18 @@ mpt_print_ioc_facts(MSG_IOC_FACTS_REPLY *msg)
|
||||
printf("\tFlags %d\n", msg->Flags);
|
||||
printf("\tReplyQueueDepth %d\n", msg->ReplyQueueDepth);
|
||||
printf("\tReqFrameSize 0x%04x\n", msg->RequestFrameSize);
|
||||
printf("\tFW Version 0x%08x\n", msg->FWVersion.Word);
|
||||
printf("\tFW Version 0x%08lx\n", msg->FWVersion.Word);
|
||||
printf("\tProduct ID 0x%04x\n", msg->ProductID);
|
||||
printf("\tCredits 0x%04x\n", msg->GlobalCredits);
|
||||
printf("\tPorts %d\n", msg->NumberOfPorts);
|
||||
printf("\tEventState 0x%02x\n", msg->EventState);
|
||||
printf("\tHostMFA_HA 0x%08x\n", msg->CurrentHostMfaHighAddr);
|
||||
printf("\tSenseBuf_HA 0x%08x\n",
|
||||
printf("\tHostMFA_HA 0x%08lx\n", msg->CurrentHostMfaHighAddr);
|
||||
printf("\tSenseBuf_HA 0x%08lx\n",
|
||||
msg->CurrentSenseBufferHighAddr);
|
||||
printf("\tRepFrameSize 0x%04x\n", msg->CurReplyFrameSize);
|
||||
printf("\tMaxDevices 0x%02x\n", msg->MaxDevices);
|
||||
printf("\tMaxBuses 0x%02x\n", msg->MaxBuses);
|
||||
printf("\tFWImageSize 0x%04x\n", msg->FWImageSize);
|
||||
printf("\tFWImageSize 0x%04lx\n", msg->FWImageSize);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -377,9 +409,9 @@ mpt_print_scsi_io_reply(MSG_SCSI_IO_REPLY *msg)
|
||||
printf("\tCDBLength %d\n", msg->CDBLength);
|
||||
printf("\tSCSI Status: %s\n", mpt_scsi_status(msg->SCSIStatus));
|
||||
printf("\tSCSI State: %s\n", mpt_scsi_state(msg->SCSIState));
|
||||
printf("\tTransferCnt 0x%04x\n", msg->TransferCount);
|
||||
printf("\tSenseCnt 0x%04x\n", msg->SenseCount);
|
||||
printf("\tResponseInfo 0x%08x\n", msg->ResponseInfo);
|
||||
printf("\tTransferCnt 0x%04lx\n", msg->TransferCount);
|
||||
printf("\tSenseCnt 0x%04lx\n", msg->SenseCount);
|
||||
printf("\tResponseInfo 0x%08lx\n", msg->ResponseInfo);
|
||||
}
|
||||
|
||||
|
||||
@ -389,51 +421,41 @@ mpt_print_event_notice(MSG_EVENT_NOTIFY_REPLY *msg)
|
||||
{
|
||||
mpt_print_reply_hdr((MSG_DEFAULT_REPLY *)msg);
|
||||
printf("\tEvent: %s\n", mpt_ioc_event(msg->Event));
|
||||
printf("\tEventContext 0x%04x\n", msg->EventContext);
|
||||
printf("\tEventContext 0x%04lx\n", msg->EventContext);
|
||||
printf("\tAckRequired %d\n", msg->AckRequired);
|
||||
printf("\tEventDataLength %d\n", msg->EventDataLength);
|
||||
printf("\tContinuation %d\n", msg->MsgFlags & 0x80);
|
||||
switch(msg->Event) {
|
||||
case MPI_EVENT_LOG_DATA:
|
||||
printf("\tEvtLogData: 0x%04x\n", msg->Data[0]);
|
||||
printf("\tEvtLogData: 0x%04lx\n", msg->Data[0]);
|
||||
break;
|
||||
|
||||
case MPI_EVENT_UNIT_ATTENTION:
|
||||
printf("\tTargetID: 0x%04x\n",
|
||||
msg->Data[0] & 0xff);
|
||||
printf("\tBus: 0x%04x\n",
|
||||
(msg->Data[0] >> 8) & 0xff);
|
||||
printf("\tTargetID: 0x%04lx\n", msg->Data[0] & 0xff);
|
||||
printf("\tBus: 0x%04lx\n", (msg->Data[0] >> 8) & 0xff);
|
||||
break;
|
||||
|
||||
case MPI_EVENT_IOC_BUS_RESET:
|
||||
case MPI_EVENT_EXT_BUS_RESET:
|
||||
case MPI_EVENT_RESCAN:
|
||||
printf("\tPort: %d\n",
|
||||
(msg->Data[0] >> 8) & 0xff);
|
||||
printf("\tPort: %ld\n", (msg->Data[0] >> 8) & 0xff);
|
||||
break;
|
||||
|
||||
case MPI_EVENT_LINK_STATUS_CHANGE:
|
||||
printf("\tLinkState: %d\n",
|
||||
msg->Data[0] & 0xff);
|
||||
printf("\tPort: %d\n",
|
||||
(msg->Data[1] >> 8) & 0xff);
|
||||
printf("\tLinkState: %ld\n", msg->Data[0] & 0xff);
|
||||
printf("\tPort: %ld\n", (msg->Data[1] >> 8) & 0xff);
|
||||
break;
|
||||
|
||||
case MPI_EVENT_LOOP_STATE_CHANGE:
|
||||
printf("\tType: %d\n",
|
||||
(msg->Data[0] >> 16) & 0xff);
|
||||
printf("\tChar3: 0x%02x\n",
|
||||
(msg->Data[0] >> 8) & 0xff);
|
||||
printf("\tChar4: 0x%02x\n",
|
||||
(msg->Data[0] ) & 0xff);
|
||||
printf("\tPort: %d\n",
|
||||
(msg->Data[1] >> 8) & 0xff);
|
||||
printf("\tType: %ld\n", (msg->Data[0] >> 16) & 0xff);
|
||||
printf("\tChar3: 0x%02lx\n", (msg->Data[0] >> 8) & 0xff);
|
||||
printf("\tChar4: 0x%02lx\n", (msg->Data[0] ) & 0xff);
|
||||
printf("\tPort: %ld\n", (msg->Data[1] >> 8) & 0xff);
|
||||
break;
|
||||
|
||||
case MPI_EVENT_LOGOUT:
|
||||
printf("\tN_PortId: 0x%04x\n", msg->Data[0]);
|
||||
printf("\tPort: %d\n",
|
||||
(msg->Data[1] >> 8) & 0xff);
|
||||
printf("\tN_PortId: 0x%04lx\n", msg->Data[0]);
|
||||
printf("\tPort: %ld\n", (msg->Data[1] >> 8) & 0xff);
|
||||
break;
|
||||
}
|
||||
|
||||
@ -475,7 +497,7 @@ mpt_print_request_hdr(MSG_REQUEST_HEADER *req)
|
||||
printf("%s @ %p\n", mpt_ioc_function(req->Function), req);
|
||||
printf("\tChain Offset 0x%02x\n", req->ChainOffset);
|
||||
printf("\tMsgFlags 0x%02x\n", req->MsgFlags);
|
||||
printf("\tMsgContext 0x%08x\n", req->MsgContext);
|
||||
printf("\tMsgContext 0x%08lx\n", req->MsgContext);
|
||||
}
|
||||
|
||||
void
|
||||
@ -490,7 +512,7 @@ mpt_print_scsi_io_request(MSG_SCSI_IO_REQUEST *orig_msg)
|
||||
printf("\tTargetID %d\n", msg->TargetID);
|
||||
printf("\tSenseBufferLength %d\n", msg->SenseBufferLength);
|
||||
printf("\tLUN: 0x%0x\n", msg->LUN[1]);
|
||||
printf("\tControl 0x%08x ", msg->Control);
|
||||
printf("\tControl 0x%08lx ", msg->Control);
|
||||
#define MPI_PRINT_FIELD(x) \
|
||||
case MPI_SCSIIO_CONTROL_ ## x : \
|
||||
printf(" " #x " "); \
|
||||
@ -519,8 +541,8 @@ mpt_print_scsi_io_request(MSG_SCSI_IO_REQUEST *orig_msg)
|
||||
printf("\n");
|
||||
#undef MPI_PRINT_FIELD
|
||||
|
||||
printf("\tDataLength\t0x%08x\n", msg->DataLength);
|
||||
printf("\tSenseBufAddr\t0x%08x\n", msg->SenseBufferLowAddr);
|
||||
printf("\tDataLength\t0x%08lx\n", msg->DataLength);
|
||||
printf("\tSenseBufAddr\t0x%08lx\n", msg->SenseBufferLowAddr);
|
||||
printf("\tCDB[0:%d]\t", msg->CDBLength);
|
||||
for (i = 0; i < msg->CDBLength; i++)
|
||||
printf("%02x ", msg->CDB[i]);
|
||||
@ -539,7 +561,7 @@ mpt_print_scsi_tmf_request(MSG_SCSI_TASK_MGMT *msg)
|
||||
mpt_print_request_hdr((MSG_REQUEST_HEADER *)msg);
|
||||
printf("\tLun 0x%02x\n", msg->LUN[1]);
|
||||
printf("\tTaskType %s\n", mpt_scsi_tm_type(msg->TaskType));
|
||||
printf("\tTaskMsgContext 0x%08x\n", msg->TaskMsgContext);
|
||||
printf("\tTaskMsgContext 0x%08lx\n", msg->TaskMsgContext);
|
||||
}
|
||||
|
||||
void
|
||||
@ -664,12 +686,12 @@ mpt_dump_sgl(SGE_IO_UNION *su, int offset)
|
||||
case MPI_SGE_FLAGS_SIMPLE_ELEMENT:
|
||||
if (flags & MPI_SGE_FLAGS_64_BIT_ADDRESSING) {
|
||||
SGE_SIMPLE64 *se64 = (SGE_SIMPLE64 *)se;
|
||||
printf("SE64 %p: Addr=0x%08x%08x FlagsLength"
|
||||
"=0x%0x\n", se64, se64->Address.High,
|
||||
printf("SE64 %p: Addr=0x%08lx%08lx FlagsLength"
|
||||
"=0x%lx\n", se64, se64->Address.High,
|
||||
se64->Address.Low, se64->FlagsLength);
|
||||
nxtaddr = se64 + 1;
|
||||
} else {
|
||||
printf("SE32 %p: Addr=0x%0x FlagsLength=0x%0x"
|
||||
printf("SE32 %p: Addr=0x%08lx FlagsLength=0x%lx"
|
||||
"\n", se, se->Address, se->FlagsLength);
|
||||
}
|
||||
printf(" ");
|
||||
@ -677,16 +699,16 @@ mpt_dump_sgl(SGE_IO_UNION *su, int offset)
|
||||
case MPI_SGE_FLAGS_CHAIN_ELEMENT:
|
||||
if (flags & MPI_SGE_FLAGS_64_BIT_ADDRESSING) {
|
||||
SGE_CHAIN64 *ce64 = (SGE_CHAIN64 *) se;
|
||||
printf("CE64 %p: Addr=0x%08x%08x NxtChnO=0x%x "
|
||||
"Flgs=0x%x Len=0x%0x\n", ce64,
|
||||
printf("CE64 %p: Addr=0x%08lx%08lx NxtChnO="
|
||||
"0x%x Flgs=0x%x Len=0x%x\n", ce64,
|
||||
ce64->Address.High, ce64->Address.Low,
|
||||
ce64->NextChainOffset,
|
||||
ce64->Flags, ce64->Length);
|
||||
nxtaddr = ce64 + 1;
|
||||
} else {
|
||||
SGE_CHAIN32 *ce = (SGE_CHAIN32 *) se;
|
||||
printf("CE32 %p: Addr=0x%0x NxtChnO=0x%x "
|
||||
" Flgs=0x%x Len=0x%0x\n", ce, ce->Address,
|
||||
printf("CE32 %p: Addr=0x%08lx NxtChnO=0x%x "
|
||||
" Flgs=0x%x Len=0x%x\n", ce, ce->Address,
|
||||
ce->NextChainOffset, ce->Flags, ce->Length);
|
||||
}
|
||||
flags = 0;
|
||||
|
@ -29,6 +29,39 @@
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
/*-
|
||||
* Copyright (c) 2002, 2006 by Matthew Jacob
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are
|
||||
* met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce at minimum a disclaimer
|
||||
* substantially similar to the "NO WARRANTY" disclaimer below
|
||||
* ("Disclaimer") and any redistribution must be conditioned upon including
|
||||
* a substantially similar Disclaimer requirement for further binary
|
||||
* redistribution.
|
||||
* 3. Neither the names of the above listed copyright holders nor the names
|
||||
* of any contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF THE COPYRIGHT
|
||||
* OWNER OR CONTRIBUTOR IS ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* Support from Chris Ellsworth in order to make SAS adapters work
|
||||
* is gratefully acknowledged.
|
||||
*/
|
||||
/*
|
||||
* Copyright (c) 2004, Avid Technology, Inc. and its contributors.
|
||||
* Copyright (c) 2005, WHEEL Sp. z o.o.
|
||||
|
@ -25,8 +25,39 @@
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
/*-
|
||||
* Copyright (c) 2002, 2006 by Matthew Jacob
|
||||
* All rights reserved.
|
||||
*
|
||||
* Additional Copyright (c) 2002 by Matthew Jacob under same license.
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are
|
||||
* met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce at minimum a disclaimer
|
||||
* substantially similar to the "NO WARRANTY" disclaimer below
|
||||
* ("Disclaimer") and any redistribution must be conditioned upon including
|
||||
* a substantially similar Disclaimer requirement for further binary
|
||||
* redistribution.
|
||||
* 3. Neither the names of the above listed copyright holders nor the names
|
||||
* of any contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF THE COPYRIGHT
|
||||
* OWNER OR CONTRIBUTOR IS ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* Support from Chris Ellsworth in order to make SAS adapters work
|
||||
* is gratefully acknowledged.
|
||||
*/
|
||||
#ifndef _MPT_REG_H_
|
||||
#define _MPT_REG_H_
|
||||
|
Loading…
Reference in New Issue
Block a user