1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(C) 2021 Marvell.
5 #ifndef _CNXK_MEMPOOL_H_
6 #define _CNXK_MEMPOOL_H_
8 #include <rte_mempool.h>
10 unsigned int cnxk_mempool_get_count(const struct rte_mempool *mp);
11 ssize_t cnxk_mempool_calc_mem_size(const struct rte_mempool *mp,
12 uint32_t obj_num, uint32_t pg_shift,
13 size_t *min_chunk_size, size_t *align);
14 int cnxk_mempool_populate(struct rte_mempool *mp, unsigned int max_objs,
15 void *vaddr, rte_iova_t iova, size_t len,
16 rte_mempool_populate_obj_cb_t *obj_cb,
18 int cnxk_mempool_alloc(struct rte_mempool *mp);
19 void cnxk_mempool_free(struct rte_mempool *mp);
21 int __rte_hot cnxk_mempool_enq(struct rte_mempool *mp, void *const *obj_table,
23 int __rte_hot cnxk_mempool_deq(struct rte_mempool *mp, void **obj_table,
26 int cn10k_mempool_plt_init(void);