[v1,1/2] dmadev: add DMA operation structure

Message ID 20230918123227.1562074-1-amitprakashs@marvell.com (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers
Series [v1,1/2] dmadev: add DMA operation structure |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Amit Prakash Shukla Sept. 18, 2023, 12:32 p.m. UTC
  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

Bruce Richardson Sept. 18, 2023, 12:59 p.m. UTC | #1
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
>
  
Amit Prakash Shukla Sept. 18, 2023, 1:42 p.m. UTC | #2
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
> >
  

Patch

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 {
+	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