diff options
author | Suganath prabu Subramani <suganath-prabu.subramani@avagotech.com> | 2016-01-28 01:36:58 -0500 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2016-02-23 21:27:02 -0500 |
commit | b130b0d56fa97ef17796314995a9dc5dda0edaa5 (patch) | |
tree | 1a5864621707993346bb656f036fa548bbadcd38 /drivers/scsi/mpt3sas/mpi/mpi2_init.h | |
parent | 8038e6456a3e6f5c4759e0d73c4f9165b90c93e7 (diff) |
mpt3sas: Added support for high port count HBA variants.
Updated hardware description headers with MPI v2.6 and
mpt3sas_pci_table[] with vendor_ids, device_ids of Cutlass and Intruder
HBA which have support for 4 ports.
Signed-off-by: Suganath prabu Subramani <suganath-prabu.subramani@avagotech.com>
Signed-off-by: Chaitra P B <chaitra.basappa@avagotech.com>
Reviewed-by: Tomas Henzl <thenzl@redhat.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/mpt3sas/mpi/mpi2_init.h')
-rw-r--r-- | drivers/scsi/mpt3sas/mpi/mpi2_init.h | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/drivers/scsi/mpt3sas/mpi/mpi2_init.h b/drivers/scsi/mpt3sas/mpi/mpi2_init.h index 068c98efd742..49166999a664 100644 --- a/drivers/scsi/mpt3sas/mpi/mpi2_init.h +++ b/drivers/scsi/mpt3sas/mpi/mpi2_init.h | |||
@@ -1,12 +1,12 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (c) 2000-2014 LSI Corporation. | 2 | * Copyright 2000-2015 Avago Technologies. All rights reserved. |
3 | * | 3 | * |
4 | * | 4 | * |
5 | * Name: mpi2_init.h | 5 | * Name: mpi2_init.h |
6 | * Title: MPI SCSI initiator mode messages and structures | 6 | * Title: MPI SCSI initiator mode messages and structures |
7 | * Creation Date: June 23, 2006 | 7 | * Creation Date: June 23, 2006 |
8 | * | 8 | * |
9 | * mpi2_init.h Version: 02.00.15 | 9 | * mpi2_init.h Version: 02.00.17 |
10 | * | 10 | * |
11 | * NOTE: Names (typedefs, defines, etc.) beginning with an MPI25 or Mpi25 | 11 | * NOTE: Names (typedefs, defines, etc.) beginning with an MPI25 or Mpi25 |
12 | * prefix are for use only on MPI v2.5 products, and must not be used | 12 | * prefix are for use only on MPI v2.5 products, and must not be used |
@@ -46,6 +46,10 @@ | |||
46 | * 07-10-12 02.00.14 Added MPI2_SCSIIO_CONTROL_SHIFT_DATADIRECTION. | 46 | * 07-10-12 02.00.14 Added MPI2_SCSIIO_CONTROL_SHIFT_DATADIRECTION. |
47 | * 04-09-13 02.00.15 Added SCSIStatusQualifier field to MPI2_SCSI_IO_REPLY, | 47 | * 04-09-13 02.00.15 Added SCSIStatusQualifier field to MPI2_SCSI_IO_REPLY, |
48 | * replacing the Reserved4 field. | 48 | * replacing the Reserved4 field. |
49 | * 11-18-14 02.00.16 Updated copyright information. | ||
50 | * 03-xx-15 02.00.17 Updated for MPI v2.6. | ||
51 | * Added MPI2_SEP_REQ_SLOTSTATUS_DEV_OFF and | ||
52 | * MPI2_SEP_REPLY_SLOTSTATUS_DEV_OFF. | ||
49 | * -------------------------------------------------------------------------- | 53 | * -------------------------------------------------------------------------- |
50 | */ | 54 | */ |
51 | 55 | ||
@@ -128,6 +132,7 @@ typedef struct _MPI2_SCSI_IO_REQUEST { | |||
128 | #define MPI2_SCSIIO_MSGFLAGS_IOCDDR_SENSE_ADDR (0x04) | 132 | #define MPI2_SCSIIO_MSGFLAGS_IOCDDR_SENSE_ADDR (0x04) |
129 | #define MPI2_SCSIIO_MSGFLAGS_IOCPLB_SENSE_ADDR (0x08) | 133 | #define MPI2_SCSIIO_MSGFLAGS_IOCPLB_SENSE_ADDR (0x08) |
130 | #define MPI2_SCSIIO_MSGFLAGS_IOCPLBNTA_SENSE_ADDR (0x0C) | 134 | #define MPI2_SCSIIO_MSGFLAGS_IOCPLBNTA_SENSE_ADDR (0x0C) |
135 | #define MPI26_SCSIIO_MSGFLAGS_IOCCTL_SENSE_ADDR (0x08) | ||
131 | 136 | ||
132 | /*SCSI IO SGLFlags bits */ | 137 | /*SCSI IO SGLFlags bits */ |
133 | 138 | ||
@@ -228,7 +233,7 @@ typedef union _MPI25_SCSI_IO_CDB_UNION { | |||
228 | } MPI25_SCSI_IO_CDB_UNION, *PTR_MPI25_SCSI_IO_CDB_UNION, | 233 | } MPI25_SCSI_IO_CDB_UNION, *PTR_MPI25_SCSI_IO_CDB_UNION, |
229 | Mpi25ScsiIoCdb_t, *pMpi25ScsiIoCdb_t; | 234 | Mpi25ScsiIoCdb_t, *pMpi25ScsiIoCdb_t; |
230 | 235 | ||
231 | /*MPI v2.5 SCSI IO Request Message */ | 236 | /*MPI v2.5/2.6 SCSI IO Request Message */ |
232 | typedef struct _MPI25_SCSI_IO_REQUEST { | 237 | typedef struct _MPI25_SCSI_IO_REQUEST { |
233 | U16 DevHandle; /*0x00 */ | 238 | U16 DevHandle; /*0x00 */ |
234 | U8 ChainOffset; /*0x02 */ | 239 | U8 ChainOffset; /*0x02 */ |
@@ -302,12 +307,14 @@ typedef struct _MPI25_SCSI_IO_REQUEST { | |||
302 | #define MPI25_SCSIIO_NUM_SGLOFFSETS (4) | 307 | #define MPI25_SCSIIO_NUM_SGLOFFSETS (4) |
303 | 308 | ||
304 | /*defines for the IoFlags field */ | 309 | /*defines for the IoFlags field */ |
305 | #define MPI25_SCSIIO_IOFLAGS_IO_PATH_MASK (0xC000) | 310 | #define MPI25_SCSIIO_IOFLAGS_IO_PATH_MASK (0xC000) |
306 | #define MPI25_SCSIIO_IOFLAGS_NORMAL_PATH (0x0000) | 311 | #define MPI25_SCSIIO_IOFLAGS_NORMAL_PATH (0x0000) |
307 | #define MPI25_SCSIIO_IOFLAGS_FAST_PATH (0x4000) | 312 | #define MPI25_SCSIIO_IOFLAGS_FAST_PATH (0x4000) |
308 | 313 | ||
314 | #define MPI26_SCSIIO_IOFLAGS_ESCAPE_PASSTHROUGH (0x2000) | ||
309 | #define MPI25_SCSIIO_IOFLAGS_LARGE_CDB (0x1000) | 315 | #define MPI25_SCSIIO_IOFLAGS_LARGE_CDB (0x1000) |
310 | #define MPI25_SCSIIO_IOFLAGS_BIDIRECTIONAL (0x0800) | 316 | #define MPI25_SCSIIO_IOFLAGS_BIDIRECTIONAL (0x0800) |
317 | #define MPI26_SCSIIO_IOFLAGS_PORT_REQUEST (0x0400) | ||
311 | #define MPI25_SCSIIO_IOFLAGS_CDBLENGTH_MASK (0x01FF) | 318 | #define MPI25_SCSIIO_IOFLAGS_CDBLENGTH_MASK (0x01FF) |
312 | 319 | ||
313 | /*MPI v2.5 defines for the EEDPFlags bits */ | 320 | /*MPI v2.5 defines for the EEDPFlags bits */ |
@@ -512,6 +519,7 @@ typedef struct _MPI2_SEP_REQUEST { | |||
512 | #define MPI2_SEP_REQ_FLAGS_ENCLOSURE_SLOT_ADDRESS (0x01) | 519 | #define MPI2_SEP_REQ_FLAGS_ENCLOSURE_SLOT_ADDRESS (0x01) |
513 | 520 | ||
514 | /*SlotStatus defines */ | 521 | /*SlotStatus defines */ |
522 | #define MPI2_SEP_REQ_SLOTSTATUS_DEV_OFF (0x00080000) | ||
515 | #define MPI2_SEP_REQ_SLOTSTATUS_REQUEST_REMOVE (0x00040000) | 523 | #define MPI2_SEP_REQ_SLOTSTATUS_REQUEST_REMOVE (0x00040000) |
516 | #define MPI2_SEP_REQ_SLOTSTATUS_IDENTIFY_REQUEST (0x00020000) | 524 | #define MPI2_SEP_REQ_SLOTSTATUS_IDENTIFY_REQUEST (0x00020000) |
517 | #define MPI2_SEP_REQ_SLOTSTATUS_REBUILD_STOPPED (0x00000200) | 525 | #define MPI2_SEP_REQ_SLOTSTATUS_REBUILD_STOPPED (0x00000200) |
@@ -547,6 +555,7 @@ typedef struct _MPI2_SEP_REPLY { | |||
547 | Mpi2SepReply_t, *pMpi2SepReply_t; | 555 | Mpi2SepReply_t, *pMpi2SepReply_t; |
548 | 556 | ||
549 | /*SlotStatus defines */ | 557 | /*SlotStatus defines */ |
558 | #define MPI2_SEP_REPLY_SLOTSTATUS_DEV_OFF (0x00080000) | ||
550 | #define MPI2_SEP_REPLY_SLOTSTATUS_REMOVE_READY (0x00040000) | 559 | #define MPI2_SEP_REPLY_SLOTSTATUS_REMOVE_READY (0x00040000) |
551 | #define MPI2_SEP_REPLY_SLOTSTATUS_IDENTIFY_REQUEST (0x00020000) | 560 | #define MPI2_SEP_REPLY_SLOTSTATUS_IDENTIFY_REQUEST (0x00020000) |
552 | #define MPI2_SEP_REPLY_SLOTSTATUS_REBUILD_STOPPED (0x00000200) | 561 | #define MPI2_SEP_REPLY_SLOTSTATUS_REBUILD_STOPPED (0x00000200) |