git.droids-corp.org
/
dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
drivers: enhance DPAA2 portal allocation error logs
[dpdk.git]
/
drivers
/
mempool
/
dpaa
/
dpaa_mempool.c
diff --git
a/drivers/mempool/dpaa/dpaa_mempool.c
b/drivers/mempool/dpaa/dpaa_mempool.c
index
54cdf37
..
3a25283
100644
(file)
--- a/
drivers/mempool/dpaa/dpaa_mempool.c
+++ b/
drivers/mempool/dpaa/dpaa_mempool.c
@@
-1,6
+1,6
@@
/* SPDX-License-Identifier: BSD-3-Clause
*
/* 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();
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");
bp = bman_new_pool(¶ms);
if (!bp) {
DPAA_MEMPOOL_ERR("bman_new_pool() failed");
@@
-289,8
+298,6
@@
dpaa_populate(struct rte_mempool *mp, unsigned int max_objs,
struct dpaa_bp_info *bp_info;
unsigned int total_elt_sz;
struct dpaa_bp_info *bp_info;
unsigned int total_elt_sz;
- MEMPOOL_INIT_FUNC_TRACE();
-
if (!mp || !mp->pool_data) {
DPAA_MEMPOOL_ERR("Invalid mempool provided\n");
return 0;
if (!mp || !mp->pool_data) {
DPAA_MEMPOOL_ERR("Invalid mempool provided\n");
return 0;
@@
-302,7
+309,7
@@
dpaa_populate(struct rte_mempool *mp, unsigned int max_objs,
bp_info = DPAA_MEMPOOL_TO_POOL_INFO(mp);
total_elt_sz = mp->header_size + mp->elt_size + mp->trailer_size;
bp_info = DPAA_MEMPOOL_TO_POOL_INFO(mp);
total_elt_sz = mp->header_size + mp->elt_size + mp->trailer_size;
- DPAA_MEMPOOL_DEBUG("Req size %" PRIx64 " vs Available %u\n",
+ DPAA_MEMPOOL_D
PD
EBUG("Req size %" PRIx64 " vs Available %u\n",
(uint64_t)len, total_elt_sz * mp->size);
/* Detect pool area has sufficient space for elements in this memzone */
(uint64_t)len, total_elt_sz * mp->size);
/* Detect pool area has sufficient space for elements in this memzone */
@@
-334,8
+341,8
@@
dpaa_populate(struct rte_mempool *mp, unsigned int max_objs,
*/
TAILQ_INSERT_HEAD(&rte_dpaa_memsegs, ms, next);
*/
TAILQ_INSERT_HEAD(&rte_dpaa_memsegs, ms, next);
- return rte_mempool_op_populate_
default(mp, max_objs, vaddr, paddr, len
,
- obj_cb, obj_cb_arg);
+ return rte_mempool_op_populate_
helper(mp, 0, max_objs, vaddr, paddr
,
+
len,
obj_cb, obj_cb_arg);
}
static const struct rte_mempool_ops dpaa_mpool_ops = {
}
static const struct rte_mempool_ops dpaa_mpool_ops = {