[v2,1/3] dmadev: hide devices array
Checks
Commit Message
From: David Marchand <david.marchand@redhat.com>
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>
Reviewed-by: Chengwen Feng <fengchengwen@huawei.com>
Tested-by: Conor Walsh <conor.walsh@intel.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 21/10/2021 13:59, Chengwen Feng wrote:
> From: David Marchand <david.marchand@redhat.com>
>
> 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>
> Reviewed-by: Chengwen Feng <fengchengwen@huawei.com>
> Tested-by: Conor Walsh <conor.walsh@intel.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(-)
>
Acked-by: Kevin Laatz <kevin.laatz@intel.com>
On Thu, Oct 21, 2021 at 7:04 AM Kevin Laatz <kevin.laatz@intel.com> wrote:
>
> On 21/10/2021 13:59, Chengwen Feng wrote:
> > From: David Marchand <david.marchand@redhat.com>
> >
> > 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.
I asked this earlier and was asked to use rte_dma_devices[] array by Kevin.
Now that it has been made static is there a different way to get the
fp_obj->private_data from a PMD .remove function ?
I need the private data for DMA queue state cleanup.
> >
> > Signed-off-by: David Marchand <david.marchand@redhat.com>
> > Reviewed-by: Chengwen Feng <fengchengwen@huawei.com>
> > Tested-by: Conor Walsh <conor.walsh@intel.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(-)
> >
>
> Acked-by: Kevin Laatz <kevin.laatz@intel.com>
On 2021/10/26 14:04, Radha Mohan wrote:
> On Thu, Oct 21, 2021 at 7:04 AM Kevin Laatz <kevin.laatz@intel.com> wrote:
>>
>> On 21/10/2021 13:59, Chengwen Feng wrote:
>>> From: David Marchand <david.marchand@redhat.com>
>>>
>>> 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.
>
> I asked this earlier and was asked to use rte_dma_devices[] array by Kevin.
> Now that it has been made static is there a different way to get the
> fp_obj->private_data from a PMD .remove function ?
> I need the private data for DMA queue state cleanup.
PMD .remove function just call rte_dma_pmd_release() and it's will
invoke PMD .dev_close ops:
rte_dma_pmd_release()
--> rte_dma_close()
--> PMD .dev_close ops
PMD could implemente cleanup in dev_close ops.
If the PMD want support multi-process, just make sure only the primary
could do really cleanup in the dev_close ops.
>
>>>
>>> Signed-off-by: David Marchand <david.marchand@redhat.com>
>>> Reviewed-by: Chengwen Feng <fengchengwen@huawei.com>
>>> Tested-by: Conor Walsh <conor.walsh@intel.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(-)
>>>
>>
>> Acked-by: Kevin Laatz <kevin.laatz@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;