diff options
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_mbox.c')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_mbox.c | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/drivers/scsi/lpfc/lpfc_mbox.c b/drivers/scsi/lpfc/lpfc_mbox.c index e84dc33ca201..9c2c7c7140c7 100644 --- a/drivers/scsi/lpfc/lpfc_mbox.c +++ b/drivers/scsi/lpfc/lpfc_mbox.c | |||
@@ -955,6 +955,26 @@ lpfc_read_rev(struct lpfc_hba * phba, LPFC_MBOXQ_t * pmb) | |||
955 | return; | 955 | return; |
956 | } | 956 | } |
957 | 957 | ||
958 | void | ||
959 | lpfc_sli4_swap_str(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb) | ||
960 | { | ||
961 | MAILBOX_t *mb = &pmb->u.mb; | ||
962 | struct lpfc_mqe *mqe; | ||
963 | |||
964 | switch (mb->mbxCommand) { | ||
965 | case MBX_READ_REV: | ||
966 | mqe = &pmb->u.mqe; | ||
967 | lpfc_sli_pcimem_bcopy(mqe->un.read_rev.fw_name, | ||
968 | mqe->un.read_rev.fw_name, 16); | ||
969 | lpfc_sli_pcimem_bcopy(mqe->un.read_rev.ulp_fw_name, | ||
970 | mqe->un.read_rev.ulp_fw_name, 16); | ||
971 | break; | ||
972 | default: | ||
973 | break; | ||
974 | } | ||
975 | return; | ||
976 | } | ||
977 | |||
958 | /** | 978 | /** |
959 | * lpfc_build_hbq_profile2 - Set up the HBQ Selection Profile 2 | 979 | * lpfc_build_hbq_profile2 - Set up the HBQ Selection Profile 2 |
960 | * @hbqmb: pointer to the HBQ configuration data structure in mailbox command. | 980 | * @hbqmb: pointer to the HBQ configuration data structure in mailbox command. |
@@ -1199,7 +1219,6 @@ lpfc_config_port(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb) | |||
1199 | mb->un.varCfgPort.cdss = 1; /* Configure Security */ | 1219 | mb->un.varCfgPort.cdss = 1; /* Configure Security */ |
1200 | mb->un.varCfgPort.cerbm = 1; /* Request HBQs */ | 1220 | mb->un.varCfgPort.cerbm = 1; /* Request HBQs */ |
1201 | mb->un.varCfgPort.ccrp = 1; /* Command Ring Polling */ | 1221 | mb->un.varCfgPort.ccrp = 1; /* Command Ring Polling */ |
1202 | mb->un.varCfgPort.cinb = 1; /* Interrupt Notification Block */ | ||
1203 | mb->un.varCfgPort.max_hbq = lpfc_sli_hbq_count(); | 1222 | mb->un.varCfgPort.max_hbq = lpfc_sli_hbq_count(); |
1204 | if (phba->max_vpi && phba->cfg_enable_npiv && | 1223 | if (phba->max_vpi && phba->cfg_enable_npiv && |
1205 | phba->vpd.sli3Feat.cmv) { | 1224 | phba->vpd.sli3Feat.cmv) { |
@@ -2026,7 +2045,7 @@ lpfc_reg_fcfi(struct lpfc_hba *phba, struct lpfcMboxq *mbox) | |||
2026 | phba->fcf.current_rec.fcf_indx); | 2045 | phba->fcf.current_rec.fcf_indx); |
2027 | /* reg_fcf addr mode is bit wise inverted value of fcf addr_mode */ | 2046 | /* reg_fcf addr mode is bit wise inverted value of fcf addr_mode */ |
2028 | bf_set(lpfc_reg_fcfi_mam, reg_fcfi, (~phba->fcf.addr_mode) & 0x3); | 2047 | bf_set(lpfc_reg_fcfi_mam, reg_fcfi, (~phba->fcf.addr_mode) & 0x3); |
2029 | if (phba->fcf.current_rec.vlan_id != 0xFFFF) { | 2048 | if (phba->fcf.current_rec.vlan_id != LPFC_FCOE_NULL_VID) { |
2030 | bf_set(lpfc_reg_fcfi_vv, reg_fcfi, 1); | 2049 | bf_set(lpfc_reg_fcfi_vv, reg_fcfi, 1); |
2031 | bf_set(lpfc_reg_fcfi_vlan_tag, reg_fcfi, | 2050 | bf_set(lpfc_reg_fcfi_vlan_tag, reg_fcfi, |
2032 | phba->fcf.current_rec.vlan_id); | 2051 | phba->fcf.current_rec.vlan_id); |