[1/2] dmadev: hide devices array
Checks
Commit Message
No need to expose rte_dma_devices out of the dmadev library.
Existing helpers should be enough, and inlines make use of
rte_dma_fp_objs.
Signed-off-by: David Marchand <david.marchand@redhat.com>
---
app/test/test_dmadev.c | 5 +++--
lib/dmadev/rte_dmadev.c | 2 +-
lib/dmadev/rte_dmadev_pmd.h | 2 --
lib/dmadev/version.map | 1 -
4 files changed, 4 insertions(+), 6 deletions(-)
Comments
On 2021/10/20 14:59, David Marchand wrote:
> No need to expose rte_dma_devices out of the dmadev library.
> Existing helpers should be enough, and inlines make use of
> rte_dma_fp_objs.
>
> Signed-off-by: David Marchand <david.marchand@redhat.com>
> ---
> app/test/test_dmadev.c | 5 +++--
> lib/dmadev/rte_dmadev.c | 2 +-
> lib/dmadev/rte_dmadev_pmd.h | 2 --
> lib/dmadev/version.map | 1 -
> 4 files changed, 4 insertions(+), 6 deletions(-)
>
> diff --git a/app/test/test_dmadev.c b/app/test/test_dmadev.c
> index 1e327bd45f..8b58256afc 100644
> --- a/app/test/test_dmadev.c
> +++ b/app/test/test_dmadev.c
> @@ -747,10 +747,11 @@ test_dmadev_instance(int16_t dev_id)
> };
> const int vchan = 0;
>
> + rte_dma_info_get(dev_id, &info);
suggest declare info as: struct rte_dma_stats info = { 0 };
so that the following %s will display NULL if rte_dma_info_get call fail.
anyway,
Reviewed-by: Chengwen Feng <fengchengwen@huawei.com>
> +
> printf("\n### Test dmadev instance %u [%s]\n",
> - dev_id, rte_dma_devices[dev_id].data->dev_name);
> + dev_id, info.dev_name);
>
> - rte_dma_info_get(dev_id, &info);
> if (info.max_vchans < 1)
> ERR_RETURN("Error, no channels available on device id %u\n", dev_id);
>
> diff --git a/lib/dmadev/rte_dmadev.c b/lib/dmadev/rte_dmadev.c
> index 182d32aedb..d4b32b2971 100644
[snip]
On Wed, Oct 20, 2021 at 11:47 AM fengchengwen <fengchengwen@huawei.com> wrote:
>
> On 2021/10/20 14:59, David Marchand wrote:
> > No need to expose rte_dma_devices out of the dmadev library.
> > Existing helpers should be enough, and inlines make use of
> > rte_dma_fp_objs.
> >
> > Signed-off-by: David Marchand <david.marchand@redhat.com>
> > ---
> > app/test/test_dmadev.c | 5 +++--
> > lib/dmadev/rte_dmadev.c | 2 +-
> > lib/dmadev/rte_dmadev_pmd.h | 2 --
> > lib/dmadev/version.map | 1 -
> > 4 files changed, 4 insertions(+), 6 deletions(-)
> >
> > diff --git a/app/test/test_dmadev.c b/app/test/test_dmadev.c
> > index 1e327bd45f..8b58256afc 100644
> > --- a/app/test/test_dmadev.c
> > +++ b/app/test/test_dmadev.c
> > @@ -747,10 +747,11 @@ test_dmadev_instance(int16_t dev_id)
> > };
> > const int vchan = 0;
> >
> > + rte_dma_info_get(dev_id, &info);
>
> suggest declare info as: struct rte_dma_stats info = { 0 };
> so that the following %s will display NULL if rte_dma_info_get call fail.
The problem is more generic.
Other info fields are used by the test.
If rte_dma_info_get can fail, its return code must be checked.
Worth a followup patch, can you send it?
Thanks.
> Subject: [dpdk-dev] [PATCH 1/2] dmadev: hide devices array
>
> No need to expose rte_dma_devices out of the dmadev library.
> Existing helpers should be enough, and inlines make use of
> rte_dma_fp_objs.
>
> Signed-off-by: David Marchand <david.marchand@redhat.com>
> ---
The devices array is not needed by the drivers.
From a drivers point of view:
Tested-by: Conor Walsh <conor.walsh@intel.com>
@@ -747,10 +747,11 @@ test_dmadev_instance(int16_t dev_id)
};
const int vchan = 0;
+ rte_dma_info_get(dev_id, &info);
+
printf("\n### Test dmadev instance %u [%s]\n",
- dev_id, rte_dma_devices[dev_id].data->dev_name);
+ dev_id, info.dev_name);
- rte_dma_info_get(dev_id, &info);
if (info.max_vchans < 1)
ERR_RETURN("Error, no channels available on device id %u\n", dev_id);
@@ -18,7 +18,7 @@
static int16_t dma_devices_max;
struct rte_dma_fp_object *rte_dma_fp_objs;
-struct rte_dma_dev *rte_dma_devices;
+static struct rte_dma_dev *rte_dma_devices;
static struct {
/* Hold the dev_max information of the primary process. This field is
* set by the primary process and is read by the secondary process.
@@ -131,8 +131,6 @@ struct rte_dma_dev {
uint64_t reserved[2]; /**< Reserved for future fields. */
} __rte_cache_aligned;
-extern struct rte_dma_dev *rte_dma_devices;
-
/**
* @internal
* Allocate a new dmadev slot for an DMA device and return the pointer to that
@@ -30,7 +30,6 @@ EXPERIMENTAL {
INTERNAL {
global:
- rte_dma_devices;
rte_dma_fp_objs;
rte_dma_pmd_allocate;
rte_dma_pmd_release;