aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_attr.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_attr.c')
-rw-r--r--drivers/scsi/lpfc/lpfc_attr.c20
1 files changed, 13 insertions, 7 deletions
diff --git a/drivers/scsi/lpfc/lpfc_attr.c b/drivers/scsi/lpfc/lpfc_attr.c
index 1849e33e68f..2e5f376d9cc 100644
--- a/drivers/scsi/lpfc/lpfc_attr.c
+++ b/drivers/scsi/lpfc/lpfc_attr.c
@@ -869,6 +869,7 @@ lpfc_get_hba_info(struct lpfc_hba *phba,
869 LPFC_MBOXQ_t *pmboxq; 869 LPFC_MBOXQ_t *pmboxq;
870 MAILBOX_t *pmb; 870 MAILBOX_t *pmb;
871 int rc = 0; 871 int rc = 0;
872 uint32_t max_vpi;
872 873
873 /* 874 /*
874 * prevent udev from issuing mailbox commands until the port is 875 * prevent udev from issuing mailbox commands until the port is
@@ -916,11 +917,17 @@ lpfc_get_hba_info(struct lpfc_hba *phba,
916 if (axri) 917 if (axri)
917 *axri = bf_get(lpfc_mbx_rd_conf_xri_count, rd_config) - 918 *axri = bf_get(lpfc_mbx_rd_conf_xri_count, rd_config) -
918 phba->sli4_hba.max_cfg_param.xri_used; 919 phba->sli4_hba.max_cfg_param.xri_used;
920
921 /* Account for differences with SLI-3. Get vpi count from
922 * mailbox data and subtract one for max vpi value.
923 */
924 max_vpi = (bf_get(lpfc_mbx_rd_conf_vpi_count, rd_config) > 0) ?
925 (bf_get(lpfc_mbx_rd_conf_vpi_count, rd_config) - 1) : 0;
926
919 if (mvpi) 927 if (mvpi)
920 *mvpi = bf_get(lpfc_mbx_rd_conf_vpi_count, rd_config); 928 *mvpi = max_vpi;
921 if (avpi) 929 if (avpi)
922 *avpi = bf_get(lpfc_mbx_rd_conf_vpi_count, rd_config) - 930 *avpi = max_vpi - phba->sli4_hba.max_cfg_param.vpi_used;
923 phba->sli4_hba.max_cfg_param.vpi_used;
924 } else { 931 } else {
925 if (mrpi) 932 if (mrpi)
926 *mrpi = pmb->un.varRdConfig.max_rpi; 933 *mrpi = pmb->un.varRdConfig.max_rpi;
@@ -1925,13 +1932,12 @@ MODULE_PARM_DESC(lpfc_sli_mode, "SLI mode selector:"
1925 " 2 - select SLI-2 even on SLI-3 capable HBAs," 1932 " 2 - select SLI-2 even on SLI-3 capable HBAs,"
1926 " 3 - select SLI-3"); 1933 " 3 - select SLI-3");
1927 1934
1928int lpfc_enable_npiv = 0; 1935int lpfc_enable_npiv = 1;
1929module_param(lpfc_enable_npiv, int, 0); 1936module_param(lpfc_enable_npiv, int, 0);
1930MODULE_PARM_DESC(lpfc_enable_npiv, "Enable NPIV functionality"); 1937MODULE_PARM_DESC(lpfc_enable_npiv, "Enable NPIV functionality");
1931lpfc_param_show(enable_npiv); 1938lpfc_param_show(enable_npiv);
1932lpfc_param_init(enable_npiv, 0, 0, 1); 1939lpfc_param_init(enable_npiv, 1, 0, 1);
1933static DEVICE_ATTR(lpfc_enable_npiv, S_IRUGO, 1940static DEVICE_ATTR(lpfc_enable_npiv, S_IRUGO, lpfc_enable_npiv_show, NULL);
1934 lpfc_enable_npiv_show, NULL);
1935 1941
1936/* 1942/*
1937# lpfc_suppress_link_up: Bring link up at initialization 1943# lpfc_suppress_link_up: Bring link up at initialization