mempool/cnxk: register plt init callback
authorAshwin Sekhar T K <asekhar@marvell.com>
Thu, 8 Apr 2021 09:50:42 +0000 (15:20 +0530)
committerJerin Jacob <jerinj@marvell.com>
Fri, 9 Apr 2021 06:32:24 +0000 (08:32 +0200)
Register the CNXk mempool plt init callback which will set the
appropriate mempool ops to be used for the platform.

Signed-off-by: Ashwin Sekhar T K <asekhar@marvell.com>
drivers/mempool/cnxk/cnxk_mempool_ops.c

index 2ce1816..e8f64be 100644 (file)
@@ -2,6 +2,7 @@
  * Copyright(C) 2021 Marvell.
  */
 
+#include <rte_mbuf_pool_ops.h>
 #include <rte_mempool.h>
 
 #include "roc_api.h"
@@ -169,3 +170,17 @@ cnxk_mempool_populate(struct rte_mempool *mp, unsigned int max_objs,
                mp, RTE_MEMPOOL_POPULATE_F_ALIGN_OBJ, max_objs, vaddr, iova,
                len, obj_cb, obj_cb_arg);
 }
+
+static int
+cnxk_mempool_plt_init(void)
+{
+       if (roc_model_is_cn10k() || roc_model_is_cn9k())
+               rte_mbuf_set_platform_mempool_ops("cnxk_mempool_ops");
+
+       return 0;
+}
+
+RTE_INIT(cnxk_mempool_ops_init)
+{
+       roc_plt_init_cb_register(cnxk_mempool_plt_init);
+}