Skip to content

Commit

Permalink
[SCSI] lpfc 8.3.24: Extend BSG infrastructure and add link diagnostics
Browse files Browse the repository at this point in the history
Extend BSG infrastructure and add link diagnostics:
- Removed unnecessary copies in handling pass-through mbox cmds.
- Add embedded SLI_CONFIG support for BSG.
- Add multibuffer support.
- Implemented the setting up and tearing down Lancer FC device for performing
  internal and external loopback diagnostic tests.
- Implemented the driver support for performing new link diagnostic tests

Signed-off-by: Alex Iannicelli <alex.iannicelli@emulex.com>
Signed-off-by: James Smart <james.smart@emulex.com>
Signed-off-by: James Bottomley <jbottomley@parallels.com>
  • Loading branch information
James Smart authored and James Bottomley committed May 27, 2011
1 parent 6d368e5 commit 7ad20aa
Show file tree
Hide file tree
Showing 5 changed files with 2,073 additions and 559 deletions.
38 changes: 37 additions & 1 deletion drivers/scsi/lpfc/lpfc.h
Original file line number Diff line number Diff line change
Expand Up @@ -487,6 +487,42 @@ struct unsol_rcv_ct_ctx {
(1 << LPFC_USER_LINK_SPEED_AUTO))
#define LPFC_LINK_SPEED_STRING "0, 1, 2, 4, 8, 10, 16"

enum nemb_type {
nemb_mse = 1,
nemb_hbd
};

enum mbox_type {
mbox_rd = 1,
mbox_wr
};

enum dma_type {
dma_mbox = 1,
dma_ebuf
};

enum sta_type {
sta_pre_addr = 1,
sta_pos_addr
};

struct lpfc_mbox_ext_buf_ctx {
uint32_t state;
#define LPFC_BSG_MBOX_IDLE 0
#define LPFC_BSG_MBOX_HOST 1
#define LPFC_BSG_MBOX_PORT 2
#define LPFC_BSG_MBOX_DONE 3
#define LPFC_BSG_MBOX_ABTS 4
enum nemb_type nembType;
enum mbox_type mboxType;
uint32_t numBuf;
uint32_t mbxTag;
uint32_t seqNum;
struct lpfc_dmabuf *mbx_dmabuf;
struct list_head ext_dmabuf_list;
};

struct lpfc_hba {
/* SCSI interface function jump table entries */
int (*lpfc_new_scsi_buf)
Expand Down Expand Up @@ -590,6 +626,7 @@ struct lpfc_hba {

MAILBOX_t *mbox;
uint32_t *mbox_ext;
struct lpfc_mbox_ext_buf_ctx mbox_ext_buf_ctx;
uint32_t ha_copy;
struct _PCB *pcb;
struct _IOCB *IOCBs;
Expand Down Expand Up @@ -708,7 +745,6 @@ struct lpfc_hba {
uint32_t *hbq_get; /* Host mem address of HBQ get ptrs */

int brd_no; /* FC board number */

char SerialNumber[32]; /* adapter Serial Number */
char OptionROMVersion[32]; /* adapter BIOS / Fcode version */
char ModelDesc[256]; /* Model Description */
Expand Down
Loading

0 comments on commit 7ad20aa

Please sign in to comment.