Skip to content

Commit

Permalink
scsi: lpfc: vmid: VMID parameter initialization
Browse files Browse the repository at this point in the history
Initialize parameters such as type of VMID, max number of VMIDs supported
and timeout value for the VMID registration based on the user input.

Link: https://lore.kernel.org/r/20210608043556.274139-6-muneendra.kumar@broadcom.com
Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Gaurav Srivastava <gaurav.srivastava@broadcom.com>
Signed-off-by: James Smart <jsmart2021@gmail.com>
Signed-off-by: Muneendra Kumar <muneendra.kumar@broadcom.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
  • Loading branch information
Gaurav Srivastava authored and Martin K. Petersen committed Jun 10, 2021
1 parent 02169e8 commit 7ba2272
Showing 1 changed file with 48 additions and 0 deletions.
48 changes: 48 additions & 0 deletions drivers/scsi/lpfc/lpfc_attr.c
Original file line number Diff line number Diff line change
Expand Up @@ -6162,6 +6162,45 @@ LPFC_ATTR_RW(enable_dpp, 1, 0, 1, "Enable Direct Packet Push");
*/
LPFC_ATTR_R(enable_mi, 1, 0, 1, "Enable MI");

/*
* lpfc_max_vmid: Maximum number of VMs to be tagged. This is valid only if
* either vmid_app_header or vmid_priority_tagging is enabled.
* 4 - 255 = vmid support enabled for 4-255 VMs
* Value range is [4,255].
*/
LPFC_ATTR_RW(max_vmid, LPFC_MIN_VMID, LPFC_MIN_VMID, LPFC_MAX_VMID,
"Maximum number of VMs supported");

/*
* lpfc_vmid_inactivity_timeout: Inactivity timeout duration in hours
* 0 = Timeout is disabled
* Value range is [0,24].
*/
LPFC_ATTR_RW(vmid_inactivity_timeout, 4, 0, 24,
"Inactivity timeout in hours");

/*
* lpfc_vmid_app_header: Enable App Header VMID support
* 0 = Support is disabled (default)
* 1 = Support is enabled
* Value range is [0,1].
*/
LPFC_ATTR_RW(vmid_app_header, LPFC_VMID_APP_HEADER_DISABLE,
LPFC_VMID_APP_HEADER_DISABLE, LPFC_VMID_APP_HEADER_ENABLE,
"Enable App Header VMID support");

/*
* lpfc_vmid_priority_tagging: Enable Priority Tagging VMID support
* 0 = Support is disabled (default)
* 1 = Allow supported targets only
* 2 = Allow all targets
* Value range is [0,2].
*/
LPFC_ATTR_RW(vmid_priority_tagging, LPFC_VMID_PRIO_TAG_DISABLE,
LPFC_VMID_PRIO_TAG_DISABLE,
LPFC_VMID_PRIO_TAG_ALL_TARGETS,
"Enable Priority Tagging VMID support");

struct device_attribute *lpfc_hba_attrs[] = {
&dev_attr_nvme_info,
&dev_attr_scsi_stat,
Expand Down Expand Up @@ -6281,6 +6320,10 @@ struct device_attribute *lpfc_hba_attrs[] = {
&dev_attr_lpfc_enable_bbcr,
&dev_attr_lpfc_enable_dpp,
&dev_attr_lpfc_enable_mi,
&dev_attr_lpfc_max_vmid,
&dev_attr_lpfc_vmid_inactivity_timeout,
&dev_attr_lpfc_vmid_app_header,
&dev_attr_lpfc_vmid_priority_tagging,
NULL,
};

Expand Down Expand Up @@ -7357,6 +7400,11 @@ lpfc_get_cfgparam(struct lpfc_hba *phba)
lpfc_enable_hba_heartbeat_init(phba, lpfc_enable_hba_heartbeat);

lpfc_EnableXLane_init(phba, lpfc_EnableXLane);
/* VMID Inits */
lpfc_max_vmid_init(phba, lpfc_max_vmid);
lpfc_vmid_inactivity_timeout_init(phba, lpfc_vmid_inactivity_timeout);
lpfc_vmid_app_header_init(phba, lpfc_vmid_app_header);
lpfc_vmid_priority_tagging_init(phba, lpfc_vmid_priority_tagging);
if (phba->sli_rev != LPFC_SLI_REV4)
phba->cfg_EnableXLane = 0;
lpfc_XLanePriority_init(phba, lpfc_XLanePriority);
Expand Down

0 comments on commit 7ba2272

Please sign in to comment.