Signed-off-by: speech_white <humin29@huawei.com> (cherry picked from commit 39c2c5154122fef74060ffd6dbbe8cd4fdd9d21b)
80 lines
2.7 KiB
Diff
80 lines
2.7 KiB
Diff
From 033904450b1d52fd3d09e2bb53e529e3ba0ecf77 Mon Sep 17 00:00:00 2001
|
|
From: Chengwen Feng <fengchengwen@huawei.com>
|
|
Date: Thu, 17 Feb 2022 10:59:11 +0800
|
|
Subject: [PATCH] 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 <fengchengwen@huawei.com>
|
|
---
|
|
doc/guides/dmadevs/hisilicon.rst | 4 ++--
|
|
drivers/dma/hisilicon/hisi_dmadev.c | 23 +++++++----------------
|
|
2 files changed, 9 insertions(+), 18 deletions(-)
|
|
|
|
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);
|
|
--
|
|
2.33.0
|
|
|