* [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
* 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
* [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 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).