[PATCH v4 09/19] lpfc: vmid: VMID params initialization
Hannes Reinecke
hare at suse.de
Mon Nov 16 02:53:12 EST 2020
On 11/9/20 5:23 AM, Muneendra wrote:
> From: Gaurav Srivastava <gaurav.srivastava at broadcom.com>
>
> This patch initializes the VMID parameters like the type of vmid, max
> number of vmids supported and timeout value for the vmid registration
> based on the user input.
>
> Signed-off-by: Gaurav Srivastava <gaurav.srivastava at broadcom.com>
> Signed-off-by: James Smart <jsmart2021 at gmail.com>
>
> ---
> v4:
> No change
>
> v3:
> No change
>
> v2:
> Ported the patch on top of 5.10/scsi-queue
> ---
> drivers/scsi/lpfc/lpfc_attr.c | 47 +++++++++++++++++++++++++++++++++++
> 1 file changed, 47 insertions(+)
>
> diff --git a/drivers/scsi/lpfc/lpfc_attr.c b/drivers/scsi/lpfc/lpfc_attr.c
> index e94eac194676..e73997bce65c 100644
> --- a/drivers/scsi/lpfc/lpfc_attr.c
> +++ b/drivers/scsi/lpfc/lpfc_attr.c
> @@ -6138,6 +6138,44 @@ LPFC_BBCR_ATTR_RW(enable_bbcr, 1, 0, 1, "Enable BBC Recovery");
> */
> LPFC_ATTR_RW(enable_dpp, 1, 0, 1, "Enable Direct Packet Push");
>
> +/*
> + * 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 = Support is enabled
> + * Value range is [0,1]..
> + */
> +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,
> @@ -6255,6 +6293,10 @@ struct device_attribute *lpfc_hba_attrs[] = {
> &dev_attr_lpfc_ras_fwlog_func,
> &dev_attr_lpfc_enable_bbcr,
> &dev_attr_lpfc_enable_dpp,
> + &dev_attr_lpfc_max_vmid,
> + &dev_attr_lpfc_vmid_inactivity_timeout,
> + &dev_attr_lpfc_vmid_app_header,
> + &dev_attr_lpfc_vmid_priority_tagging,
> NULL,
> };
>
> @@ -7314,6 +7356,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);
>
Reviewed-by: Hannes Reinecke <hare at suse.de>
Cheers,
Hannes
--
Dr. Hannes Reinecke Kernel Storage Architect
hare at suse.de +49 911 74053 688
SUSE Software Solutions GmbH, Maxfeldstr. 5, 90409 Nürnberg
HRB 36809 (AG Nürnberg), Geschäftsführer: Felix Imendörffer
More information about the Linux-nvme
mailing list