diff options
author | James Smart <james.smart@emulex.com> | 2010-03-15 11:25:20 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-04-11 10:23:50 -0400 |
commit | 7a4702774381103e936cae09ec12301090c6c212 (patch) | |
tree | 537fcd43fb911d9841d2d3ba3790b135bc6aa907 /drivers/scsi/lpfc/lpfc_hw.h | |
parent | cb5172eafd9ffdab6bb7b1eec628ea706d5817c8 (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.h | 10 |
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 | ||
2938 | typedef union { | 2944 | typedef 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 | ||
3661 | struct lpfc_sli2_slim { | 3668 | struct 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 | }; |