DPDK patches and discussions
 help / color / mirror / Atom feed
* [PATCH 0/2] small cleanup - use PCI lib
@ 2023-10-19 15:31 Thomas Monjalon
  2023-10-19 15:31 ` [PATCH 1/2] drivers: use macro for PCI address format Thomas Monjalon
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Thomas Monjalon @ 2023-10-19 15:31 UTC (permalink / raw)
  To: dev; +Cc: David Marchand, chenbox

Some drivers could use more the PCI lib facilities.

Thomas Monjalon (2):
  drivers: use macro for PCI address format
  drivers: use function to compare PCI addresses

 drivers/event/skeleton/skeleton_eventdev.c | 2 +-
 drivers/net/ena/ena_ethdev.c               | 2 +-
 drivers/net/enic/enic.h                    | 3 +--
 drivers/net/enic/enic_ethdev.c             | 2 +-
 drivers/net/enic/enic_vf_representor.c     | 2 +-
 drivers/net/hinic/hinic_pmd_ethdev.c       | 4 ++--
 drivers/net/mana/mana.c                    | 6 ++----
 drivers/net/mlx4/mlx4.c                    | 5 +----
 drivers/net/mlx5/linux/mlx5_os.c           | 7 ++-----
 drivers/net/thunderx/nicvf_ethdev.c        | 2 +-
 10 files changed, 13 insertions(+), 22 deletions(-)

-- 
2.42.0


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 1/2] drivers: use macro for PCI address format
  2023-10-19 15:31 [PATCH 0/2] small cleanup - use PCI lib Thomas Monjalon
@ 2023-10-19 15:31 ` Thomas Monjalon
  2023-10-20  1:02   ` John Daley (johndale)
  2023-10-19 15:31 ` [PATCH 2/2] drivers: use function to compare PCI addresses Thomas Monjalon
  2023-10-29  8:54 ` [PATCH 0/2] small cleanup - use PCI lib Thomas Monjalon
  2 siblings, 1 reply; 7+ messages in thread
From: Thomas Monjalon @ 2023-10-19 15:31 UTC (permalink / raw)
  To: dev
  Cc: David Marchand, chenbox, Jerin Jacob, Michal Krawczyk,
	Shai Brandes, Evgeny Schemeilin, Igor Chauskin, Ron Beider,
	John Daley, Hyong Youb Kim, Ziyang Xuan, Xiaoyun Wang,
	Guoyang Zhou, Matan Azrad, Viacheslav Ovsiienko, Ori Kam,
	Suanming Mou, Maciej Czekaj

Some places were not using the macro PCI_PRI_FMT
as print format of a PCI address.

Note: RTE prefix is missing in the name of some PCI macros.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 drivers/event/skeleton/skeleton_eventdev.c | 2 +-
 drivers/net/ena/ena_ethdev.c               | 2 +-
 drivers/net/enic/enic.h                    | 3 +--
 drivers/net/enic/enic_ethdev.c             | 2 +-
 drivers/net/enic/enic_vf_representor.c     | 2 +-
 drivers/net/hinic/hinic_pmd_ethdev.c       | 4 ++--
 drivers/net/mlx5/linux/mlx5_os.c           | 2 +-
 drivers/net/thunderx/nicvf_ethdev.c        | 2 +-
 8 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/drivers/event/skeleton/skeleton_eventdev.c b/drivers/event/skeleton/skeleton_eventdev.c
index dc9b131641..dd2dab2e27 100644
--- a/drivers/event/skeleton/skeleton_eventdev.c
+++ b/drivers/event/skeleton/skeleton_eventdev.c
@@ -373,7 +373,7 @@ skeleton_eventdev_init(struct rte_eventdev *eventdev)
 	skel->subsystem_device_id = pci_dev->id.subsystem_device_id;
 	skel->subsystem_vendor_id = pci_dev->id.subsystem_vendor_id;
 
-	PMD_DRV_LOG(DEBUG, "pci device (%x:%x) %u:%u:%u:%u",
+	PMD_DRV_LOG(DEBUG, "PCI device (%x:%x) " PCI_PRI_FMT,
 			pci_dev->id.vendor_id, pci_dev->id.device_id,
 			pci_dev->addr.domain, pci_dev->addr.bus,
 			pci_dev->addr.devid, pci_dev->addr.function);
diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c
index 7345e480f8..b39ec629e7 100644
--- a/drivers/net/ena/ena_ethdev.c
+++ b/drivers/net/ena/ena_ethdev.c
@@ -2125,7 +2125,7 @@ static int eth_ena_dev_init(struct rte_eth_dev *eth_dev)
 
 	pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
 
-	PMD_INIT_LOG(INFO, "Initializing %x:%x:%x.%d\n",
+	PMD_INIT_LOG(INFO, "Initializing " PCI_PRI_FMT "\n",
 		     pci_dev->addr.domain,
 		     pci_dev->addr.bus,
 		     pci_dev->addr.devid,
diff --git a/drivers/net/enic/enic.h b/drivers/net/enic/enic.h
index 163a1f037e..78778704f2 100644
--- a/drivers/net/enic/enic.h
+++ b/drivers/net/enic/enic.h
@@ -32,7 +32,6 @@
 
 #define ENICPMD_SETTING(enic, f) ((enic->config.flags & VENETF_##f) ? 1 : 0)
 
-#define ENICPMD_BDF_LENGTH      13   /* 0000:00:00.0'\0' */
 #define ENIC_CALC_IP_CKSUM      1
 #define ENIC_CALC_TCP_UDP_CKSUM 2
 #define ENIC_MAX_MTU            9000
@@ -101,7 +100,7 @@ struct enic {
 	bool overlay_offload;
 	struct rte_eth_dev *rte_dev;
 	struct rte_eth_dev_data *dev_data;
-	char bdf_name[ENICPMD_BDF_LENGTH];
+	char bdf_name[PCI_PRI_STR_SIZE];
 	int dev_fd;
 	int iommu_group_fd;
 	int iommu_groupid;
diff --git a/drivers/net/enic/enic_ethdev.c b/drivers/net/enic/enic_ethdev.c
index a487256fa1..b04b6c9aa1 100644
--- a/drivers/net/enic/enic_ethdev.c
+++ b/drivers/net/enic/enic_ethdev.c
@@ -1274,7 +1274,7 @@ static int eth_enic_dev_init(struct rte_eth_dev *eth_dev,
 	enic->pdev = pdev;
 	addr = &pdev->addr;
 
-	snprintf(enic->bdf_name, ENICPMD_BDF_LENGTH, "%04x:%02x:%02x.%x",
+	snprintf(enic->bdf_name, PCI_PRI_STR_SIZE, PCI_PRI_FMT,
 		addr->domain, addr->bus, addr->devid, addr->function);
 
 	err = enic_check_devargs(eth_dev);
diff --git a/drivers/net/enic/enic_vf_representor.c b/drivers/net/enic/enic_vf_representor.c
index 46f85964e9..5d8d29135c 100644
--- a/drivers/net/enic/enic_vf_representor.c
+++ b/drivers/net/enic/enic_vf_representor.c
@@ -707,7 +707,7 @@ int enic_vf_representor_init(struct rte_eth_dev *eth_dev, void *init_params)
 	LIST_INIT(&vf_enic->memzone_list);
 	rte_spinlock_init(&vf_enic->memzone_list_lock);
 	addr = &vf->bdf;
-	snprintf(vf_enic->bdf_name, ENICPMD_BDF_LENGTH, "%04x:%02x:%02x.%x",
+	snprintf(vf_enic->bdf_name, PCI_PRI_STR_SIZE, PCI_PRI_FMT,
 		 addr->domain, addr->bus, addr->devid, addr->function);
 	return 0;
 }
diff --git a/drivers/net/hinic/hinic_pmd_ethdev.c b/drivers/net/hinic/hinic_pmd_ethdev.c
index adc9f75c81..d4978e0649 100644
--- a/drivers/net/hinic/hinic_pmd_ethdev.c
+++ b/drivers/net/hinic/hinic_pmd_ethdev.c
@@ -3086,7 +3086,7 @@ static int hinic_func_init(struct rte_eth_dev *eth_dev)
 
 	snprintf(nic_dev->proc_dev_name,
 		 sizeof(nic_dev->proc_dev_name),
-		 "hinic-%.4x:%.2x:%.2x.%x",
+		 "hinic-" PCI_PRI_FMT,
 		 pci_dev->addr.domain, pci_dev->addr.bus,
 		 pci_dev->addr.devid, pci_dev->addr.function);
 
@@ -3202,7 +3202,7 @@ static int hinic_dev_init(struct rte_eth_dev *eth_dev)
 
 	pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
 
-	PMD_DRV_LOG(INFO, "Initializing pf hinic-%.4x:%.2x:%.2x.%x in %s process",
+	PMD_DRV_LOG(INFO, "Initializing pf hinic-" PCI_PRI_FMT " in %s process",
 		    pci_dev->addr.domain, pci_dev->addr.bus,
 		    pci_dev->addr.devid, pci_dev->addr.function,
 		    (rte_eal_process_type() == RTE_PROC_PRIMARY) ?
diff --git a/drivers/net/mlx5/linux/mlx5_os.c b/drivers/net/mlx5/linux/mlx5_os.c
index d5ef695e6d..0706e9e9b2 100644
--- a/drivers/net/mlx5/linux/mlx5_os.c
+++ b/drivers/net/mlx5/linux/mlx5_os.c
@@ -1952,7 +1952,7 @@ mlx5_device_bond_pci_match(const char *ibdev_name,
 				ifindex, bond_info->ifindex, bond_info->ifname);
 	}
 	if (owner == 0 && pf != 0) {
-		DRV_LOG(INFO, "PCIe instance %04x:%02x:%02x.%x isn't bonding owner",
+		DRV_LOG(INFO, "PCIe instance " PCI_PRI_FMT " isn't bonding owner",
 				pci_dev->domain, pci_dev->bus, pci_dev->devid,
 				pci_dev->function);
 	}
diff --git a/drivers/net/thunderx/nicvf_ethdev.c b/drivers/net/thunderx/nicvf_ethdev.c
index ab1e714d97..a504d41dfe 100644
--- a/drivers/net/thunderx/nicvf_ethdev.c
+++ b/drivers/net/thunderx/nicvf_ethdev.c
@@ -2218,7 +2218,7 @@ nicvf_eth_dev_init(struct rte_eth_dev *eth_dev)
 	nic->subsystem_device_id = pci_dev->id.subsystem_device_id;
 	nic->subsystem_vendor_id = pci_dev->id.subsystem_vendor_id;
 
-	PMD_INIT_LOG(DEBUG, "nicvf: device (%x:%x) %u:%u:%u:%u",
+	PMD_INIT_LOG(DEBUG, "nicvf: device (%x:%x) " PCI_PRI_FMT,
 			pci_dev->id.vendor_id, pci_dev->id.device_id,
 			pci_dev->addr.domain, pci_dev->addr.bus,
 			pci_dev->addr.devid, pci_dev->addr.function);
-- 
2.42.0


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 2/2] drivers: use function to compare PCI addresses
  2023-10-19 15:31 [PATCH 0/2] small cleanup - use PCI lib Thomas Monjalon
  2023-10-19 15:31 ` [PATCH 1/2] drivers: use macro for PCI address format Thomas Monjalon
@ 2023-10-19 15:31 ` Thomas Monjalon
  2023-10-19 16:04   ` Long Li
  2023-10-29  8:54 ` [PATCH 0/2] small cleanup - use PCI lib Thomas Monjalon
  2 siblings, 1 reply; 7+ messages in thread
From: Thomas Monjalon @ 2023-10-19 15:31 UTC (permalink / raw)
  To: dev
  Cc: David Marchand, chenbox, Long Li, Matan Azrad,
	Viacheslav Ovsiienko, Ori Kam, Suanming Mou

Some places were not using the function rte_pci_addr_cmp()
to compare 2 PCI addresses.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 drivers/net/mana/mana.c          | 6 ++----
 drivers/net/mlx4/mlx4.c          | 5 +----
 drivers/net/mlx5/linux/mlx5_os.c | 5 +----
 3 files changed, 4 insertions(+), 12 deletions(-)

diff --git a/drivers/net/mana/mana.c b/drivers/net/mana/mana.c
index 41c3cf2595..781ed76139 100644
--- a/drivers/net/mana/mana.c
+++ b/drivers/net/mana/mana.c
@@ -13,6 +13,7 @@
 #include <ethdev_pci.h>
 #include <rte_kvargs.h>
 #include <rte_eal_paging.h>
+#include <rte_pci.h>
 
 #include <infiniband/verbs.h>
 #include <infiniband/manadv.h>
@@ -1464,10 +1465,7 @@ mana_pci_probe_mac(struct rte_pci_device *pci_dev,
 			continue;
 
 		/* Ignore if this IB device is not this PCI device */
-		if (pci_dev->addr.domain != pci_addr.domain ||
-		    pci_dev->addr.bus != pci_addr.bus ||
-		    pci_dev->addr.devid != pci_addr.devid ||
-		    pci_dev->addr.function != pci_addr.function)
+		if (rte_pci_addr_cmp(&pci_dev->addr, &pci_addr) != 0)
 			continue;
 
 		ctx = ibv_open_device(ibdev);
diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c
index 1389b606cc..a1a7e93288 100644
--- a/drivers/net/mlx4/mlx4.c
+++ b/drivers/net/mlx4/mlx4.c
@@ -817,10 +817,7 @@ mlx4_pci_probe(struct rte_pci_driver *pci_drv, struct rte_pci_device *pci_dev)
 		DEBUG("checking device \"%s\"", list[i]->name);
 		if (mlx4_ibv_device_to_pci_addr(list[i], &pci_addr))
 			continue;
-		if ((pci_dev->addr.domain != pci_addr.domain) ||
-		    (pci_dev->addr.bus != pci_addr.bus) ||
-		    (pci_dev->addr.devid != pci_addr.devid) ||
-		    (pci_dev->addr.function != pci_addr.function))
+		if (rte_pci_addr_cmp(&pci_dev->addr, &pci_addr) != 0)
 			continue;
 		vf = (pci_dev->id.device_id ==
 		      PCI_DEVICE_ID_MELLANOX_CONNECTX3VF);
diff --git a/drivers/net/mlx5/linux/mlx5_os.c b/drivers/net/mlx5/linux/mlx5_os.c
index 0706e9e9b2..922490ff97 100644
--- a/drivers/net/mlx5/linux/mlx5_os.c
+++ b/drivers/net/mlx5/linux/mlx5_os.c
@@ -2065,10 +2065,7 @@ mlx5_os_pci_probe_pf(struct mlx5_common_device *cdev,
 			if (mlx5_get_pci_addr(ibv_list[ret]->ibdev_path,
 					      &pci_addr))
 				continue;
-			if (owner_pci.domain != pci_addr.domain ||
-			    owner_pci.bus != pci_addr.bus ||
-			    owner_pci.devid != pci_addr.devid ||
-			    owner_pci.function != pci_addr.function)
+			if (rte_pci_addr_cmp(&owner_pci, &pci_addr) != 0)
 				continue;
 			DRV_LOG(INFO, "PCI information matches for device \"%s\"",
 				ibv_list[ret]->name);
-- 
2.42.0


^ permalink raw reply	[flat|nested] 7+ messages in thread

* RE: [PATCH 2/2] drivers: use function to compare PCI addresses
  2023-10-19 15:31 ` [PATCH 2/2] drivers: use function to compare PCI addresses Thomas Monjalon
@ 2023-10-19 16:04   ` Long Li
  0 siblings, 0 replies; 7+ messages in thread
From: Long Li @ 2023-10-19 16:04 UTC (permalink / raw)
  To: Thomas Monjalon, dev
  Cc: David Marchand, chenbox, Matan Azrad, Slava Ovsiienko, Ori Kam,
	Suanming Mou

> Subject: [PATCH 2/2] drivers: use function to compare PCI addresses
> 
> Some places were not using the function rte_pci_addr_cmp() to compare 2 PCI
> addresses.
> 
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>

For MANA,
Acked-by: Long Li <longli@microsoft.com>

> ---
>  drivers/net/mana/mana.c          | 6 ++----
>  drivers/net/mlx4/mlx4.c          | 5 +----
>  drivers/net/mlx5/linux/mlx5_os.c | 5 +----
>  3 files changed, 4 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/net/mana/mana.c b/drivers/net/mana/mana.c index
> 41c3cf2595..781ed76139 100644
> --- a/drivers/net/mana/mana.c
> +++ b/drivers/net/mana/mana.c
> @@ -13,6 +13,7 @@
>  #include <ethdev_pci.h>
>  #include <rte_kvargs.h>
>  #include <rte_eal_paging.h>
> +#include <rte_pci.h>
> 
>  #include <infiniband/verbs.h>
>  #include <infiniband/manadv.h>
> @@ -1464,10 +1465,7 @@ mana_pci_probe_mac(struct rte_pci_device
> *pci_dev,
>  			continue;
> 
>  		/* Ignore if this IB device is not this PCI device */
> -		if (pci_dev->addr.domain != pci_addr.domain ||
> -		    pci_dev->addr.bus != pci_addr.bus ||
> -		    pci_dev->addr.devid != pci_addr.devid ||
> -		    pci_dev->addr.function != pci_addr.function)
> +		if (rte_pci_addr_cmp(&pci_dev->addr, &pci_addr) != 0)
>  			continue;
> 
>  		ctx = ibv_open_device(ibdev);
> diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c index
> 1389b606cc..a1a7e93288 100644
> --- a/drivers/net/mlx4/mlx4.c
> +++ b/drivers/net/mlx4/mlx4.c
> @@ -817,10 +817,7 @@ mlx4_pci_probe(struct rte_pci_driver *pci_drv, struct
> rte_pci_device *pci_dev)
>  		DEBUG("checking device \"%s\"", list[i]->name);
>  		if (mlx4_ibv_device_to_pci_addr(list[i], &pci_addr))
>  			continue;
> -		if ((pci_dev->addr.domain != pci_addr.domain) ||
> -		    (pci_dev->addr.bus != pci_addr.bus) ||
> -		    (pci_dev->addr.devid != pci_addr.devid) ||
> -		    (pci_dev->addr.function != pci_addr.function))
> +		if (rte_pci_addr_cmp(&pci_dev->addr, &pci_addr) != 0)
>  			continue;
>  		vf = (pci_dev->id.device_id ==
>  		      PCI_DEVICE_ID_MELLANOX_CONNECTX3VF);
> diff --git a/drivers/net/mlx5/linux/mlx5_os.c b/drivers/net/mlx5/linux/mlx5_os.c
> index 0706e9e9b2..922490ff97 100644
> --- a/drivers/net/mlx5/linux/mlx5_os.c
> +++ b/drivers/net/mlx5/linux/mlx5_os.c
> @@ -2065,10 +2065,7 @@ mlx5_os_pci_probe_pf(struct mlx5_common_device
> *cdev,
>  			if (mlx5_get_pci_addr(ibv_list[ret]->ibdev_path,
>  					      &pci_addr))
>  				continue;
> -			if (owner_pci.domain != pci_addr.domain ||
> -			    owner_pci.bus != pci_addr.bus ||
> -			    owner_pci.devid != pci_addr.devid ||
> -			    owner_pci.function != pci_addr.function)
> +			if (rte_pci_addr_cmp(&owner_pci, &pci_addr) != 0)
>  				continue;
>  			DRV_LOG(INFO, "PCI information matches for device
> \"%s\"",
>  				ibv_list[ret]->name);
> --
> 2.42.0


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/2] drivers: use macro for PCI address format
  2023-10-19 15:31 ` [PATCH 1/2] drivers: use macro for PCI address format Thomas Monjalon
@ 2023-10-20  1:02   ` John Daley (johndale)
  2023-10-20  3:30     ` lihuisong (C)
  0 siblings, 1 reply; 7+ messages in thread
From: John Daley (johndale) @ 2023-10-20  1:02 UTC (permalink / raw)
  To: Thomas Monjalon, dev
  Cc: David Marchand, chenbox, Jerin Jacob, Michal Krawczyk,
	Shai Brandes, Evgeny Schemeilin, Igor Chauskin, Ron Beider,
	Hyong Youb Kim (hyonkim),
	Ziyang Xuan, Xiaoyun Wang, Guoyang Zhou, Matan Azrad,
	Viacheslav Ovsiienko, Ori Kam, Suanming Mou, Maciej Czekaj

[-- Attachment #1: Type: text/plain, Size: 7620 bytes --]

Acked-by: John Daley <johndale@cisco.com>


From: Thomas Monjalon <thomas@monjalon.net>
Date: Thursday, October 19, 2023 at 8:41 AM
To: dev@dpdk.org <dev@dpdk.org>
Cc: David Marchand <david.marchand@redhat.com>, chenbox@nvidia.com <chenbox@nvidia.com>, Jerin Jacob <jerinj@marvell.com>, Michal Krawczyk <mk@semihalf.com>, Shai Brandes <shaibran@amazon.com>, Evgeny Schemeilin <evgenys@amazon.com>, Igor Chauskin <igorch@amazon.com>, Ron Beider <rbeider@amazon.com>, John Daley (johndale) <johndale@cisco.com>, Hyong Youb Kim (hyonkim) <hyonkim@cisco.com>, Ziyang Xuan <xuanziyang2@huawei.com>, Xiaoyun Wang <cloud.wangxiaoyun@huawei.com>, Guoyang Zhou <zhouguoyang@huawei.com>, Matan Azrad <matan@nvidia.com>, Viacheslav Ovsiienko <viacheslavo@nvidia.com>, Ori Kam <orika@nvidia.com>, Suanming Mou <suanmingm@nvidia.com>, Maciej Czekaj <mczekaj@marvell.com>
Subject: [PATCH 1/2] drivers: use macro for PCI address format
Some places were not using the macro PCI_PRI_FMT
as print format of a PCI address.

Note: RTE prefix is missing in the name of some PCI macros.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 drivers/event/skeleton/skeleton_eventdev.c | 2 +-
 drivers/net/ena/ena_ethdev.c               | 2 +-
 drivers/net/enic/enic.h                    | 3 +--
 drivers/net/enic/enic_ethdev.c             | 2 +-
 drivers/net/enic/enic_vf_representor.c     | 2 +-
 drivers/net/hinic/hinic_pmd_ethdev.c       | 4 ++--
 drivers/net/mlx5/linux/mlx5_os.c           | 2 +-
 drivers/net/thunderx/nicvf_ethdev.c        | 2 +-
 8 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/drivers/event/skeleton/skeleton_eventdev.c b/drivers/event/skeleton/skeleton_eventdev.c
index dc9b131641..dd2dab2e27 100644
--- a/drivers/event/skeleton/skeleton_eventdev.c
+++ b/drivers/event/skeleton/skeleton_eventdev.c
@@ -373,7 +373,7 @@ skeleton_eventdev_init(struct rte_eventdev *eventdev)
         skel->subsystem_device_id = pci_dev->id.subsystem_device_id;
         skel->subsystem_vendor_id = pci_dev->id.subsystem_vendor_id;

-       PMD_DRV_LOG(DEBUG, "pci device (%x:%x) %u:%u:%u:%u",
+       PMD_DRV_LOG(DEBUG, "PCI device (%x:%x) " PCI_PRI_FMT,
                         pci_dev->id.vendor_id, pci_dev->id.device_id,
                         pci_dev->addr.domain, pci_dev->addr.bus,
                         pci_dev->addr.devid, pci_dev->addr.function);
diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c
index 7345e480f8..b39ec629e7 100644
--- a/drivers/net/ena/ena_ethdev.c
+++ b/drivers/net/ena/ena_ethdev.c
@@ -2125,7 +2125,7 @@ static int eth_ena_dev_init(struct rte_eth_dev *eth_dev)

         pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);

-       PMD_INIT_LOG(INFO, "Initializing %x:%x:%x.%d\n",
+       PMD_INIT_LOG(INFO, "Initializing " PCI_PRI_FMT "\n",
                      pci_dev->addr.domain,
                      pci_dev->addr.bus,
                      pci_dev->addr.devid,
diff --git a/drivers/net/enic/enic.h b/drivers/net/enic/enic.h
index 163a1f037e..78778704f2 100644
--- a/drivers/net/enic/enic.h
+++ b/drivers/net/enic/enic.h
@@ -32,7 +32,6 @@

 #define ENICPMD_SETTING(enic, f) ((enic->config.flags & VENETF_##f) ? 1 : 0)

-#define ENICPMD_BDF_LENGTH      13   /* 0000:00:00.0'\0' */
 #define ENIC_CALC_IP_CKSUM      1
 #define ENIC_CALC_TCP_UDP_CKSUM 2
 #define ENIC_MAX_MTU            9000
@@ -101,7 +100,7 @@ struct enic {
         bool overlay_offload;
         struct rte_eth_dev *rte_dev;
         struct rte_eth_dev_data *dev_data;
-       char bdf_name[ENICPMD_BDF_LENGTH];
+       char bdf_name[PCI_PRI_STR_SIZE];
         int dev_fd;
         int iommu_group_fd;
         int iommu_groupid;
diff --git a/drivers/net/enic/enic_ethdev.c b/drivers/net/enic/enic_ethdev.c
index a487256fa1..b04b6c9aa1 100644
--- a/drivers/net/enic/enic_ethdev.c
+++ b/drivers/net/enic/enic_ethdev.c
@@ -1274,7 +1274,7 @@ static int eth_enic_dev_init(struct rte_eth_dev *eth_dev,
         enic->pdev = pdev;
         addr = &pdev->addr;

-       snprintf(enic->bdf_name, ENICPMD_BDF_LENGTH, "%04x:%02x:%02x.%x",
+       snprintf(enic->bdf_name, PCI_PRI_STR_SIZE, PCI_PRI_FMT,
                 addr->domain, addr->bus, addr->devid, addr->function);

         err = enic_check_devargs(eth_dev);
diff --git a/drivers/net/enic/enic_vf_representor.c b/drivers/net/enic/enic_vf_representor.c
index 46f85964e9..5d8d29135c 100644
--- a/drivers/net/enic/enic_vf_representor.c
+++ b/drivers/net/enic/enic_vf_representor.c
@@ -707,7 +707,7 @@ int enic_vf_representor_init(struct rte_eth_dev *eth_dev, void *init_params)
         LIST_INIT(&vf_enic->memzone_list);
         rte_spinlock_init(&vf_enic->memzone_list_lock);
         addr = &vf->bdf;
-       snprintf(vf_enic->bdf_name, ENICPMD_BDF_LENGTH, "%04x:%02x:%02x.%x",
+       snprintf(vf_enic->bdf_name, PCI_PRI_STR_SIZE, PCI_PRI_FMT,
                  addr->domain, addr->bus, addr->devid, addr->function);
         return 0;
 }
diff --git a/drivers/net/hinic/hinic_pmd_ethdev.c b/drivers/net/hinic/hinic_pmd_ethdev.c
index adc9f75c81..d4978e0649 100644
--- a/drivers/net/hinic/hinic_pmd_ethdev.c
+++ b/drivers/net/hinic/hinic_pmd_ethdev.c
@@ -3086,7 +3086,7 @@ static int hinic_func_init(struct rte_eth_dev *eth_dev)

         snprintf(nic_dev->proc_dev_name,
                  sizeof(nic_dev->proc_dev_name),
-                "hinic-%.4x:%.2x:%.2x.%x",
+                "hinic-" PCI_PRI_FMT,
                  pci_dev->addr.domain, pci_dev->addr.bus,
                  pci_dev->addr.devid, pci_dev->addr.function);

@@ -3202,7 +3202,7 @@ static int hinic_dev_init(struct rte_eth_dev *eth_dev)

         pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);

-       PMD_DRV_LOG(INFO, "Initializing pf hinic-%.4x:%.2x:%.2x.%x in %s process",
+       PMD_DRV_LOG(INFO, "Initializing pf hinic-" PCI_PRI_FMT " in %s process",
                     pci_dev->addr.domain, pci_dev->addr.bus,
                     pci_dev->addr.devid, pci_dev->addr.function,
                     (rte_eal_process_type() == RTE_PROC_PRIMARY) ?
diff --git a/drivers/net/mlx5/linux/mlx5_os.c b/drivers/net/mlx5/linux/mlx5_os.c
index d5ef695e6d..0706e9e9b2 100644
--- a/drivers/net/mlx5/linux/mlx5_os.c
+++ b/drivers/net/mlx5/linux/mlx5_os.c
@@ -1952,7 +1952,7 @@ mlx5_device_bond_pci_match(const char *ibdev_name,
                                 ifindex, bond_info->ifindex, bond_info->ifname);
         }
         if (owner == 0 && pf != 0) {
-               DRV_LOG(INFO, "PCIe instance %04x:%02x:%02x.%x isn't bonding owner",
+               DRV_LOG(INFO, "PCIe instance " PCI_PRI_FMT " isn't bonding owner",
                                 pci_dev->domain, pci_dev->bus, pci_dev->devid,
                                 pci_dev->function);
         }
diff --git a/drivers/net/thunderx/nicvf_ethdev.c b/drivers/net/thunderx/nicvf_ethdev.c
index ab1e714d97..a504d41dfe 100644
--- a/drivers/net/thunderx/nicvf_ethdev.c
+++ b/drivers/net/thunderx/nicvf_ethdev.c
@@ -2218,7 +2218,7 @@ nicvf_eth_dev_init(struct rte_eth_dev *eth_dev)
         nic->subsystem_device_id = pci_dev->id.subsystem_device_id;
         nic->subsystem_vendor_id = pci_dev->id.subsystem_vendor_id;

-       PMD_INIT_LOG(DEBUG, "nicvf: device (%x:%x) %u:%u:%u:%u",
+       PMD_INIT_LOG(DEBUG, "nicvf: device (%x:%x) " PCI_PRI_FMT,
                         pci_dev->id.vendor_id, pci_dev->id.device_id,
                         pci_dev->addr.domain, pci_dev->addr.bus,
                         pci_dev->addr.devid, pci_dev->addr.function);
--
2.42.0

[-- Attachment #2: Type: text/html, Size: 15210 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/2] drivers: use macro for PCI address format
  2023-10-20  1:02   ` John Daley (johndale)
@ 2023-10-20  3:30     ` lihuisong (C)
  0 siblings, 0 replies; 7+ messages in thread
From: lihuisong (C) @ 2023-10-20  3:30 UTC (permalink / raw)
  To: John Daley (johndale), Thomas Monjalon, dev
  Cc: David Marchand, chenbox, Jerin Jacob, Michal Krawczyk,
	Shai Brandes, Evgeny Schemeilin, Igor Chauskin, Ron Beider,
	Hyong Youb Kim (hyonkim),
	Ziyang Xuan, Xiaoyun Wang, Guoyang Zhou, Matan Azrad,
	Viacheslav Ovsiienko, Ori Kam, Suanming Mou, Maciej Czekaj

lgtm,
Acked-by: Huisong Li <lihuisong@huawei.com>

在 2023/10/20 9:02, John Daley (johndale) 写道:
>
> Acked-by: John Daley <johndale@cisco.com>
>
> *From: *Thomas Monjalon <thomas@monjalon.net>
> *Date: *Thursday, October 19, 2023 at 8:41 AM
> *To: *dev@dpdk.org <dev@dpdk.org>
> *Cc: *David Marchand <david.marchand@redhat.com>, chenbox@nvidia.com 
> <chenbox@nvidia.com>, Jerin Jacob <jerinj@marvell.com>, Michal 
> Krawczyk <mk@semihalf.com>, Shai Brandes <shaibran@amazon.com>, Evgeny 
> Schemeilin <evgenys@amazon.com>, Igor Chauskin <igorch@amazon.com>, 
> Ron Beider <rbeider@amazon.com>, John Daley (johndale) 
> <johndale@cisco.com>, Hyong Youb Kim (hyonkim) <hyonkim@cisco.com>, 
> Ziyang Xuan <xuanziyang2@huawei.com>, Xiaoyun Wang 
> <cloud.wangxiaoyun@huawei.com>, Guoyang Zhou <zhouguoyang@huawei.com>, 
> Matan Azrad <matan@nvidia.com>, Viacheslav Ovsiienko 
> <viacheslavo@nvidia.com>, Ori Kam <orika@nvidia.com>, Suanming Mou 
> <suanmingm@nvidia.com>, Maciej Czekaj <mczekaj@marvell.com>
> *Subject: *[PATCH 1/2] drivers: use macro for PCI address format
>
> Some places were not using the macro PCI_PRI_FMT
> as print format of a PCI address.
>
> Note: RTE prefix is missing in the name of some PCI macros.
>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> ---
>  drivers/event/skeleton/skeleton_eventdev.c | 2 +-
>  drivers/net/ena/ena_ethdev.c               | 2 +-
>  drivers/net/enic/enic.h                    | 3 +--
>  drivers/net/enic/enic_ethdev.c             | 2 +-
>  drivers/net/enic/enic_vf_representor.c     | 2 +-
>  drivers/net/hinic/hinic_pmd_ethdev.c       | 4 ++--
>  drivers/net/mlx5/linux/mlx5_os.c           | 2 +-
>  drivers/net/thunderx/nicvf_ethdev.c        | 2 +-
>  8 files changed, 9 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/event/skeleton/skeleton_eventdev.c 
> b/drivers/event/skeleton/skeleton_eventdev.c
> index dc9b131641..dd2dab2e27 100644
> --- a/drivers/event/skeleton/skeleton_eventdev.c
> +++ b/drivers/event/skeleton/skeleton_eventdev.c
> @@ -373,7 +373,7 @@ skeleton_eventdev_init(struct rte_eventdev *eventdev)
>          skel->subsystem_device_id = pci_dev->id.subsystem_device_id;
>          skel->subsystem_vendor_id = pci_dev->id.subsystem_vendor_id;
>
> -       PMD_DRV_LOG(DEBUG, "pci device (%x:%x) %u:%u:%u:%u",
> +       PMD_DRV_LOG(DEBUG, "PCI device (%x:%x) " PCI_PRI_FMT,
>                          pci_dev->id.vendor_id, pci_dev->id.device_id,
>                          pci_dev->addr.domain, pci_dev->addr.bus,
>                          pci_dev->addr.devid, pci_dev->addr.function);
> diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c
> index 7345e480f8..b39ec629e7 100644
> --- a/drivers/net/ena/ena_ethdev.c
> +++ b/drivers/net/ena/ena_ethdev.c
> @@ -2125,7 +2125,7 @@ static int eth_ena_dev_init(struct rte_eth_dev 
> *eth_dev)
>
>          pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
>
> -       PMD_INIT_LOG(INFO, "Initializing %x:%x:%x.%d\n",
> +       PMD_INIT_LOG(INFO, "Initializing " PCI_PRI_FMT "\n",
>                       pci_dev->addr.domain,
>                       pci_dev->addr.bus,
>                       pci_dev->addr.devid,
> diff --git a/drivers/net/enic/enic.h b/drivers/net/enic/enic.h
> index 163a1f037e..78778704f2 100644
> --- a/drivers/net/enic/enic.h
> +++ b/drivers/net/enic/enic.h
> @@ -32,7 +32,6 @@
>
>  #define ENICPMD_SETTING(enic, f) ((enic->config.flags & VENETF_##f) ? 
> 1 : 0)
>
> -#define ENICPMD_BDF_LENGTH      13   /* 0000:00:00.0'\0' */
>  #define ENIC_CALC_IP_CKSUM      1
>  #define ENIC_CALC_TCP_UDP_CKSUM 2
>  #define ENIC_MAX_MTU            9000
> @@ -101,7 +100,7 @@ struct enic {
>          bool overlay_offload;
>          struct rte_eth_dev *rte_dev;
>          struct rte_eth_dev_data *dev_data;
> -       char bdf_name[ENICPMD_BDF_LENGTH];
> +       char bdf_name[PCI_PRI_STR_SIZE];
>          int dev_fd;
>          int iommu_group_fd;
>          int iommu_groupid;
> diff --git a/drivers/net/enic/enic_ethdev.c 
> b/drivers/net/enic/enic_ethdev.c
> index a487256fa1..b04b6c9aa1 100644
> --- a/drivers/net/enic/enic_ethdev.c
> +++ b/drivers/net/enic/enic_ethdev.c
> @@ -1274,7 +1274,7 @@ static int eth_enic_dev_init(struct rte_eth_dev 
> *eth_dev,
>          enic->pdev = pdev;
>          addr = &pdev->addr;
>
> -       snprintf(enic->bdf_name, ENICPMD_BDF_LENGTH, "%04x:%02x:%02x.%x",
> +       snprintf(enic->bdf_name, PCI_PRI_STR_SIZE, PCI_PRI_FMT,
>                  addr->domain, addr->bus, addr->devid, addr->function);
>
>          err = enic_check_devargs(eth_dev);
> diff --git a/drivers/net/enic/enic_vf_representor.c 
> b/drivers/net/enic/enic_vf_representor.c
> index 46f85964e9..5d8d29135c 100644
> --- a/drivers/net/enic/enic_vf_representor.c
> +++ b/drivers/net/enic/enic_vf_representor.c
> @@ -707,7 +707,7 @@ int enic_vf_representor_init(struct rte_eth_dev 
> *eth_dev, void *init_params)
>          LIST_INIT(&vf_enic->memzone_list);
> rte_spinlock_init(&vf_enic->memzone_list_lock);
>          addr = &vf->bdf;
> -       snprintf(vf_enic->bdf_name, ENICPMD_BDF_LENGTH, 
> "%04x:%02x:%02x.%x",
> +       snprintf(vf_enic->bdf_name, PCI_PRI_STR_SIZE, PCI_PRI_FMT,
>                   addr->domain, addr->bus, addr->devid, addr->function);
>          return 0;
>  }
> diff --git a/drivers/net/hinic/hinic_pmd_ethdev.c 
> b/drivers/net/hinic/hinic_pmd_ethdev.c
> index adc9f75c81..d4978e0649 100644
> --- a/drivers/net/hinic/hinic_pmd_ethdev.c
> +++ b/drivers/net/hinic/hinic_pmd_ethdev.c
> @@ -3086,7 +3086,7 @@ static int hinic_func_init(struct rte_eth_dev 
> *eth_dev)
>
>          snprintf(nic_dev->proc_dev_name,
>                   sizeof(nic_dev->proc_dev_name),
> -                "hinic-%.4x:%.2x:%.2x.%x",
> +                "hinic-" PCI_PRI_FMT,
>                   pci_dev->addr.domain, pci_dev->addr.bus,
>                   pci_dev->addr.devid, pci_dev->addr.function);
>
> @@ -3202,7 +3202,7 @@ static int hinic_dev_init(struct rte_eth_dev 
> *eth_dev)
>
>          pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
>
> -       PMD_DRV_LOG(INFO, "Initializing pf hinic-%.4x:%.2x:%.2x.%x in 
> %s process",
> +       PMD_DRV_LOG(INFO, "Initializing pf hinic-" PCI_PRI_FMT " in %s 
> process",
>                      pci_dev->addr.domain, pci_dev->addr.bus,
>                      pci_dev->addr.devid, pci_dev->addr.function,
>                      (rte_eal_process_type() == RTE_PROC_PRIMARY) ?
> diff --git a/drivers/net/mlx5/linux/mlx5_os.c 
> b/drivers/net/mlx5/linux/mlx5_os.c
> index d5ef695e6d..0706e9e9b2 100644
> --- a/drivers/net/mlx5/linux/mlx5_os.c
> +++ b/drivers/net/mlx5/linux/mlx5_os.c
> @@ -1952,7 +1952,7 @@ mlx5_device_bond_pci_match(const char *ibdev_name,
>                                  ifindex, bond_info->ifindex, 
> bond_info->ifname);
>          }
>          if (owner == 0 && pf != 0) {
> -               DRV_LOG(INFO, "PCIe instance %04x:%02x:%02x.%x isn't 
> bonding owner",
> +               DRV_LOG(INFO, "PCIe instance " PCI_PRI_FMT " isn't 
> bonding owner",
>                                  pci_dev->domain, pci_dev->bus, 
> pci_dev->devid,
> pci_dev->function);
>          }
> diff --git a/drivers/net/thunderx/nicvf_ethdev.c 
> b/drivers/net/thunderx/nicvf_ethdev.c
> index ab1e714d97..a504d41dfe 100644
> --- a/drivers/net/thunderx/nicvf_ethdev.c
> +++ b/drivers/net/thunderx/nicvf_ethdev.c
> @@ -2218,7 +2218,7 @@ nicvf_eth_dev_init(struct rte_eth_dev *eth_dev)
>          nic->subsystem_device_id = pci_dev->id.subsystem_device_id;
>          nic->subsystem_vendor_id = pci_dev->id.subsystem_vendor_id;
>
> -       PMD_INIT_LOG(DEBUG, "nicvf: device (%x:%x) %u:%u:%u:%u",
> +       PMD_INIT_LOG(DEBUG, "nicvf: device (%x:%x) " PCI_PRI_FMT,
>                          pci_dev->id.vendor_id, pci_dev->id.device_id,
>                          pci_dev->addr.domain, pci_dev->addr.bus,
>                          pci_dev->addr.devid, pci_dev->addr.function);
> -- 
> 2.42.0
>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 0/2] small cleanup - use PCI lib
  2023-10-19 15:31 [PATCH 0/2] small cleanup - use PCI lib Thomas Monjalon
  2023-10-19 15:31 ` [PATCH 1/2] drivers: use macro for PCI address format Thomas Monjalon
  2023-10-19 15:31 ` [PATCH 2/2] drivers: use function to compare PCI addresses Thomas Monjalon
@ 2023-10-29  8:54 ` Thomas Monjalon
  2 siblings, 0 replies; 7+ messages in thread
From: Thomas Monjalon @ 2023-10-29  8:54 UTC (permalink / raw)
  To: dev; +Cc: David Marchand, chenbox

19/10/2023 17:31, Thomas Monjalon:
> Some drivers could use more the PCI lib facilities.
> 
> Thomas Monjalon (2):
>   drivers: use macro for PCI address format
>   drivers: use function to compare PCI addresses

Applied




^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2023-10-29  8:54 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-10-19 15:31 [PATCH 0/2] small cleanup - use PCI lib Thomas Monjalon
2023-10-19 15:31 ` [PATCH 1/2] drivers: use macro for PCI address format Thomas Monjalon
2023-10-20  1:02   ` John Daley (johndale)
2023-10-20  3:30     ` lihuisong (C)
2023-10-19 15:31 ` [PATCH 2/2] drivers: use function to compare PCI addresses Thomas Monjalon
2023-10-19 16:04   ` Long Li
2023-10-29  8:54 ` [PATCH 0/2] small cleanup - use PCI lib Thomas Monjalon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).