bus/dpaa: update mempool for secondary process

1. need to use the bpool with rte_malloc instead of rte_free
2. Option to give portal to the secondary process thread.

Signed-off-by: Radu Bulie <radu-andrei.bulie@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Tested-by: Akhil Goyal <akhil.goyal@nxp.com>
This commit is contained in:
Hemant Agrawal 2019-06-25 16:10:18 +05:30 committed by Thomas Monjalon
parent e79df833d3
commit f26a0762d6
2 changed files with 16 additions and 5 deletions

View File

@ -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);

View File

@ -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(&params);
if (!bp) {
DPAA_MEMPOOL_ERR("bman_new_pool() failed");