mempool/dpaa2: add functions for CMDIF
There are two API's which are required by NXP specific Command Interface Application (AIOP CMDIF). This patch exposes these two API's. Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com> Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
This commit is contained in:
parent
e2077a158e
commit
7ed3599095
@ -38,6 +38,7 @@ The public API headers are grouped by topics:
|
|||||||
[i40e] (@ref rte_pmd_i40e.h),
|
[i40e] (@ref rte_pmd_i40e.h),
|
||||||
[bnxt] (@ref rte_pmd_bnxt.h),
|
[bnxt] (@ref rte_pmd_bnxt.h),
|
||||||
[dpaa] (@ref rte_pmd_dpaa.h),
|
[dpaa] (@ref rte_pmd_dpaa.h),
|
||||||
|
[dpaa2_mempool] (@ref rte_dpaa2_mempool.h),
|
||||||
[dpaa2_qdma] (@ref rte_pmd_dpaa2_qdma.h),
|
[dpaa2_qdma] (@ref rte_pmd_dpaa2_qdma.h),
|
||||||
[crypto_scheduler] (@ref rte_cryptodev_scheduler.h)
|
[crypto_scheduler] (@ref rte_cryptodev_scheduler.h)
|
||||||
|
|
||||||
|
@ -31,6 +31,7 @@
|
|||||||
PROJECT_NAME = DPDK
|
PROJECT_NAME = DPDK
|
||||||
INPUT = doc/api/doxy-api-index.md \
|
INPUT = doc/api/doxy-api-index.md \
|
||||||
drivers/crypto/scheduler \
|
drivers/crypto/scheduler \
|
||||||
|
drivers/mempool/dpaa2 \
|
||||||
drivers/net/bnxt \
|
drivers/net/bnxt \
|
||||||
drivers/net/bonding \
|
drivers/net/bonding \
|
||||||
drivers/net/dpaa \
|
drivers/net/dpaa \
|
||||||
|
@ -31,4 +31,6 @@ SRCS-$(CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL) += dpaa2_hw_mempool.c
|
|||||||
LDLIBS += -lrte_bus_fslmc
|
LDLIBS += -lrte_bus_fslmc
|
||||||
LDLIBS += -lrte_eal -lrte_mempool -lrte_ring
|
LDLIBS += -lrte_eal -lrte_mempool -lrte_ring
|
||||||
|
|
||||||
|
SYMLINK-$(CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL)-include := rte_dpaa2_mempool.h
|
||||||
|
|
||||||
include $(RTE_SDK)/mk/rte.lib.mk
|
include $(RTE_SDK)/mk/rte.lib.mk
|
||||||
|
@ -21,6 +21,7 @@
|
|||||||
#include <rte_cycles.h>
|
#include <rte_cycles.h>
|
||||||
#include <rte_kvargs.h>
|
#include <rte_kvargs.h>
|
||||||
#include <rte_dev.h>
|
#include <rte_dev.h>
|
||||||
|
#include "rte_dpaa2_mempool.h"
|
||||||
|
|
||||||
#include <fslmc_logs.h>
|
#include <fslmc_logs.h>
|
||||||
#include <mc/fsl_dpbp.h>
|
#include <mc/fsl_dpbp.h>
|
||||||
@ -244,6 +245,35 @@ rte_dpaa2_mbuf_release(struct rte_mempool *pool __rte_unused,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint16_t
|
||||||
|
rte_dpaa2_mbuf_pool_bpid(struct rte_mempool *mp)
|
||||||
|
{
|
||||||
|
struct dpaa2_bp_info *bp_info;
|
||||||
|
|
||||||
|
bp_info = mempool_to_bpinfo(mp);
|
||||||
|
if (!(bp_info->bp_list)) {
|
||||||
|
RTE_LOG(ERR, PMD, "DPAA2 buffer pool not configured\n");
|
||||||
|
return -ENOMEM;
|
||||||
|
}
|
||||||
|
|
||||||
|
return bp_info->bpid;
|
||||||
|
}
|
||||||
|
|
||||||
|
struct rte_mbuf *
|
||||||
|
rte_dpaa2_mbuf_from_buf_addr(struct rte_mempool *mp, void *buf_addr)
|
||||||
|
{
|
||||||
|
struct dpaa2_bp_info *bp_info;
|
||||||
|
|
||||||
|
bp_info = mempool_to_bpinfo(mp);
|
||||||
|
if (!(bp_info->bp_list)) {
|
||||||
|
RTE_LOG(ERR, PMD, "DPAA2 buffer pool not configured\n");
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (struct rte_mbuf *)((uint8_t *)buf_addr -
|
||||||
|
bp_info->meta_data_size);
|
||||||
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
rte_dpaa2_mbuf_alloc_bulk(struct rte_mempool *pool,
|
rte_dpaa2_mbuf_alloc_bulk(struct rte_mempool *pool,
|
||||||
void **obj_table, unsigned int count)
|
void **obj_table, unsigned int count)
|
||||||
|
53
drivers/mempool/dpaa2/rte_dpaa2_mempool.h
Normal file
53
drivers/mempool/dpaa2/rte_dpaa2_mempool.h
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
/* SPDX-License-Identifier: BSD-3-Clause
|
||||||
|
* Copyright 2018 NXP
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __RTE_DPAA2_MEMPOOL_H__
|
||||||
|
#define __RTE_DPAA2_MEMPOOL_H__
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
*
|
||||||
|
* NXP specific mempool related functions.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <rte_mempool.h>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get BPID corresponding to the packet pool
|
||||||
|
*
|
||||||
|
* @param mp
|
||||||
|
* memory pool
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* BPID of the buffer pool
|
||||||
|
*/
|
||||||
|
uint16_t
|
||||||
|
rte_dpaa2_mbuf_pool_bpid(struct rte_mempool *mp);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get MBUF from the corresponding 'buf_addr'
|
||||||
|
*
|
||||||
|
* @param mp
|
||||||
|
* memory pool
|
||||||
|
* @param buf_addr
|
||||||
|
* The 'buf_addr' of the mbuf. This is the start buffer address
|
||||||
|
* of the packet buffer (mbuf).
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* - MBUF pointer for success
|
||||||
|
* - NULL in case of error
|
||||||
|
*/
|
||||||
|
struct rte_mbuf *
|
||||||
|
rte_dpaa2_mbuf_from_buf_addr(struct rte_mempool *mp, void *buf_addr);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* __RTE_DPAA2_MEMPOOL_H__ */
|
@ -7,3 +7,11 @@ DPDK_17.05 {
|
|||||||
|
|
||||||
local: *;
|
local: *;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
DPDK_18.05 {
|
||||||
|
global:
|
||||||
|
|
||||||
|
rte_dpaa2_mbuf_from_buf_addr;
|
||||||
|
rte_dpaa2_mbuf_pool_bpid;
|
||||||
|
|
||||||
|
} DPDK_17.05;
|
||||||
|
Loading…
Reference in New Issue
Block a user