@@ -2,6 +2,7 @@
*
* Copyright 2011 Freescale Semiconductor, Inc.
* All rights reserved.
+ * Copyright 2019 NXP
*
*/
@@ -40,6 +41,7 @@
#include <rte_common.h>
#include <rte_debug.h>
#include <rte_cycles.h>
+#include <rte_malloc.h>
/* The following definitions are primarily to allow the single-source driver
* interfaces to be included by arbitrary program code. Ie. for interfaces that
@@ -339,12 +341,12 @@ static inline void copy_bytes(void *dest, const void *src, size_t sz)
#endif
/* Allocator stuff */
-#define kmalloc(sz, t) malloc(sz)
-#define vmalloc(sz) malloc(sz)
-#define kfree(p) { if (p) free(p); }
+#define kmalloc(sz, t) rte_malloc(NULL, sz, 0)
+#define vmalloc(sz) rte_malloc(NULL, sz, 0)
+#define kfree(p) { if (p) rte_free(p); }
static inline void *kzalloc(size_t sz, gfp_t __foo __rte_unused)
{
- void *ptr = malloc(sz);
+ void *ptr = rte_malloc(NULL, sz, 0);
if (ptr)
memset(ptr, 0, sz);
@@ -1,6 +1,6 @@
/* SPDX-License-Identifier: BSD-3-Clause
*
- * Copyright 2017 NXP
+ * Copyright 2017,2019 NXP
*
*/
@@ -51,6 +51,15 @@ dpaa_mbuf_create_pool(struct rte_mempool *mp)
MEMPOOL_INIT_FUNC_TRACE();
+ if (unlikely(!RTE_PER_LCORE(dpaa_io))) {
+ ret = rte_dpaa_portal_init((void *)0);
+ if (ret) {
+ DPAA_MEMPOOL_ERR(
+ "rte_dpaa_portal_init failed with ret: %d",
+ ret);
+ return -1;
+ }
+ }
bp = bman_new_pool(¶ms);
if (!bp) {
DPAA_MEMPOOL_ERR("bman_new_pool() failed");