DPDK patches and discussions
 help / color / mirror / Atom feed
From: Pavan Nikhilesh Bhagavatula <pbhagavatula@marvell.com>
To: Pavan Nikhilesh Bhagavatula <pbhagavatula@marvell.com>,
	Jerin Jacob <jerinj@marvell.com>,
	"fengchengwen@huawei.com" <fengchengwen@huawei.com>,
	"kevin.laatz@intel.com" <kevin.laatz@intel.com>,
	"bruce.richardson@intel.com" <bruce.richardson@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: RE: [RFC v2 0/3] Introduce DMA enqueue/dequeue operations
Date: Wed, 26 Mar 2025 19:39:41 +0000	[thread overview]
Message-ID: <CO6PR18MB4084CB125E5C62AE88E44844DEA62@CO6PR18MB4084.namprd18.prod.outlook.com> (raw)
In-Reply-To: <20250326193637.12557-1-pbhagavatula@marvell.com>

++

> -----Original Message-----
> From: pbhagavatula@marvell.com <pbhagavatula@marvell.com>
> Sent: Thursday, March 27, 2025 1:07 AM
> To: Jerin Jacob <jerinj@marvell.com>
> Cc: dev@dpdk.org; Pavan Nikhilesh Bhagavatula
> <pbhagavatula@marvell.com>
> Subject: [RFC v2 0/3] Introduce DMA enqueue/dequeue operations
> 
> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
> 
> Introduce DMA enqueue/dequeue operations to the DMA device library.
> 
> The enqueue/dequeue operations allow applications to communicate with the
> DMA device using the rte_dma_op structure, providing a more flexible and
> efficient way to manage DMA operations.
> 
> The programming model for the enqueue/dequeue operations is as follows:
> 
> * Query DMA devices capability for RTE_DMA_CAPA_OPS_ENQ_DEQ through
>   rte_dma_info::dev_capa.
> * Enable enqueue/dequeue operations on DMA device by enabling
>   rte_dma_conf::enable_enq_deq during device configuration.
> * Allocate a mempool for rte_dma_ops with object size of
>   rte_dma_op + (sizeof(struct rte_dma_sge) * rte_dma_info::max_sges * 2).
> * Configure vchans and start the dma device.
> * Get an rte_dma_op from the mempool, fill it with the necessary
>   information and use rte_dma_enqueue() to enqueue the operation.
> * Call rte_dma_dequeue() operation to get the array of finished operations.
> * Free the rte_dma_op back to the mempool.
> 
> The enqueue dequeue operations are not compatible with rte_dma_copy,
> rte_dma_copy_sg, rte_dma_fill, rte_dma_submit, rte_dma_completed and
> rte_dma_completed_status range of APIs.
> 
> Pavan Nikhilesh (3):
>   dmadev: add enqueue dequeue operations
>   dma/cnxk: implement enqueue dequeue ops
>   eventdev: refactor DMA adapter ops
> 
>  app/test-eventdev/test_perf_common.c          |   6 +-
>  app/test-eventdev/test_perf_common.h          |   4 +-
>  app/test/test_event_dma_adapter.c             |   6 +-
>  .../prog_guide/eventdev/event_dma_adapter.rst |   6 +-
>  drivers/dma/cnxk/cnxk_dmadev.c                |  27 +++-
>  drivers/dma/cnxk/cnxk_dmadev.h                |   7 +
>  drivers/dma/cnxk/cnxk_dmadev_fp.c             | 152 +++++++++++++++++-
>  lib/dmadev/rte_dmadev.c                       |  18 +++
>  lib/dmadev/rte_dmadev.h                       | 145 +++++++++++++++++
>  lib/dmadev/rte_dmadev_core.h                  |  10 ++
>  lib/dmadev/rte_dmadev_trace_fp.h              |  20 +++
>  lib/dmadev/rte_dmadev_trace_points.c          |   6 +
>  lib/eventdev/rte_event_dma_adapter.c          |  18 +--
>  lib/eventdev/rte_event_dma_adapter.h          |  57 -------
>  14 files changed, 397 insertions(+), 85 deletions(-)
> 
> --
> 2.43.0


      parent reply	other threads:[~2025-03-26 19:39 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-29 14:36 [PATCH RFC 1/4] dmadev: add enqueue dequeue operations Kommula Shiva Shankar
2025-01-29 14:36 ` [PATCH RFC 2/4] eventdev: refactor rte_event_dma_adapater_op calls Kommula Shiva Shankar
2025-02-25 14:11   ` Amit Prakash Shukla
2025-01-29 14:36 ` [PATCH RFC 3/4] doc: update prog guide to use rte_dma_op Kommula Shiva Shankar
2025-02-25 14:13   ` Amit Prakash Shukla
2025-01-29 14:36 ` [PATCH RFC 4/4] dma/cnxk: implement enqueue dequeue ops Kommula Shiva Shankar
2025-03-26 19:36 ` [RFC v2 0/3] Introduce DMA enqueue/dequeue operations pbhagavatula
2025-03-26 19:36   ` [RFC v2 1/3] dmadev: add enqueue dequeue operations pbhagavatula
2025-03-26 19:36   ` [RFC v2 2/3] dma/cnxk: implement enqueue dequeue ops pbhagavatula
2025-03-26 19:36   ` [RFC v2 3/3] eventdev: refactor DMA adapter ops pbhagavatula
2025-03-26 19:39   ` Pavan Nikhilesh Bhagavatula [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CO6PR18MB4084CB125E5C62AE88E44844DEA62@CO6PR18MB4084.namprd18.prod.outlook.com \
    --to=pbhagavatula@marvell.com \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=fengchengwen@huawei.com \
    --cc=jerinj@marvell.com \
    --cc=kevin.laatz@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).