[5/5] dma/hisilicon: use EAL API to generate dmadev name

Message ID 20220217025911.35822-6-fengchengwen@huawei.com (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers
Series add Kunpeng930 DMA devices |

Checks

Context Check Description
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/github-robot: build success github build: passed
ci/iol-abi-testing success Testing PASS
ci/iol-x86_64-compile-testing success Testing PASS
ci/iol-aarch64-unit-testing success Testing PASS
ci/iol-aarch64-compile-testing success Testing PASS
ci/iol-x86_64-unit-testing success Testing PASS

Commit Message

fengchengwen Feb. 17, 2022, 2:59 a.m. UTC
  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 <fengchengwen@huawei.com>
---
 doc/guides/dmadevs/hisilicon.rst    |  4 ++--
 drivers/dma/hisilicon/hisi_dmadev.c | 23 +++++++----------------
 2 files changed, 9 insertions(+), 18 deletions(-)
  

Patch

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);