aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc.h
diff options
context:
space:
mode:
authorJames Smart <james.smart@emulex.com>2010-11-20 23:11:48 -0500
committerJames Bottomley <James.Bottomley@suse.de>2010-12-21 13:23:59 -0500
commit76a95d75ede64e4f1684ddb8c626fdfdb641bda2 (patch)
tree53420aed0a91873a382b886bf3b3ca828df48edc /drivers/scsi/lpfc/lpfc.h
parent085c647c3377c3e39c8c572278507b1e1c7e7bf7 (diff)
[SCSI] lpfc 8.3.19: Add SLI4 FC Discovery support
Add SLI4 FC Discovery support - Replace READ_LA and READ_LA64 with READ_TOPOLOGY mailbox command. - Converted the old READ_LA structure to use bf_set/get instead of bit fields. - Rename HBA_FCOE_SUPPORT flag to HBA_FCOE_MODE. Flag now indicates function is running as SLI-4 FC or FCoE port. Make sure flag reset each time READ_REV completed as it can dynamically change. - Removed BDE union in the READ_TOPOLOGY mailbox command and added a define to define the ALPA MAP SIZE. Added FC Code for async events. - Added code to support new 16G link speed. - Define new set of values to keep track of valid user settable link speeds. - Used new link speed definitions to define link speed max and bitmap. - Redefined FDMI Port sppeds to be hax values and added the 16G value. - Added new CQE trailer code for FC Events. - Add lpfc_issue_init_vfi and lpfc_init_vfi_cmpl routines. - Replace many calls to the initial_flogi routine with lpfc_issue_init_vfi. - Add vp and vpi fields to the INIT_VFI mailbox command. - Addapt lpfc_hba_init_link routine for SLI4 use. - Use lpfc_hba_init_link call from lpfc_sli4_hba_setup. - Add a check for FC mode to register the FCFI before init link. - Convert lpfc_sli4_init_vpi to be called without a vpi (get it from vport). 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.h')
-rw-r--r--drivers/scsi/lpfc/lpfc.h19
1 files changed, 18 insertions, 1 deletions
diff --git a/drivers/scsi/lpfc/lpfc.h b/drivers/scsi/lpfc/lpfc.h
index 196de40b906c..e86a0d2add3c 100644
--- a/drivers/scsi/lpfc/lpfc.h
+++ b/drivers/scsi/lpfc/lpfc.h
@@ -464,6 +464,23 @@ struct unsol_rcv_ct_ctx {
464#define UNSOL_VALID 0x00000001 464#define UNSOL_VALID 0x00000001
465}; 465};
466 466
467#define LPFC_USER_LINK_SPEED_AUTO 0 /* auto select (default)*/
468#define LPFC_USER_LINK_SPEED_1G 1 /* 1 Gigabaud */
469#define LPFC_USER_LINK_SPEED_2G 2 /* 2 Gigabaud */
470#define LPFC_USER_LINK_SPEED_4G 4 /* 4 Gigabaud */
471#define LPFC_USER_LINK_SPEED_8G 8 /* 8 Gigabaud */
472#define LPFC_USER_LINK_SPEED_10G 10 /* 10 Gigabaud */
473#define LPFC_USER_LINK_SPEED_16G 16 /* 16 Gigabaud */
474#define LPFC_USER_LINK_SPEED_MAX LPFC_USER_LINK_SPEED_16G
475#define LPFC_USER_LINK_SPEED_BITMAP ((1 << LPFC_USER_LINK_SPEED_16G) | \
476 (1 << LPFC_USER_LINK_SPEED_10G) | \
477 (1 << LPFC_USER_LINK_SPEED_8G) | \
478 (1 << LPFC_USER_LINK_SPEED_4G) | \
479 (1 << LPFC_USER_LINK_SPEED_2G) | \
480 (1 << LPFC_USER_LINK_SPEED_1G) | \
481 (1 << LPFC_USER_LINK_SPEED_AUTO))
482#define LPFC_LINK_SPEED_STRING "0, 1, 2, 4, 8, 10, 16"
483
467struct lpfc_hba { 484struct lpfc_hba {
468 /* SCSI interface function jump table entries */ 485 /* SCSI interface function jump table entries */
469 int (*lpfc_new_scsi_buf) 486 int (*lpfc_new_scsi_buf)
@@ -545,7 +562,7 @@ struct lpfc_hba {
545 uint32_t hba_flag; /* hba generic flags */ 562 uint32_t hba_flag; /* hba generic flags */
546#define HBA_ERATT_HANDLED 0x1 /* This flag is set when eratt handled */ 563#define HBA_ERATT_HANDLED 0x1 /* This flag is set when eratt handled */
547#define DEFER_ERATT 0x2 /* Deferred error attention in progress */ 564#define DEFER_ERATT 0x2 /* Deferred error attention in progress */
548#define HBA_FCOE_SUPPORT 0x4 /* HBA function supports FCOE */ 565#define HBA_FCOE_MODE 0x4 /* HBA function in FCoE Mode */
549#define HBA_SP_QUEUE_EVT 0x8 /* Slow-path qevt posted to worker thread*/ 566#define HBA_SP_QUEUE_EVT 0x8 /* Slow-path qevt posted to worker thread*/
550#define HBA_POST_RECEIVE_BUFFER 0x10 /* Rcv buffers need to be posted */ 567#define HBA_POST_RECEIVE_BUFFER 0x10 /* Rcv buffers need to be posted */
551#define FCP_XRI_ABORT_EVENT 0x20 568#define FCP_XRI_ABORT_EVENT 0x20