[PATCH v8 08/12] vdpa/ifc: add internal API to get device

Xia, Chenbo chenbo.xia at intel.com
Wed Oct 19 09:03:36 CEST 2022


> -----Original Message-----
> From: Pei, Andy <andy.pei at intel.com>
> Sent: Tuesday, October 18, 2022 8:08 PM
> To: dev at dpdk.org
> Cc: Xia, Chenbo <chenbo.xia at intel.com>; Xu, Rosen <rosen.xu at intel.com>;
> Huang, Wei <wei.huang at intel.com>; Cao, Gang <gang.cao at intel.com>;
> maxime.coquelin at redhat.com
> Subject: [PATCH v8 08/12] vdpa/ifc: add internal API to get device
> 
> Add new internal API "find_internal_resource_by_rte_dev"
> to get device.
> 
> Signed-off-by: Andy Pei <andy.pei at intel.com>
> ---
>  drivers/vdpa/ifc/ifcvf_vdpa.c | 28 ++++++++++++++++++++++++++--
>  1 file changed, 26 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/vdpa/ifc/ifcvf_vdpa.c b/drivers/vdpa/ifc/ifcvf_vdpa.c
> index 73d04ed..c16e263 100644
> --- a/drivers/vdpa/ifc/ifcvf_vdpa.c
> +++ b/drivers/vdpa/ifc/ifcvf_vdpa.c
> @@ -144,6 +144,29 @@ struct rte_vdpa_dev_info {
>  	return list;
>  }
> 
> +static struct internal_list *
> +find_internal_resource_by_rte_dev(struct rte_device *rte_dev)
> +{
> +	int found = 0;
> +	struct internal_list *list;
> +
> +	pthread_mutex_lock(&internal_list_lock);
> +
> +	TAILQ_FOREACH(list, &internal_list, next) {
> +		if (rte_dev == &list->internal->pdev->device) {
> +			found = 1;
> +			break;
> +		}
> +	}
> +
> +	pthread_mutex_unlock(&internal_list_lock);
> +
> +	if (!found)
> +		return NULL;
> +
> +	return list;
> +}
> +
>  static int
>  ifcvf_vfio_setup(struct ifcvf_internal *internal)
>  {
> @@ -1398,10 +1421,11 @@ struct rte_vdpa_dev_info {
>  {
>  	struct ifcvf_internal *internal;
>  	struct internal_list *list;
> +	struct rte_device *rte_dev = vdev->device;
> 
> -	list = find_internal_resource_by_vdev(vdev);
> +	list = find_internal_resource_by_rte_dev(rte_dev);
>  	if (list == NULL) {
> -		DRV_LOG(ERR, "Invalid vDPA device: %p", vdev);
> +		DRV_LOG(ERR, "Invalid rte device: %p", rte_dev);
>  		return -1;
>  	}
> 
> --
> 1.8.3.1

Reviewed-by: Chenbo Xia <chenbo.xia at intel.com>


More information about the dev mailing list