[dpdk-dev,v3,09/11] mempool/dpaa: prepare to remove register memory area op

Message ID 1522080591-24705-10-git-send-email-arybchenko@solarflare.com (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation fail apply issues

Commit Message

Andrew Rybchenko March 26, 2018, 4:09 p.m. UTC
  Populate mempool driver callback is executed a bit later than
register memory area, provides the same information and will
substitute the later since it gives more flexibility and in addition
to notification about memory area allows to customize how mempool
objects are stored in memory.

Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
---
v2 -> v3:
 - fix build error because of prototype mismatch (char * -> void *)

v1 -> v2:
 - fix build error because of prototype mismatch

 drivers/mempool/dpaa/dpaa_mempool.c | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)
  

Comments

Hemant Agrawal April 5, 2018, 8:25 a.m. UTC | #1
On 3/26/2018 9:39 PM, Andrew Rybchenko wrote:
> Populate mempool driver callback is executed a bit later than
> register memory area, provides the same information and will
> substitute the later since it gives more flexibility and in addition
> to notification about memory area allows to customize how mempool
> objects are stored in memory.
> 
> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
> ---
> v2 -> v3:
>   - fix build error because of prototype mismatch (char * -> void *)
> 
> v1 -> v2:
>   - fix build error because of prototype mismatch
> 
>   drivers/mempool/dpaa/dpaa_mempool.c | 13 +++++++------
>   1 file changed, 7 insertions(+), 6 deletions(-)
> 
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
  

Patch

diff --git a/drivers/mempool/dpaa/dpaa_mempool.c b/drivers/mempool/dpaa/dpaa_mempool.c
index 7b82f4b..580e464 100644
--- a/drivers/mempool/dpaa/dpaa_mempool.c
+++ b/drivers/mempool/dpaa/dpaa_mempool.c
@@ -264,10 +264,9 @@  dpaa_mbuf_get_count(const struct rte_mempool *mp)
 }
 
 static int
-dpaa_register_memory_area(const struct rte_mempool *mp,
-			  char *vaddr __rte_unused,
-			  rte_iova_t paddr __rte_unused,
-			  size_t len)
+dpaa_populate(struct rte_mempool *mp, unsigned int max_objs,
+	      void *vaddr, rte_iova_t paddr, size_t len,
+	      rte_mempool_populate_obj_cb_t *obj_cb, void *obj_cb_arg)
 {
 	struct dpaa_bp_info *bp_info;
 	unsigned int total_elt_sz;
@@ -289,7 +288,9 @@  dpaa_register_memory_area(const struct rte_mempool *mp,
 	if (len >= total_elt_sz * mp->size)
 		bp_info->flags |= DPAA_MPOOL_SINGLE_SEGMENT;
 
-	return 0;
+	return rte_mempool_op_populate_default(mp, max_objs, vaddr, paddr, len,
+					       obj_cb, obj_cb_arg);
+
 }
 
 struct rte_mempool_ops dpaa_mpool_ops = {
@@ -299,7 +300,7 @@  struct rte_mempool_ops dpaa_mpool_ops = {
 	.enqueue = dpaa_mbuf_free_bulk,
 	.dequeue = dpaa_mbuf_alloc_bulk,
 	.get_count = dpaa_mbuf_get_count,
-	.register_memory_area = dpaa_register_memory_area,
+	.populate = dpaa_populate,
 };
 
 MEMPOOL_REGISTER_OPS(dpaa_mpool_ops);