Go to the documentation of this file.
5 #ifndef _RTE_BBDEV_OP_H_
6 #define _RTE_BBDEV_OP_H_
29 #define RTE_BBDEV_C_SUBBLOCK (32)
31 #define RTE_BBDEV_MAX_TB_SIZE (391656)
33 #define RTE_BBDEV_MAX_CB_SIZE (6144)
35 #define RTE_BBDEV_MIN_CB_SIZE (40)
37 #define RTE_BBDEV_MAX_KW (18528)
44 #define RTE_BBDEV_MAX_CODE_BLOCKS (64)
109 RTE_BBDEV_TURBO_DEC_TB_CRC_24B_KEEP = (1ULL << 16)
125 RTE_BBDEV_TURBO_ENC_SCATTER_GATHER = (1ULL << 5)
129 struct rte_bbdev_op_data {
183 struct rte_bbdev_op_dec_cb_params {
196 struct rte_bbdev_op_dec_tb_params {
249 struct rte_bbdev_op_turbo_dec {
251 struct rte_bbdev_op_data input;
255 struct rte_bbdev_op_data hard_output;
257 struct rte_bbdev_op_data soft_output;
280 uint8_t code_block_mode;
283 struct rte_bbdev_op_dec_cb_params cb_params;
285 struct rte_bbdev_op_dec_tb_params tb_params;
289 struct rte_bbdev_op_enc_cb_params {
306 struct rte_bbdev_op_enc_tb_params {
364 struct rte_bbdev_op_turbo_enc {
366 struct rte_bbdev_op_data input;
368 struct rte_bbdev_op_data output;
373 uint8_t code_block_mode;
376 struct rte_bbdev_op_enc_cb_params cb_params;
378 struct rte_bbdev_op_enc_tb_params tb_params;
383 struct rte_bbdev_op_cap_turbo_dec {
385 uint32_t capability_flags;
389 int8_t max_llr_modulus;
390 uint8_t num_buffers_src;
392 uint8_t num_buffers_hard_out;
394 uint8_t num_buffers_soft_out;
398 struct rte_bbdev_op_cap_turbo_enc {
400 uint32_t capability_flags;
401 uint8_t num_buffers_src;
402 uint8_t num_buffers_dst;
416 RTE_BBDEV_DATA_ERROR,
421 struct rte_bbdev_enc_op {
426 struct rte_bbdev_op_turbo_enc turbo_enc;
430 struct rte_bbdev_dec_op {
435 struct rte_bbdev_op_turbo_dec turbo_dec;
439 struct rte_bbdev_op_cap {
442 struct rte_bbdev_op_cap_turbo_dec turbo_dec;
443 struct rte_bbdev_op_cap_turbo_enc turbo_enc;
448 struct rte_bbdev_op_pool_private {
487 unsigned int num_elements,
unsigned int cache_size,
506 struct rte_bbdev_enc_op **ops, uint16_t num_ops)
508 struct rte_bbdev_op_pool_private *priv;
512 priv = (
struct rte_bbdev_op_pool_private *)
541 struct rte_bbdev_dec_op **ops, uint16_t num_ops)
543 struct rte_bbdev_op_pool_private *priv;
547 priv = (
struct rte_bbdev_op_pool_private *)
static void rte_bbdev_dec_op_free_bulk(struct rte_bbdev_dec_op **ops, unsigned int num_ops)
@ RTE_BBDEV_TURBO_SOFT_OUT_SATURATE
@ RTE_BBDEV_TURBO_CRC_24B_ATTACH
@ RTE_BBDEV_TURBO_POS_LLR_1_BIT_SOFT_OUT
static void * rte_mempool_get_priv(struct rte_mempool *mp)
@ RTE_BBDEV_TURBO_SUBBLOCK_DEINTERLEAVE
char name[RTE_MEMZONE_NAMESIZE]
static int rte_bbdev_dec_op_alloc_bulk(struct rte_mempool *mempool, struct rte_bbdev_dec_op **ops, uint16_t num_ops)
@ RTE_BBDEV_TURBO_NEG_LLR_1_BIT_SOFT_OUT
@ RTE_BBDEV_OP_TYPE_COUNT
@ RTE_BBDEV_TURBO_MAP_DEC
@ RTE_BBDEV_TURBO_POS_LLR_1_BIT_IN
rte_bbdev_op_te_flag_bitmasks
@ RTE_BBDEV_TURBO_ENC_INTERRUPTS
static void rte_bbdev_enc_op_free_bulk(struct rte_bbdev_enc_op **ops, unsigned int num_ops)
@ RTE_BBDEV_TURBO_NEG_LLR_1_BIT_IN
@ RTE_BBDEV_TURBO_EQUALIZER
@ RTE_BBDEV_TURBO_EARLY_TERMINATION
@ RTE_BBDEV_TURBO_DEC_SCATTER_GATHER
@ RTE_BBDEV_TURBO_SOFT_OUTPUT
static int rte_bbdev_enc_op_alloc_bulk(struct rte_mempool *mempool, struct rte_bbdev_enc_op **ops, uint16_t num_ops)
@ RTE_BBDEV_TURBO_CRC_24A_ATTACH
static __rte_always_inline int rte_mempool_get_bulk(struct rte_mempool *mp, void **obj_table, unsigned int n)
const char * rte_bbdev_op_type_str(enum rte_bbdev_op_type op_type)
@ RTE_BBDEV_TURBO_CONTINUE_CRC_MATCH
@ RTE_BBDEV_TURBO_RV_INDEX_BYPASS
static __rte_always_inline void rte_mempool_put_bulk(struct rte_mempool *mp, void *const *obj_table, unsigned int n)
rte_bbdev_op_td_flag_bitmasks
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_TURBO_HALF_ITERATION_EVEN
@ RTE_BBDEV_TURBO_DEC_INTERRUPTS
@ RTE_BBDEV_TURBO_RATE_MATCH
@ RTE_BBDEV_TURBO_CRC_TYPE_24B