net/ifc: invoke ifcvf HW init function in probe

Message ID 20181010132235.70579-1-xiaolong.ye@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Qi Zhang
Headers
Series net/ifc: invoke ifcvf HW init function in probe |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Xiaolong Ye Oct. 10, 2018, 1:22 p.m. UTC
  As ifcvf_init_hw is independent with ifcvf_vfio_setup, it's better to
invoke it directly in probe func.

Signed-off-by: Xiaolong Ye <xiaolong.ye@intel.com>
---
 drivers/net/ifc/ifcvf_vdpa.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
  

Comments

Xiao Wang Oct. 11, 2018, 4:39 a.m. UTC | #1
Hi,

> -----Original Message-----
> From: Ye, Xiaolong
> Sent: Wednesday, October 10, 2018 9:23 PM
> To: dev@dpdk.org; Zhang, Qi Z <qi.z.zhang@intel.com>
> Cc: Wang, Xiao W <xiao.w.wang@intel.com>; Ye, Xiaolong
> <xiaolong.ye@intel.com>
> Subject: [PATCH] net/ifc: invoke ifcvf HW init function in probe
> 
> As ifcvf_init_hw is independent with ifcvf_vfio_setup, it's better to
> invoke it directly in probe func.
> 
> Signed-off-by: Xiaolong Ye <xiaolong.ye@intel.com>
> ---
>  drivers/net/ifc/ifcvf_vdpa.c | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/net/ifc/ifcvf_vdpa.c b/drivers/net/ifc/ifcvf_vdpa.c
> index 9d5594678..adc8f4166 100644
> --- a/drivers/net/ifc/ifcvf_vdpa.c
> +++ b/drivers/net/ifc/ifcvf_vdpa.c
> @@ -112,7 +112,6 @@ ifcvf_vfio_setup(struct ifcvf_internal *internal)
>  	struct rte_pci_device *dev = internal->pdev;
>  	char devname[RTE_DEV_NAME_MAX_LEN] = {0};
>  	int iommu_group_num;
> -	int ret = 0;
>  	int i;
> 
>  	internal->vfio_dev_fd = -1;
> @@ -146,9 +145,8 @@ ifcvf_vfio_setup(struct ifcvf_internal *internal)
>  		internal->hw.mem_resource[i].len =
>  			internal->pdev->mem_resource[i].len;
>  	}
> -	ret = ifcvf_init_hw(&internal->hw, internal->pdev);
> 
> -	return ret;
> +	return 0;
> 
>  err:
>  	rte_vfio_container_destroy(internal->vfio_container_fd);
> @@ -758,6 +756,9 @@ ifcvf_pci_probe(struct rte_pci_driver *pci_drv
> __rte_unused,
>  	if (ifcvf_vfio_setup(internal) < 0)
>  		return -1;
> 
> +	if (ifcvf_init_hw(&internal->hw, internal->pdev) < 0)
> +		return -1;
> +
>  	internal->max_queues = IFCVF_MAX_QUEUES;
>  	features = ifcvf_get_features(&internal->hw);
>  	internal->features = (features &
> --
> 2.17.1

Acked-by: Xiao Wang <xiao.w.wang@intel.com>

BRs,
Xiao
  
Qi Zhang Oct. 11, 2018, 5:21 a.m. UTC | #2
> -----Original Message-----
> From: Wang, Xiao W
> Sent: Wednesday, October 10, 2018 9:40 PM
> To: Ye, Xiaolong <xiaolong.ye@intel.com>; dev@dpdk.org; Zhang, Qi Z
> <qi.z.zhang@intel.com>
> Subject: RE: [PATCH] net/ifc: invoke ifcvf HW init function in probe
> 
> Hi,
> 
> > -----Original Message-----
> > From: Ye, Xiaolong
> > Sent: Wednesday, October 10, 2018 9:23 PM
> > To: dev@dpdk.org; Zhang, Qi Z <qi.z.zhang@intel.com>
> > Cc: Wang, Xiao W <xiao.w.wang@intel.com>; Ye, Xiaolong
> > <xiaolong.ye@intel.com>
> > Subject: [PATCH] net/ifc: invoke ifcvf HW init function in probe
> >
> > As ifcvf_init_hw is independent with ifcvf_vfio_setup, it's better to
> > invoke it directly in probe func.
> >
> > Signed-off-by: Xiaolong Ye <xiaolong.ye@intel.com>
> > ---
> >  drivers/net/ifc/ifcvf_vdpa.c | 7 ++++---
> >  1 file changed, 4 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/net/ifc/ifcvf_vdpa.c
> > b/drivers/net/ifc/ifcvf_vdpa.c index 9d5594678..adc8f4166 100644
> > --- a/drivers/net/ifc/ifcvf_vdpa.c
> > +++ b/drivers/net/ifc/ifcvf_vdpa.c
> > @@ -112,7 +112,6 @@ ifcvf_vfio_setup(struct ifcvf_internal *internal)
> >  	struct rte_pci_device *dev = internal->pdev;
> >  	char devname[RTE_DEV_NAME_MAX_LEN] = {0};
> >  	int iommu_group_num;
> > -	int ret = 0;
> >  	int i;
> >
> >  	internal->vfio_dev_fd = -1;
> > @@ -146,9 +145,8 @@ ifcvf_vfio_setup(struct ifcvf_internal *internal)
> >  		internal->hw.mem_resource[i].len =
> >  			internal->pdev->mem_resource[i].len;
> >  	}
> > -	ret = ifcvf_init_hw(&internal->hw, internal->pdev);
> >
> > -	return ret;
> > +	return 0;
> >
> >  err:
> >  	rte_vfio_container_destroy(internal->vfio_container_fd);
> > @@ -758,6 +756,9 @@ ifcvf_pci_probe(struct rte_pci_driver *pci_drv
> > __rte_unused,
> >  	if (ifcvf_vfio_setup(internal) < 0)
> >  		return -1;
> >
> > +	if (ifcvf_init_hw(&internal->hw, internal->pdev) < 0)
> > +		return -1;
> > +
> >  	internal->max_queues = IFCVF_MAX_QUEUES;
> >  	features = ifcvf_get_features(&internal->hw);
> >  	internal->features = (features &
> > --
> > 2.17.1
> 
> Acked-by: Xiao Wang <xiao.w.wang@intel.com>

Applied to dpdk-next-net-intel.

Thanks
Qi
> 
> BRs,
> Xiao
  

Patch

diff --git a/drivers/net/ifc/ifcvf_vdpa.c b/drivers/net/ifc/ifcvf_vdpa.c
index 9d5594678..adc8f4166 100644
--- a/drivers/net/ifc/ifcvf_vdpa.c
+++ b/drivers/net/ifc/ifcvf_vdpa.c
@@ -112,7 +112,6 @@  ifcvf_vfio_setup(struct ifcvf_internal *internal)
 	struct rte_pci_device *dev = internal->pdev;
 	char devname[RTE_DEV_NAME_MAX_LEN] = {0};
 	int iommu_group_num;
-	int ret = 0;
 	int i;
 
 	internal->vfio_dev_fd = -1;
@@ -146,9 +145,8 @@  ifcvf_vfio_setup(struct ifcvf_internal *internal)
 		internal->hw.mem_resource[i].len =
 			internal->pdev->mem_resource[i].len;
 	}
-	ret = ifcvf_init_hw(&internal->hw, internal->pdev);
 
-	return ret;
+	return 0;
 
 err:
 	rte_vfio_container_destroy(internal->vfio_container_fd);
@@ -758,6 +756,9 @@  ifcvf_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
 	if (ifcvf_vfio_setup(internal) < 0)
 		return -1;
 
+	if (ifcvf_init_hw(&internal->hw, internal->pdev) < 0)
+		return -1;
+
 	internal->max_queues = IFCVF_MAX_QUEUES;
 	features = ifcvf_get_features(&internal->hw);
 	internal->features = (features &