From: Chengwen Feng Date: Thu, 17 Feb 2022 02:59:11 +0000 (+0800) Subject: dma/hisilicon: use common PCI device naming X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=033904450b1d52fd3d09e2bb53e529e3ba0ecf77;p=dpdk.git dma/hisilicon: use common PCI device naming For DMA device 0000:7d:0.0, the original generated dmadev name starts with the "7d:0.0", which is not expected. This patch uses rte_pci_device_name API to generates the dmadev name. Cc: stable@dpdk.org Signed-off-by: Chengwen Feng --- diff --git a/doc/guides/dmadevs/hisilicon.rst b/doc/guides/dmadevs/hisilicon.rst index 81bf090311..8c1f0f8886 100644 --- a/doc/guides/dmadevs/hisilicon.rst +++ b/doc/guides/dmadevs/hisilicon.rst @@ -30,8 +30,8 @@ which can be accessed using API from the ``rte_dmadev`` library. The name of the ``dmadev`` created is like "B:D.F-chX", e.g. DMA 0000:7b:00.0 will create four ``dmadev``, -the 1st ``dmadev`` name is "7b:00.0-ch0", -and the 2nd ``dmadev`` name is "7b:00.0-ch1". +the 1st ``dmadev`` name is "0000:7b:00.0-ch0", +and the 2nd ``dmadev`` name is "0000:7b:00.0-ch1". Device Configuration ~~~~~~~~~~~~~~~~~~~~~ diff --git a/drivers/dma/hisilicon/hisi_dmadev.c b/drivers/dma/hisilicon/hisi_dmadev.c index c36acf01be..9cef2cbfbe 100644 --- a/drivers/dma/hisilicon/hisi_dmadev.c +++ b/drivers/dma/hisilicon/hisi_dmadev.c @@ -784,24 +784,15 @@ hisi_dma_burst_capacity(const void *dev_private, uint16_t vchan) sq_head - 1 - sq_tail; } -static void -hisi_dma_gen_pci_device_name(const struct rte_pci_device *pci_dev, - char *name, size_t size) -{ - memset(name, 0, size); - (void)snprintf(name, size, "%x:%x.%x", - pci_dev->addr.bus, pci_dev->addr.devid, - pci_dev->addr.function); -} - static void hisi_dma_gen_dev_name(const struct rte_pci_device *pci_dev, - uint8_t queue_id, char *name, size_t size) + uint8_t queue_id, char *dev_name, size_t size) { - memset(name, 0, size); - (void)snprintf(name, size, "%x:%x.%x-ch%u", - pci_dev->addr.bus, pci_dev->addr.devid, - pci_dev->addr.function, queue_id); + char name[RTE_DEV_NAME_MAX_LEN] = { 0 }; + + memset(dev_name, 0, size); + rte_pci_device_name(&pci_dev->addr, name, sizeof(name)); + (void)snprintf(dev_name, size, "%s-ch%u", name, queue_id); } /** @@ -917,7 +908,7 @@ hisi_dma_probe(struct rte_pci_driver *pci_drv __rte_unused, uint8_t i; int ret; - hisi_dma_gen_pci_device_name(pci_dev, name, sizeof(name)); + rte_pci_device_name(&pci_dev->addr, name, sizeof(name)); if (pci_dev->mem_resource[2].addr == NULL) { HISI_DMA_LOG(ERR, "%s BAR2 is NULL!\n", name);