[dpdk-dev] [RFC PATCH] dmadev: introduce DMA device library

Bruce Richardson bruce.richardson at intel.com
Wed Jun 16 15:11:36 CEST 2021


On Wed, Jun 16, 2021 at 02:14:54PM +0200, David Marchand wrote:
> On Tue, Jun 15, 2021 at 3:25 PM Chengwen Feng <fengchengwen at huawei.com> wrote:
> > +
> > +#define RTE_DMADEV_NAME_MAX_LEN        (64)
> > +/**< @internal Max length of name of DMA PMD */
> > +
> > +/** @internal
> > + * The data structure associated with each DMA device.
> > + */
> > +struct rte_dmadev {
> > +       /**< Device ID for this instance */
> > +       uint16_t dev_id;
> > +       /**< Functions exported by PMD */
> > +       const struct rte_dmadev_ops *dev_ops;
> > +       /**< Device info. supplied during device initialization */
> > +       struct rte_device *device;
> > +       /**< Driver info. supplied by probing */
> > +       const char *driver_name;
> > +
> > +       /**< Device name */
> > +       char name[RTE_DMADEV_NAME_MAX_LEN];
> > +} __rte_cache_aligned;
> > +
> 
> I see no queue/channel notion.
> How does a rte_dmadev object relate to a physical hw engine?
> 
One queue, one device.
When looking to update the ioat driver for 20.11 release when I added the
idxd part, I considered adding a queue parameter to the API to look like
one device with multiple queues. However, since each queue acts completely
independently of each other, there was no benefit to doing so. It's just
easier to have a single id to identify a device queue.


More information about the dev mailing list