5#ifndef _RTE_BBDEV_OP_H_
6#define _RTE_BBDEV_OP_H_
20#include <rte_compat.h>
27#define RTE_BBDEV_TURBO_C_SUBBLOCK (32)
29#define RTE_BBDEV_TURBO_MAX_TB_SIZE (391656)
31#define RTE_BBDEV_TURBO_MAX_CB_SIZE (6144)
33#define RTE_BBDEV_LDPC_MAX_CB_SIZE (8448)
35#define RTE_BBDEV_LDPC_MIN_CB_SIZE (40)
37#define RTE_BBDEV_LDPC_E_MAX_MBUF (64000)
39#define RTE_BBDEV_TURBO_MIN_CB_SIZE (40)
41#define RTE_BBDEV_TURBO_MAX_KW (18528)
48#define RTE_BBDEV_TURBO_MAX_CODE_BLOCKS (64)
50#define RTE_BBDEV_LDPC_MAX_CODE_BLOCKS (256)
52#define RTE_BBDEV_MAX_CS_2 (6)
59#define RTE_BBDEV_OP_TYPE_SIZE_MAX 8
865 RTE_BBDEV_DATA_ERROR,
867 RTE_BBDEV_SYNDROME_ERROR
927struct rte_bbdev_op_pool_private {
966 unsigned int num_elements,
unsigned int cache_size,
987 struct rte_bbdev_op_pool_private *priv;
990 priv = (
struct rte_bbdev_op_pool_private *)
1018 struct rte_bbdev_op_pool_private *priv;
1021 priv = (
struct rte_bbdev_op_pool_private *)
1050 struct rte_bbdev_op_pool_private *priv;
static int rte_bbdev_enc_op_alloc_bulk(struct rte_mempool *mempool, struct rte_bbdev_enc_op **ops, uint16_t num_ops)
static int rte_bbdev_dec_op_alloc_bulk(struct rte_mempool *mempool, struct rte_bbdev_dec_op **ops, uint16_t num_ops)
rte_bbdev_op_ldpcenc_flag_bitmasks
@ RTE_BBDEV_LDPC_CRC_16_ATTACH
@ RTE_BBDEV_LDPC_ENC_CONCATENATION
@ RTE_BBDEV_LDPC_INTERLEAVER_BYPASS
@ RTE_BBDEV_LDPC_CRC_24B_ATTACH
@ RTE_BBDEV_LDPC_ENC_SCATTER_GATHER
@ RTE_BBDEV_LDPC_CRC_24A_ATTACH
@ RTE_BBDEV_LDPC_RATE_MATCH
@ RTE_BBDEV_LDPC_ENC_INTERRUPTS
static __rte_experimental void rte_bbdev_fft_op_free_bulk(struct rte_bbdev_fft_op **ops, unsigned int num_ops)
rte_bbdev_op_fft_flag_bitmasks
@ RTE_BBDEV_FFT_DFT_BYPASS
@ RTE_BBDEV_FFT_FP16_OUTPUT
@ RTE_BBDEV_FFT_IDFT_BYPASS
@ RTE_BBDEV_FFT_CS_ADJUSTMENT
@ RTE_BBDEV_FFT_FP16_INPUT
@ RTE_BBDEV_FFT_POWER_MEAS
@ RTE_BBDEV_FFT_WINDOWING_BYPASS
@ RTE_BBDEV_FFT_WINDOWING
static __rte_experimental int rte_bbdev_fft_op_alloc_bulk(struct rte_mempool *mempool, struct rte_bbdev_fft_op **ops, uint16_t num_ops)
struct rte_mempool * rte_bbdev_op_pool_create(const char *name, enum rte_bbdev_op_type type, unsigned int num_elements, unsigned int cache_size, int socket_id)
rte_bbdev_op_td_flag_bitmasks
@ RTE_BBDEV_TURBO_DEC_SCATTER_GATHER
@ RTE_BBDEV_TURBO_HALF_ITERATION_EVEN
@ RTE_BBDEV_TURBO_CONTINUE_CRC_MATCH
@ RTE_BBDEV_TURBO_DEC_INTERRUPTS
@ RTE_BBDEV_TURBO_DEC_CRC_24B_DROP
@ RTE_BBDEV_TURBO_MAP_DEC
@ RTE_BBDEV_TURBO_POS_LLR_1_BIT_SOFT_OUT
@ RTE_BBDEV_TURBO_SUBBLOCK_DEINTERLEAVE
@ RTE_BBDEV_TURBO_CRC_TYPE_24B
@ RTE_BBDEV_TURBO_SOFT_OUTPUT
@ RTE_BBDEV_TURBO_NEG_LLR_1_BIT_SOFT_OUT
@ RTE_BBDEV_TURBO_DEC_TB_CRC_24B_KEEP
@ RTE_BBDEV_TURBO_NEG_LLR_1_BIT_IN
@ RTE_BBDEV_TURBO_EQUALIZER
@ RTE_BBDEV_TURBO_POS_LLR_1_BIT_IN
@ RTE_BBDEV_TURBO_SOFT_OUT_SATURATE
@ RTE_BBDEV_TURBO_EARLY_TERMINATION
rte_bbdev_op_ldpcdec_flag_bitmasks
@ RTE_BBDEV_LDPC_CRC_TYPE_24A_CHECK
@ RTE_BBDEV_LDPC_LLR_COMPRESSION
@ RTE_BBDEV_LDPC_DEINTERLEAVER_BYPASS
@ RTE_BBDEV_LDPC_HQ_COMBINE_OUT_ENABLE
@ RTE_BBDEV_LDPC_SOFT_OUT_DEINTERLEAVER_BYPASS
@ RTE_BBDEV_LDPC_ITERATION_STOP_ENABLE
@ RTE_BBDEV_LDPC_SOFT_OUT_RM_BYPASS
@ RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_IN_ENABLE
@ RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_LOOPBACK
@ RTE_BBDEV_LDPC_DEC_INTERRUPTS
@ RTE_BBDEV_LDPC_CRC_TYPE_16_CHECK
@ RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_OUT_ENABLE
@ RTE_BBDEV_LDPC_DEC_SCATTER_GATHER
@ RTE_BBDEV_LDPC_SOFT_OUT_ENABLE
@ RTE_BBDEV_LDPC_HARQ_6BIT_COMPRESSION
@ RTE_BBDEV_LDPC_HQ_COMBINE_IN_ENABLE
@ RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_FILLERS
@ RTE_BBDEV_LDPC_CRC_TYPE_24B_CHECK
@ RTE_BBDEV_LDPC_DECODE_BYPASS
@ RTE_BBDEV_LDPC_CRC_TYPE_24B_DROP
rte_bbdev_op_te_flag_bitmasks
@ RTE_BBDEV_TURBO_CRC_24B_ATTACH
@ RTE_BBDEV_TURBO_RATE_MATCH
@ RTE_BBDEV_TURBO_ENC_SCATTER_GATHER
@ RTE_BBDEV_TURBO_ENC_INTERRUPTS
@ RTE_BBDEV_TURBO_CRC_24A_ATTACH
@ RTE_BBDEV_TURBO_RV_INDEX_BYPASS
static void rte_bbdev_enc_op_free_bulk(struct rte_bbdev_enc_op **ops, unsigned int num_ops)
@ RTE_BBDEV_TRANSPORT_BLOCK
const char * rte_bbdev_op_type_str(enum rte_bbdev_op_type op_type)
static void rte_bbdev_dec_op_free_bulk(struct rte_bbdev_dec_op **ops, unsigned int num_ops)
static __rte_always_inline int rte_mempool_get_bulk(struct rte_mempool *mp, void **obj_table, unsigned int n)
static __rte_always_inline void rte_mempool_put_bulk(struct rte_mempool *mp, void *const *obj_table, unsigned int n)
static void * rte_mempool_get_priv(struct rte_mempool *mp)
struct rte_bbdev_op_ldpc_dec ldpc_dec
struct rte_mempool * mempool
struct rte_bbdev_op_turbo_dec turbo_dec
struct rte_bbdev_op_ldpc_enc ldpc_enc
struct rte_mempool * mempool
struct rte_bbdev_op_turbo_enc turbo_enc
struct rte_mempool * mempool
struct rte_bbdev_op_fft fft
uint32_t capability_flags
uint16_t num_buffers_hard_out
uint16_t num_buffers_soft_out
uint32_t capability_flags
uint32_t capability_flags
uint32_t capability_flags
uint8_t num_buffers_soft_out
uint8_t num_buffers_hard_out
uint32_t capability_flags
union rte_bbdev_op_cap::@40 cap
enum rte_bbdev_op_type type
struct rte_bbdev_op_data base_input
uint16_t input_leading_padding
struct rte_bbdev_op_data base_output
uint16_t output_leading_depadding
struct rte_bbdev_op_data power_meas_output
int8_t cs_time_adjustment
uint16_t input_sequence_size
uint8_t num_antennas_log2
uint8_t window_index[RTE_BBDEV_MAX_CS_2]
uint16_t output_sequence_size
struct rte_bbdev_op_data soft_output
struct rte_bbdev_op_data harq_combined_output
struct rte_bbdev_op_dec_ldpc_tb_params tb_params
struct rte_bbdev_op_data harq_combined_input
struct rte_bbdev_op_data hard_output
struct rte_bbdev_op_data input
struct rte_bbdev_op_dec_ldpc_cb_params cb_params
struct rte_bbdev_op_enc_ldpc_tb_params tb_params
struct rte_bbdev_op_data output
struct rte_bbdev_op_data input
struct rte_bbdev_op_enc_ldpc_cb_params cb_params
struct rte_bbdev_op_data soft_output
struct rte_bbdev_op_dec_turbo_tb_params tb_params
struct rte_bbdev_op_dec_turbo_cb_params cb_params
struct rte_bbdev_op_data hard_output
struct rte_bbdev_op_data input
struct rte_bbdev_op_data output
struct rte_bbdev_op_enc_turbo_tb_params tb_params
struct rte_bbdev_op_data input
struct rte_bbdev_op_enc_turbo_cb_params cb_params
char name[RTE_MEMPOOL_NAMESIZE]