diff options
author | James Smart <james.smart@emulex.com> | 2010-11-20 23:11:48 -0500 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-12-21 13:23:59 -0500 |
commit | 76a95d75ede64e4f1684ddb8c626fdfdb641bda2 (patch) | |
tree | 53420aed0a91873a382b886bf3b3ca828df48edc /drivers/scsi/lpfc/lpfc.h | |
parent | 085c647c3377c3e39c8c572278507b1e1c7e7bf7 (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.h | 19 |
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 | |||
467 | struct lpfc_hba { | 484 | struct 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 |