[v1,1/2] dmadev: add DMA operation structure
Checks
Commit Message
For the event based DMA transfer, all the required parameters are to
be sent as part of a structure. This patch adds a structure
containing the parameters for event based DMA operation.
Signed-off-by: Amit Prakash Shukla <amitprakashs@marvell.com>
---
lib/dmadev/rte_dmadev.h | 12 ++++++++++++
1 file changed, 12 insertions(+)
Comments
On Mon, Sep 18, 2023 at 06:02:26PM +0530, Amit Prakash Shukla wrote:
> For the event based DMA transfer, all the required parameters are to
> be sent as part of a structure. This patch adds a structure
> containing the parameters for event based DMA operation.
>
> Signed-off-by: Amit Prakash Shukla <amitprakashs@marvell.com>
> ---
> lib/dmadev/rte_dmadev.h | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/lib/dmadev/rte_dmadev.h b/lib/dmadev/rte_dmadev.h
> index b157ab7600..bf8db2d28d 100644
> --- a/lib/dmadev/rte_dmadev.h
> +++ b/lib/dmadev/rte_dmadev.h
> @@ -794,6 +794,18 @@ struct rte_dma_sge {
> uint32_t length; /**< The DMA operation length. */
> };
>
> +/**
> + * A structure used to hold event based DMA operation request entry.
> + */
> +struct rte_dma_op {
Would it be better called rte_dma_event_op, if it's just for use with
eventdev?
> + struct rte_dma_sge *src_seg; /**< Source segments. */
> + struct rte_dma_sge *dst_seg; /**< Destination segments. */
> + uint16_t nb_src; /**< Number of source segments. */
> + uint16_t nb_dst; /**< Number of destination segments. */
> + uint64_t flags; /**< Flags related to the operation. */
> + struct rte_mempool *op_mp; /**< Mempool from which op is allocated. */
> +};
> +
> #include "rte_dmadev_core.h"
>
> /**@{@name DMA operation flag
> --
> 2.25.1
>
Hi Bruce,
Thanks for the review. Please see my reply in-line.
> -----Original Message-----
> From: Bruce Richardson <bruce.richardson@intel.com>
> Sent: Monday, September 18, 2023 6:30 PM
> To: Amit Prakash Shukla <amitprakashs@marvell.com>
> Cc: Chengwen Feng <fengchengwen@huawei.com>; Kevin Laatz
> <kevin.laatz@intel.com>; dev@dpdk.org; Jerin Jacob Kollanukkaran
> <jerinj@marvell.com>; mb@smartsharesystems.com;
> conor.walsh@intel.com; Vamsi Krishna Attunuru <vattunuru@marvell.com>;
> g.singh@nxp.com; sachin.saxena@oss.nxp.com; hemant.agrawal@nxp.com;
> cheng1.jiang@intel.com; Nithin Kumar Dabilpuram
> <ndabilpuram@marvell.com>; Anoob Joseph <anoobj@marvell.com>
> Subject: [EXT] Re: [PATCH v1 1/2] dmadev: add DMA operation structure
>
> External Email
>
> ----------------------------------------------------------------------
> On Mon, Sep 18, 2023 at 06:02:26PM +0530, Amit Prakash Shukla wrote:
> > For the event based DMA transfer, all the required parameters are to
> > be sent as part of a structure. This patch adds a structure containing
> > the parameters for event based DMA operation.
> >
> > Signed-off-by: Amit Prakash Shukla <amitprakashs@marvell.com>
> > ---
> > lib/dmadev/rte_dmadev.h | 12 ++++++++++++
> > 1 file changed, 12 insertions(+)
> >
> > diff --git a/lib/dmadev/rte_dmadev.h b/lib/dmadev/rte_dmadev.h index
> > b157ab7600..bf8db2d28d 100644
> > --- a/lib/dmadev/rte_dmadev.h
> > +++ b/lib/dmadev/rte_dmadev.h
> > @@ -794,6 +794,18 @@ struct rte_dma_sge {
> > uint32_t length; /**< The DMA operation length. */ };
> >
> > +/**
> > + * A structure used to hold event based DMA operation request entry.
> > + */
> > +struct rte_dma_op {
>
> Would it be better called rte_dma_event_op, if it's just for use with
> eventdev?
Yeah, this is used only for the eventdev. I will rename it to rte_event_dma_adapter_op and move this structure to rte_event_dma_adapter header file as part of dma adapter eventdev series.
I will send v2 for this series. Thanks!
>
> > + struct rte_dma_sge *src_seg; /**< Source segments. */
> > + struct rte_dma_sge *dst_seg; /**< Destination segments. */
> > + uint16_t nb_src; /**< Number of source segments. */
> > + uint16_t nb_dst; /**< Number of destination segments. */
> > + uint64_t flags; /**< Flags related to the operation. */
> > + struct rte_mempool *op_mp; /**< Mempool from which op is
> allocated. */
> > +};
> > +
> > #include "rte_dmadev_core.h"
> >
> > /**@{@name DMA operation flag
> > --
> > 2.25.1
> >
@@ -794,6 +794,18 @@ struct rte_dma_sge {
uint32_t length; /**< The DMA operation length. */
};
+/**
+ * A structure used to hold event based DMA operation request entry.
+ */
+struct rte_dma_op {
+ struct rte_dma_sge *src_seg; /**< Source segments. */
+ struct rte_dma_sge *dst_seg; /**< Destination segments. */
+ uint16_t nb_src; /**< Number of source segments. */
+ uint16_t nb_dst; /**< Number of destination segments. */
+ uint64_t flags; /**< Flags related to the operation. */
+ struct rte_mempool *op_mp; /**< Mempool from which op is allocated. */
+};
+
#include "rte_dmadev_core.h"
/**@{@name DMA operation flag