aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_hw.h
diff options
context:
space:
mode:
authorJames Smart <james.smart@emulex.com>2010-03-15 11:25:20 -0400
committerJames Bottomley <James.Bottomley@suse.de>2010-04-11 10:23:50 -0400
commit7a4702774381103e936cae09ec12301090c6c212 (patch)
tree537fcd43fb911d9841d2d3ba3790b135bc6aa907 /drivers/scsi/lpfc/lpfc_hw.h
parentcb5172eafd9ffdab6bb7b1eec628ea706d5817c8 (diff)
[SCSI] lpfc 8.3.11: Driver management improvements via BSG
- Add BSG support for PCI loopback testing. - Add BSG support for extended mailbox commands. Signed-off-by: Alex Iannicelli <alex.iannicelli@emulex.com> Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_hw.h')
-rw-r--r--drivers/scsi/lpfc/lpfc_hw.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/scsi/lpfc/lpfc_hw.h b/drivers/scsi/lpfc/lpfc_hw.h
index 89ff7c09e298..6c71ea416634 100644
--- a/drivers/scsi/lpfc/lpfc_hw.h
+++ b/drivers/scsi/lpfc/lpfc_hw.h
@@ -2934,6 +2934,12 @@ typedef struct {
2934/* Union of all Mailbox Command types */ 2934/* Union of all Mailbox Command types */
2935#define MAILBOX_CMD_WSIZE 32 2935#define MAILBOX_CMD_WSIZE 32
2936#define MAILBOX_CMD_SIZE (MAILBOX_CMD_WSIZE * sizeof(uint32_t)) 2936#define MAILBOX_CMD_SIZE (MAILBOX_CMD_WSIZE * sizeof(uint32_t))
2937/* ext_wsize times 4 bytes should not be greater than max xmit size */
2938#define MAILBOX_EXT_WSIZE 512
2939#define MAILBOX_EXT_SIZE (MAILBOX_EXT_WSIZE * sizeof(uint32_t))
2940#define MAILBOX_HBA_EXT_OFFSET 0x100
2941/* max mbox xmit size is a page size for sysfs IO operations */
2942#define MAILBOX_MAX_XMIT_SIZE PAGE_SIZE
2937 2943
2938typedef union { 2944typedef union {
2939 uint32_t varWords[MAILBOX_CMD_WSIZE - 1]; /* first word is type/ 2945 uint32_t varWords[MAILBOX_CMD_WSIZE - 1]; /* first word is type/
@@ -3652,7 +3658,8 @@ typedef struct _IOCB { /* IOCB structure */
3652/* Maximum IOCBs that will fit in SLI2 slim */ 3658/* Maximum IOCBs that will fit in SLI2 slim */
3653#define MAX_SLI2_IOCB 498 3659#define MAX_SLI2_IOCB 498
3654#define MAX_SLIM_IOCB_SIZE (SLI2_SLIM_SIZE - \ 3660#define MAX_SLIM_IOCB_SIZE (SLI2_SLIM_SIZE - \
3655 (sizeof(MAILBOX_t) + sizeof(PCB_t))) 3661 (sizeof(MAILBOX_t) + sizeof(PCB_t) + \
3662 sizeof(uint32_t) * MAILBOX_EXT_WSIZE))
3656 3663
3657/* HBQ entries are 4 words each = 4k */ 3664/* HBQ entries are 4 words each = 4k */
3658#define LPFC_TOTAL_HBQ_SIZE (sizeof(struct lpfc_hbq_entry) * \ 3665#define LPFC_TOTAL_HBQ_SIZE (sizeof(struct lpfc_hbq_entry) * \
@@ -3660,6 +3667,7 @@ typedef struct _IOCB { /* IOCB structure */
3660 3667
3661struct lpfc_sli2_slim { 3668struct lpfc_sli2_slim {
3662 MAILBOX_t mbx; 3669 MAILBOX_t mbx;
3670 uint32_t mbx_ext_words[MAILBOX_EXT_WSIZE];
3663 PCB_t pcb; 3671 PCB_t pcb;
3664 IOCB_t IOCBs[MAX_SLIM_IOCB_SIZE]; 3672 IOCB_t IOCBs[MAX_SLIM_IOCB_SIZE];
3665}; 3673};