Commit 12247e81 authored by James Smart's avatar James Smart Committed by Martin K. Petersen

lpfc: Remove global lpfc_sli_mode attribute in leiu of per-hba lpfc_sli_mode

Remove global lpfc_sli_mode attribute in leiu of per-hba lpfc_sli_mode
Signed-off-by: default avatarDick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: default avatarJames Smart <james.smart@broadcom.com>
Reviewed-by: default avatarHannes Reinecke <hare@suse.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent 8eb8b960
...@@ -755,6 +755,7 @@ struct lpfc_hba { ...@@ -755,6 +755,7 @@ struct lpfc_hba {
uint32_t cfg_suppress_link_up; uint32_t cfg_suppress_link_up;
uint32_t cfg_rrq_xri_bitmap_sz; uint32_t cfg_rrq_xri_bitmap_sz;
uint32_t cfg_delay_discovery; uint32_t cfg_delay_discovery;
uint32_t cfg_sli_mode;
#define LPFC_INITIALIZE_LINK 0 /* do normal init_link mbox */ #define LPFC_INITIALIZE_LINK 0 /* do normal init_link mbox */
#define LPFC_DELAY_INIT_LINK 1 /* layered driver hold off */ #define LPFC_DELAY_INIT_LINK 1 /* layered driver hold off */
#define LPFC_DELAY_INIT_LINK_INDEFINITELY 2 /* wait, manual intervention */ #define LPFC_DELAY_INIT_LINK_INDEFINITELY 2 /* wait, manual intervention */
......
...@@ -2837,9 +2837,8 @@ MODULE_PARM_DESC(lpfc_poll, "FCP ring polling mode control:" ...@@ -2837,9 +2837,8 @@ MODULE_PARM_DESC(lpfc_poll, "FCP ring polling mode control:"
static DEVICE_ATTR(lpfc_poll, S_IRUGO | S_IWUSR, static DEVICE_ATTR(lpfc_poll, S_IRUGO | S_IWUSR,
lpfc_poll_show, lpfc_poll_store); lpfc_poll_show, lpfc_poll_store);
int lpfc_sli_mode = 0; LPFC_ATTR(sli_mode, 0, 0, 3,
module_param(lpfc_sli_mode, int, S_IRUGO); "SLI mode selector:"
MODULE_PARM_DESC(lpfc_sli_mode, "SLI mode selector:"
" 0 - auto (SLI-3 if supported)," " 0 - auto (SLI-3 if supported),"
" 2 - select SLI-2 even on SLI-3 capable HBAs," " 2 - select SLI-2 even on SLI-3 capable HBAs,"
" 3 - select SLI-3"); " 3 - select SLI-3");
...@@ -5936,6 +5935,7 @@ lpfc_get_cfgparam(struct lpfc_hba *phba) ...@@ -5936,6 +5935,7 @@ lpfc_get_cfgparam(struct lpfc_hba *phba)
lpfc_suppress_link_up_init(phba, lpfc_suppress_link_up); lpfc_suppress_link_up_init(phba, lpfc_suppress_link_up);
lpfc_iocb_cnt_init(phba, lpfc_iocb_cnt); lpfc_iocb_cnt_init(phba, lpfc_iocb_cnt);
lpfc_delay_discovery_init(phba, lpfc_delay_discovery); lpfc_delay_discovery_init(phba, lpfc_delay_discovery);
lpfc_sli_mode_init(phba, lpfc_sli_mode);
phba->cfg_enable_dss = 1; phba->cfg_enable_dss = 1;
lpfc_enable_mds_diags_init(phba, lpfc_enable_mds_diags); lpfc_enable_mds_diags_init(phba, lpfc_enable_mds_diags);
return; return;
......
...@@ -359,7 +359,6 @@ extern struct scsi_host_template lpfc_template_s3; ...@@ -359,7 +359,6 @@ extern struct scsi_host_template lpfc_template_s3;
extern struct scsi_host_template lpfc_vport_template; extern struct scsi_host_template lpfc_vport_template;
extern struct fc_function_template lpfc_transport_functions; extern struct fc_function_template lpfc_transport_functions;
extern struct fc_function_template lpfc_vport_transport_functions; extern struct fc_function_template lpfc_vport_transport_functions;
extern int lpfc_sli_mode;
int lpfc_vport_symbolic_node_name(struct lpfc_vport *, char *, size_t); int lpfc_vport_symbolic_node_name(struct lpfc_vport *, char *, size_t);
int lpfc_vport_symbolic_port_name(struct lpfc_vport *, char *, size_t); int lpfc_vport_symbolic_port_name(struct lpfc_vport *, char *, size_t);
......
...@@ -4665,13 +4665,13 @@ lpfc_sli_hba_setup(struct lpfc_hba *phba) ...@@ -4665,13 +4665,13 @@ lpfc_sli_hba_setup(struct lpfc_hba *phba)
int mode = 3, i; int mode = 3, i;
int longs; int longs;
switch (lpfc_sli_mode) { switch (phba->cfg_sli_mode) {
case 2: case 2:
if (phba->cfg_enable_npiv) { if (phba->cfg_enable_npiv) {
lpfc_printf_log(phba, KERN_ERR, LOG_INIT | LOG_VPORT, lpfc_printf_log(phba, KERN_ERR, LOG_INIT | LOG_VPORT,
"1824 NPIV enabled: Override lpfc_sli_mode " "1824 NPIV enabled: Override sli_mode "
"parameter (%d) to auto (0).\n", "parameter (%d) to auto (0).\n",
lpfc_sli_mode); phba->cfg_sli_mode);
break; break;
} }
mode = 2; mode = 2;
...@@ -4681,8 +4681,8 @@ lpfc_sli_hba_setup(struct lpfc_hba *phba) ...@@ -4681,8 +4681,8 @@ lpfc_sli_hba_setup(struct lpfc_hba *phba)
break; break;
default: default:
lpfc_printf_log(phba, KERN_ERR, LOG_INIT | LOG_VPORT, lpfc_printf_log(phba, KERN_ERR, LOG_INIT | LOG_VPORT,
"1819 Unrecognized lpfc_sli_mode " "1819 Unrecognized sli_mode parameter: %d.\n",
"parameter: %d.\n", lpfc_sli_mode); phba->cfg_sli_mode);
break; break;
} }
...@@ -4690,7 +4690,7 @@ lpfc_sli_hba_setup(struct lpfc_hba *phba) ...@@ -4690,7 +4690,7 @@ lpfc_sli_hba_setup(struct lpfc_hba *phba)
rc = lpfc_sli_config_port(phba, mode); rc = lpfc_sli_config_port(phba, mode);
if (rc && lpfc_sli_mode == 3) if (rc && phba->cfg_sli_mode == 3)
lpfc_printf_log(phba, KERN_ERR, LOG_INIT | LOG_VPORT, lpfc_printf_log(phba, KERN_ERR, LOG_INIT | LOG_VPORT,
"1820 Unable to select SLI-3. " "1820 Unable to select SLI-3. "
"Not supported by adapter.\n"); "Not supported by adapter.\n");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment