mpt2sas: Update driver header to latest MPI Spec.
PATCH 8/10 mpt2sas: Update driver header to latest MPI Spec.
Update header to latest MPI SPEC revision.
Signed-off-by Kashyap Desai <[email protected]>
Reviewed-by Eric Moore <[email protected]>
---
drivers/scsi/mpt2sas/mpi/mpi2.h +12 -4
@@ -8,7 +8,7 @@* scatter/gather formats. * Creation Date: June 21, 2006 * -* mpi2.h Version: 02.00.13 +* mpi2.h Version: 02.00.14 * * Version History * ---------------
@@ -53,6 +53,10 @@* bytes reserved. * Added RAID Accelerator functionality. * 07-30-09 02.00.13 Bumped MPI2_HEADER_VERSION_UNIT. +* 10-28-09 02.00.14 Bumped MPI2_HEADER_VERSION_UNIT. +* Added MSI-x index mask and shift for Reply Post Host +* Index register. +* Added function code for Host Based Discovery Action. * -------------------------------------------------------------------------- */
@@ -78,7 +82,7 @@#define MPI2_VERSION_02_00 (0x0200)/* versioning for this MPI header set */ -#define MPI2_HEADER_VERSION_UNIT (0x0D) +#define MPI2_HEADER_VERSION_UNIT (0x0E)#define MPI2_HEADER_VERSION_DEV (0x00)#define MPI2_HEADER_VERSION_UNIT_MASK (0xFF00)#define MPI2_HEADER_VERSION_UNIT_SHIFT (8)
@@ -232,9 +236,12 @@ typedef volatile struct _MPI2_SYSTEM_INTERFACE_REGS#define MPI2_REPLY_FREE_HOST_INDEX_OFFSET (0x00000048)/* -* Offset for the Reply Descriptor Post Queue +* Defines for the Reply Descriptor Post Queue */ #define MPI2_REPLY_POST_HOST_INDEX_OFFSET (0x0000006C) +#define MPI2_REPLY_POST_HOST_INDEX_MASK (0x00FFFFFF) +#define MPI2_RPHI_MSIX_INDEX_MASK (0xFF000000) +#define MPI2_RPHI_MSIX_INDEX_SHIFT (24)/* * Defines for the HCBSize and address
@@ -497,12 +504,13 @@ typedef union _MPI2_REPLY_DESCRIPTORS_UNION#define MPI2_FUNCTION_TARGET_CMD_BUF_BASE_POST (0x24)/* Target Command Buffer Post Base */ #define MPI2_FUNCTION_TARGET_CMD_BUF_LIST_POST (0x25)/* Target Command Buffer Post List */ #define MPI2_FUNCTION_RAID_ACCELERATOR (0x2C)/* RAID Accelerator*/ +/* Host Based Discovery Action */ +#define MPI2_FUNCTION_HOST_BASED_DISCOVERY_ACTION (0x2F)/* Doorbell functions */ #define MPI2_FUNCTION_IOC_MESSAGE_UNIT_RESET (0x40) -/* #define MPI2_FUNCTION_IO_UNIT_RESET (0x41) */ #define MPI2_FUNCTION_HANDSHAKE (0x42)
drivers/scsi/mpt2sas/mpi/mpi2_cnfg.h +24 -1
@@ -6,7 +6,7 @@* Title: MPI Configuration messages and pages * Creation Date: November 10, 2006 * -* mpi2_cnfg.h Version: 02.00.12 +* mpi2_cnfg.h Version: 02.00.13 * * Version History * ---------------
@@ -107,6 +107,8 @@* to SAS Device Page 0 Flags field. * Added PhyInfo defines for power condition. * Added Ethernet configuration pages. +* 10-28-09 02.00.13 Added MPI2_IOUNITPAGE1_ENABLE_HOST_BASED_DISCOVERY. +* Added SAS PHY Page 4 structure and defines. * -------------------------------------------------------------------------- */
@@ -712,6 +714,7 @@ typedef struct _MPI2_CONFIG_PAGE_IO_UNIT_1#define MPI2_IOUNITPAGE1_PAGEVERSION (0x04)/* IO Unit Page 1 Flags defines */ +#define MPI2_IOUNITPAGE1_ENABLE_HOST_BASED_DISCOVERY (0x00000800)#define MPI2_IOUNITPAGE1_MASK_SATA_WRITE_CACHE (0x00000600)#define MPI2_IOUNITPAGE1_ENABLE_SATA_WRITE_CACHE (0x00000000)#define MPI2_IOUNITPAGE1_DISABLE_SATA_WRITE_CACHE (0x00000200)
@@ -2291,6 +2294,26 @@ typedef struct _MPI2_CONFIG_PAGE_SAS_PHY_3 {#define MPI2_SASPHY3_PAGEVERSION (0x00) +/* SAS PHY Page 4 */ + +typedef struct _MPI2_CONFIG_PAGE_SAS_PHY_4 { +MPI2_CONFIG_EXTENDED_PAGE_HEADER Header;/* 0x00 */ +U16 Reserved1;/* 0x08 */ +U8 Reserved2;/* 0x0A */ +U8 Flags;/* 0x0B */ +U8 InitialFrame[28 ];/* 0x0C */ +} MPI2_CONFIG_PAGE_SAS_PHY_4, MPI2_POINTER PTR_MPI2_CONFIG_PAGE_SAS_PHY_4, + Mpi2SasPhyPage4_t, MPI2_POINTER pMpi2SasPhyPage4_t; + +#define MPI2_SASPHY4_PAGEVERSION (0x00) + +/* values for the Flags field */ +#define MPI2_SASPHY4_FLAGS_FRAME_VALID (0x02) +#define MPI2_SASPHY4_FLAGS_SATA_FRAME (0x01) + + + +/**************************************************************************** * SAS Port Config Pages ****************************************************************************/
drivers/scsi/mpt2sas/mpi/mpi2_history.txt +70 -23
155 lines not on this page · raw message
drivers/scsi/mpt2sas/mpi/mpi2_init.h +23 -1
@@ -6,7 +6,7 @@* Title: MPI SCSI initiator mode messages and structures * Creation Date: June 23, 2006 * -* mpi2_init.h Version: 02.00.07 +* mpi2_init.h Version: 02.00.08 * * Version History * ---------------
@@ -27,6 +27,10 @@* Query Asynchronous Event. * Defined two new bits in the SlotStatus field of the SCSI * Enclosure Processor Request and Reply. +* 10-28-09 02.00.08 Added defines for decoding the ResponseInfo bytes for +* both SCSI IO Error Reply and SCSI Task Management Reply. +* Added ResponseInfo field to MPI2_SCSI_TASK_MANAGE_REPLY. +* Added MPI2_SCSITASKMGMT_RSP_TM_OVERLAPPED_TAG define. * -------------------------------------------------------------------------- */
@@ -254,6 +258,11 @@ typedef struct _MPI2_SCSI_IO_REPLY#define MPI2_SCSI_STATE_AUTOSENSE_FAILED (0x02)#define MPI2_SCSI_STATE_AUTOSENSE_VALID (0x01) +/* masks and shifts for the ResponseInfo field */ + +#define MPI2_SCSI_RI_MASK_REASONCODE (0x000000FF) +#define MPI2_SCSI_RI_SHIFT_REASONCODE (0) +#define MPI2_SCSI_TASKTAG_UNKNOWN (0xFFFF)
@@ -327,6 +336,7 @@ typedef struct _MPI2_SCSI_TASK_MANAGE_REPLYU16 IOCStatus;/* 0x0E */ U32 IOCLogInfo;/* 0x10 */ U32 TerminationCount;/* 0x14 */ +U32 ResponseInfo;/* 0x18 */ }MPI2_SCSI_TASK_MANAGE_REPLY , MPI2_POINTER PTR_MPI2_SCSI_TASK_MANAGE_REPLY, Mpi2SCSITaskManagementReply_t, MPI2_POINTER pMpi2SCSIManagementReply_t;
@@ -339,8 +349,20 @@ typedef struct _MPI2_SCSI_TASK_MANAGE_REPLY#define MPI2_SCSITASKMGMT_RSP_TM_FAILED (0x05)#define MPI2_SCSITASKMGMT_RSP_TM_SUCCEEDED (0x08)#define MPI2_SCSITASKMGMT_RSP_TM_INVALID_LUN (0x09) +#define MPI2_SCSITASKMGMT_RSP_TM_OVERLAPPED_TAG (0x0A)#define MPI2_SCSITASKMGMT_RSP_IO_QUEUED_ON_IOC (0x80) +/* masks and shifts for the ResponseInfo field */ + +#define MPI2_SCSITASKMGMT_RI_MASK_REASONCODE (0x000000FF) +#define MPI2_SCSITASKMGMT_RI_SHIFT_REASONCODE (0) +#define MPI2_SCSITASKMGMT_RI_MASK_ARI2 (0x0000FF00) +#define MPI2_SCSITASKMGMT_RI_SHIFT_ARI2 (8) +#define MPI2_SCSITASKMGMT_RI_MASK_ARI1 (0x00FF0000) +#define MPI2_SCSITASKMGMT_RI_SHIFT_ARI1 (16) +#define MPI2_SCSITASKMGMT_RI_MASK_ARI0 (0xFF000000) +#define MPI2_SCSITASKMGMT_RI_SHIFT_ARI0 (24) +/**************************************************************************** * SCSI Enclosure Processor messages
drivers/scsi/mpt2sas/mpi/mpi2_ioc.h +68 -9
140 lines not on this page · raw message
drivers/scsi/mpt2sas/mpi/mpi2_sas.h +4 -2
@@ -6,7 +6,7 @@* Title: MPI Serial Attached SCSI structures and definitions * Creation Date: February 9, 2007 * -* mpi2.h Version: 02.00.02 +* mpi2.h Version: 02.00.03 * * Version History * ---------------
@@ -18,6 +18,8 @@* Control Request. * 10-02-08 02.00.02 Added Set IOC Parameter Operation to SAS IO Unit Control * Request. +* 10-28-09 02.00.03 Changed the type of SGL in MPI2_SATA_PASSTHROUGH_REQUEST +* to MPI2_SGE_IO_UNION since it supports chained SGLs. * -------------------------------------------------------------------------- */
@@ -160,7 +162,7 @@ typedef struct _MPI2_SATA_PASSTHROUGH_REQUESTU32 Reserved4;/* 0x14 */ U32 DataLength;/* 0x18 */ U8 CommandFIS[20 ];/* 0x1C */ -MPI2_SIMPLE_SGE_UNION SGL ;/* 0x20 */ +MPI2_SGE_IO_UNION SGL ;/* 0x20 */ } MPI2_SATA_PASSTHROUGH_REQUEST, MPI2_POINTER PTR_MPI2_SATA_PASSTHROUGH_REQUEST, Mpi2SataPassthroughRequest_t, MPI2_POINTER pMpi2SataPassthroughRequest_t;