DPDK  21.11.6
rte_bbdev_op.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2017 Intel Corporation
3  */
4 
5 #ifndef _RTE_BBDEV_OP_H_
6 #define _RTE_BBDEV_OP_H_
7 
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17 
18 #include <stdint.h>
19 
20 #include <rte_common.h>
21 #include <rte_mbuf.h>
22 #include <rte_memory.h>
23 #include <rte_mempool.h>
24 
25 /* Number of columns in sub-block interleaver (36.212, section 5.1.4.1.1) */
26 #define RTE_BBDEV_TURBO_C_SUBBLOCK (32)
27 /* Maximum size of Transport Block (36.213, Table, Table 7.1.7.2.5-1) */
28 #define RTE_BBDEV_TURBO_MAX_TB_SIZE (391656)
29 /* Maximum size of Code Block (36.212, Table 5.1.3-3) */
30 #define RTE_BBDEV_TURBO_MAX_CB_SIZE (6144)
31 /* Maximum size of Code Block */
32 #define RTE_BBDEV_LDPC_MAX_CB_SIZE (8448)
33 /* Minimum size of Code Block */
34 #define RTE_BBDEV_LDPC_MIN_CB_SIZE (40)
35 /* Maximum E size we can manage with default mbuf */
36 #define RTE_BBDEV_LDPC_E_MAX_MBUF (64000)
37 /* Minimum size of Code Block (36.212, Table 5.1.3-3) */
38 #define RTE_BBDEV_TURBO_MIN_CB_SIZE (40)
39 /* Maximum size of circular buffer */
40 #define RTE_BBDEV_TURBO_MAX_KW (18528)
41 /*
42  * Turbo: Maximum number of Code Blocks in Transport Block. It is calculated
43  * based on maximum size of one Code Block and one Transport Block
44  * (considering CRC24A and CRC24B):
45  * (391656 + 24) / (6144 - 24) = 64
46  */
47 #define RTE_BBDEV_TURBO_MAX_CODE_BLOCKS (64)
48 /* LDPC: Maximum number of Code Blocks in Transport Block.*/
49 #define RTE_BBDEV_LDPC_MAX_CODE_BLOCKS (256)
50 
108  RTE_BBDEV_TURBO_MAP_DEC = (1ULL << 14),
118 };
119 
120 
135 };
136 
192 };
193 
212 };
213 
220 };
221 
253  struct rte_mbuf *data;
261  uint32_t offset;
274  uint32_t length;
275 };
276 
284  uint16_t k;
288  uint32_t e;
289 };
290 
296  uint32_t e;
297 };
298 
304  uint16_t k_neg;
308  uint16_t k_pos;
310  uint8_t c_neg;
314  uint8_t c;
316  uint8_t cab;
320  uint32_t ea;
324  uint32_t eb;
326  uint8_t r;
327 };
328 
334  uint32_t ea;
338  uint32_t eb;
342  uint8_t c;
344  uint8_t r;
346  uint8_t cab;
347 };
348 
386 
388  uint32_t op_flags;
389 
391  uint8_t rv_index;
395  uint8_t iter_min:4;
399  uint8_t iter_max:4;
403  uint8_t iter_count;
405  uint8_t ext_scale;
409  uint8_t num_maps;
410 
413  union {
418  };
419 };
420 
465 
467  uint32_t op_flags;
468 
472  uint8_t rv_index;
476  uint8_t iter_max;
480  uint8_t iter_count;
484  uint8_t basegraph;
488  uint16_t z_c;
492  uint16_t n_cb;
496  uint8_t q_m;
500  uint16_t n_filler;
503  union {
508  };
509 };
510 
518  uint16_t k;
522  uint32_t e;
526  uint16_t ncb;
527 };
528 
536  uint16_t k_neg;
542  uint16_t k_pos;
544  uint8_t c_neg;
548  uint8_t c;
550  uint8_t cab;
554  uint32_t ea;
558  uint32_t eb;
562  uint16_t ncb_neg;
566  uint16_t ncb_pos;
568  uint8_t r;
569 };
570 
576  uint32_t e;
577 };
578 
584  uint32_t ea;
588  uint32_t eb;
592  uint8_t c;
594  uint8_t r;
596  uint8_t cab;
597 };
598 
624  uint32_t op_flags;
625 
627  uint8_t rv_index;
630  union {
635  };
636 };
637 
656 
658  uint32_t op_flags;
659 
661  uint8_t rv_index;
665  uint8_t basegraph;
669  uint16_t z_c;
673  uint16_t n_cb;
677  uint8_t q_m;
681  uint16_t n_filler;
684  union {
689  };
690 };
691 
701  uint8_t num_buffers_src;
706 };
707 
716 };
717 
723  int8_t llr_size;
725  int8_t llr_decimals;
727  uint16_t num_buffers_src;
732 };
733 
739  uint16_t num_buffers_src;
741  uint16_t num_buffers_dst;
742 };
743 
752 };
753 
755 enum {
756  RTE_BBDEV_DRV_ERROR,
757  RTE_BBDEV_DATA_ERROR,
758  RTE_BBDEV_CRC_ERROR,
759  RTE_BBDEV_SYNDROME_ERROR
760 };
761 
765  int status;
769  void *opaque_data;
770  union {
775  };
776 };
777 
781  int status;
785  void *opaque_data;
786  union {
791  };
792 };
793 
797  union {
798  struct rte_bbdev_op_cap_turbo_dec turbo_dec;
799  struct rte_bbdev_op_cap_turbo_enc turbo_enc;
800  struct rte_bbdev_op_cap_ldpc_dec ldpc_dec;
801  struct rte_bbdev_op_cap_ldpc_enc ldpc_enc;
802  } cap;
803 };
804 
806 struct rte_bbdev_op_pool_private {
807  enum rte_bbdev_op_type type;
808 };
809 
820 const char*
822 
843 struct rte_mempool *
844 rte_bbdev_op_pool_create(const char *name, enum rte_bbdev_op_type type,
845  unsigned int num_elements, unsigned int cache_size,
846  int socket_id);
847 
862 static inline int
864  struct rte_bbdev_enc_op **ops, uint16_t num_ops)
865 {
866  struct rte_bbdev_op_pool_private *priv;
867  int ret;
868 
869  /* Check type */
870  priv = (struct rte_bbdev_op_pool_private *)
871  rte_mempool_get_priv(mempool);
872  if (unlikely((priv->type != RTE_BBDEV_OP_TURBO_ENC) &&
873  (priv->type != RTE_BBDEV_OP_LDPC_ENC)))
874  return -EINVAL;
875 
876  /* Get elements */
877  ret = rte_mempool_get_bulk(mempool, (void **)ops, num_ops);
878  if (unlikely(ret < 0))
879  return ret;
880 
881  return 0;
882 }
883 
898 static inline int
900  struct rte_bbdev_dec_op **ops, uint16_t num_ops)
901 {
902  struct rte_bbdev_op_pool_private *priv;
903  int ret;
904 
905  /* Check type */
906  priv = (struct rte_bbdev_op_pool_private *)
907  rte_mempool_get_priv(mempool);
908  if (unlikely((priv->type != RTE_BBDEV_OP_TURBO_DEC) &&
909  (priv->type != RTE_BBDEV_OP_LDPC_DEC)))
910  return -EINVAL;
911 
912  /* Get elements */
913  ret = rte_mempool_get_bulk(mempool, (void **)ops, num_ops);
914  if (unlikely(ret < 0))
915  return ret;
916 
917  return 0;
918 }
919 
930 static inline void
931 rte_bbdev_dec_op_free_bulk(struct rte_bbdev_dec_op **ops, unsigned int num_ops)
932 {
933  if (num_ops > 0)
934  rte_mempool_put_bulk(ops[0]->mempool, (void **)ops, num_ops);
935 }
936 
947 static inline void
948 rte_bbdev_enc_op_free_bulk(struct rte_bbdev_enc_op **ops, unsigned int num_ops)
949 {
950  if (num_ops > 0)
951  rte_mempool_put_bulk(ops[0]->mempool, (void **)ops, num_ops);
952 }
953 
954 #ifdef __cplusplus
955 }
956 #endif
957 
958 #endif /* _RTE_BBDEV_OP_H_ */
rte_bbdev_op_ldpc_dec::cb_params
struct rte_bbdev_op_dec_ldpc_cb_params cb_params
Definition: rte_bbdev_op.h:505
rte_bbdev_op_dec_turbo_cb_params::e
uint32_t e
Definition: rte_bbdev_op.h:288
rte_bbdev_dec_op_free_bulk
static void rte_bbdev_dec_op_free_bulk(struct rte_bbdev_dec_op **ops, unsigned int num_ops)
Definition: rte_bbdev_op.h:931
rte_bbdev_op_enc_turbo_tb_params::k_pos
uint16_t k_pos
Definition: rte_bbdev_op.h:542
RTE_BBDEV_TURBO_SOFT_OUT_SATURATE
@ RTE_BBDEV_TURBO_SOFT_OUT_SATURATE
Definition: rte_bbdev_op.h:60
RTE_BBDEV_OP_LDPC_DEC
@ RTE_BBDEV_OP_LDPC_DEC
Definition: rte_bbdev_op.h:749
rte_bbdev_op_ldpc_enc::n_filler
uint16_t n_filler
Definition: rte_bbdev_op.h:681
rte_bbdev_op_turbo_dec::hard_output
struct rte_bbdev_op_data hard_output
Definition: rte_bbdev_op.h:383
rte_bbdev_op_dec_turbo_tb_params::cab
uint8_t cab
Definition: rte_bbdev_op.h:316
RTE_BBDEV_TURBO_CRC_24B_ATTACH
@ RTE_BBDEV_TURBO_CRC_24B_ATTACH
Definition: rte_bbdev_op.h:128
rte_bbdev_op_dec_turbo_tb_params::c_neg
uint8_t c_neg
Definition: rte_bbdev_op.h:310
RTE_BBDEV_OP_NONE
@ RTE_BBDEV_OP_NONE
Definition: rte_bbdev_op.h:746
rte_bbdev_op_turbo_enc::code_block_mode
uint8_t code_block_mode
Definition: rte_bbdev_op.h:629
RTE_BBDEV_TURBO_DEC_TB_CRC_24B_KEEP
@ RTE_BBDEV_TURBO_DEC_TB_CRC_24B_KEEP
Definition: rte_bbdev_op.h:114
RTE_BBDEV_TURBO_POS_LLR_1_BIT_SOFT_OUT
@ RTE_BBDEV_TURBO_POS_LLR_1_BIT_SOFT_OUT
Definition: rte_bbdev_op.h:96
rte_bbdev_op_cap_turbo_enc::num_buffers_dst
uint8_t num_buffers_dst
Definition: rte_bbdev_op.h:715
rte_bbdev_op_cap_ldpc_enc::num_buffers_dst
uint16_t num_buffers_dst
Definition: rte_bbdev_op.h:741
rte_mempool_get_priv
static void * rte_mempool_get_priv(struct rte_mempool *mp)
Definition: rte_mempool.h:1762
rte_bbdev_op_data::length
uint32_t length
Definition: rte_bbdev_op.h:274
rte_bbdev_op_ldpc_enc
Definition: rte_bbdev_op.h:651
rte_bbdev_op_cap_ldpc_dec
Definition: rte_bbdev_op.h:719
rte_memory.h
rte_mempool::name
char name[RTE_MEMPOOL_NAMESIZE]
Definition: rte_mempool.h:213
unlikely
#define unlikely(x)
Definition: rte_branch_prediction.h:42
rte_bbdev_op_ldpc_dec::q_m
uint8_t q_m
Definition: rte_bbdev_op.h:496
RTE_BBDEV_LDPC_HQ_COMBINE_OUT_ENABLE
@ RTE_BBDEV_LDPC_HQ_COMBINE_OUT_ENABLE
Definition: rte_bbdev_op.h:152
rte_bbdev_op_dec_turbo_tb_params::ea
uint32_t ea
Definition: rte_bbdev_op.h:320
RTE_BBDEV_TURBO_SUBBLOCK_DEINTERLEAVE
@ RTE_BBDEV_TURBO_SUBBLOCK_DEINTERLEAVE
Definition: rte_bbdev_op.h:54
RTE_BBDEV_OP_TURBO_DEC
@ RTE_BBDEV_OP_TURBO_DEC
Definition: rte_bbdev_op.h:747
RTE_BBDEV_LDPC_ITERATION_STOP_ENABLE
@ RTE_BBDEV_LDPC_ITERATION_STOP_ENABLE
Definition: rte_bbdev_op.h:166
rte_bbdev_op_enc_turbo_tb_params::c
uint8_t c
Definition: rte_bbdev_op.h:548
RTE_BBDEV_TURBO_DEC_CRC_24B_DROP
@ RTE_BBDEV_TURBO_DEC_CRC_24B_DROP
Definition: rte_bbdev_op.h:117
rte_bbdev_op_dec_ldpc_tb_params
Definition: rte_bbdev_op.h:330
RTE_BBDEV_LDPC_HQ_COMBINE_IN_ENABLE
@ RTE_BBDEV_LDPC_HQ_COMBINE_IN_ENABLE
Definition: rte_bbdev_op.h:150
rte_bbdev_op_enc_ldpc_tb_params::cab
uint8_t cab
Definition: rte_bbdev_op.h:596
rte_bbdev_dec_op::mempool
struct rte_mempool * mempool
Definition: rte_bbdev_op.h:783
RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_LOOPBACK
@ RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_LOOPBACK
Definition: rte_bbdev_op.h:186
rte_bbdev_dec_op_alloc_bulk
static int rte_bbdev_dec_op_alloc_bulk(struct rte_mempool *mempool, struct rte_bbdev_dec_op **ops, uint16_t num_ops)
Definition: rte_bbdev_op.h:899
rte_bbdev_dec_op::ldpc_dec
struct rte_bbdev_op_ldpc_dec ldpc_dec
Definition: rte_bbdev_op.h:790
rte_bbdev_op_enc_ldpc_tb_params
Definition: rte_bbdev_op.h:580
RTE_BBDEV_TURBO_NEG_LLR_1_BIT_SOFT_OUT
@ RTE_BBDEV_TURBO_NEG_LLR_1_BIT_SOFT_OUT
Definition: rte_bbdev_op.h:104
RTE_BBDEV_OP_TYPE_COUNT
@ RTE_BBDEV_OP_TYPE_COUNT
Definition: rte_bbdev_op.h:751
rte_bbdev_op_ldpc_enc::basegraph
uint8_t basegraph
Definition: rte_bbdev_op.h:665
rte_bbdev_op_enc_turbo_tb_params::ncb_pos
uint16_t ncb_pos
Definition: rte_bbdev_op.h:566
rte_bbdev_op_ldpc_dec::n_filler
uint16_t n_filler
Definition: rte_bbdev_op.h:500
rte_bbdev_op_cap_turbo_enc::num_buffers_src
uint8_t num_buffers_src
Definition: rte_bbdev_op.h:713
RTE_BBDEV_OP_LDPC_ENC
@ RTE_BBDEV_OP_LDPC_ENC
Definition: rte_bbdev_op.h:750
RTE_BBDEV_LDPC_CRC_TYPE_24B_CHECK
@ RTE_BBDEV_LDPC_CRC_TYPE_24B_CHECK
Definition: rte_bbdev_op.h:142
rte_bbdev_enc_op::ldpc_enc
struct rte_bbdev_op_ldpc_enc ldpc_enc
Definition: rte_bbdev_op.h:774
rte_bbdev_op_ldpc_dec::iter_count
uint8_t iter_count
Definition: rte_bbdev_op.h:480
rte_bbdev_op_enc_turbo_tb_params::r
uint8_t r
Definition: rte_bbdev_op.h:568
rte_bbdev_op_turbo_dec::iter_count
uint8_t iter_count
Definition: rte_bbdev_op.h:403
rte_bbdev_op_enc_turbo_tb_params::k_neg
uint16_t k_neg
Definition: rte_bbdev_op.h:536
rte_bbdev_enc_op
Definition: rte_bbdev_op.h:763
rte_bbdev_op_cap_ldpc_dec::llr_size
int8_t llr_size
Definition: rte_bbdev_op.h:723
rte_bbdev_op_enc_turbo_tb_params::eb
uint32_t eb
Definition: rte_bbdev_op.h:558
rte_bbdev_op_turbo_dec::input
struct rte_bbdev_op_data input
Definition: rte_bbdev_op.h:379
rte_bbdev_op_ldpc_enc::rv_index
uint8_t rv_index
Definition: rte_bbdev_op.h:661
RTE_BBDEV_TURBO_MAP_DEC
@ RTE_BBDEV_TURBO_MAP_DEC
Definition: rte_bbdev_op.h:108
rte_bbdev_op_turbo_dec::num_maps
uint8_t num_maps
Definition: rte_bbdev_op.h:409
rte_bbdev_op_ldpc_dec
Definition: rte_bbdev_op.h:450
rte_bbdev_op_ldpc_dec::basegraph
uint8_t basegraph
Definition: rte_bbdev_op.h:484
rte_bbdev_op_cap_turbo_dec::num_buffers_soft_out
uint8_t num_buffers_soft_out
Definition: rte_bbdev_op.h:705
RTE_BBDEV_TURBO_POS_LLR_1_BIT_IN
@ RTE_BBDEV_TURBO_POS_LLR_1_BIT_IN
Definition: rte_bbdev_op.h:81
rte_bbdev_op_te_flag_bitmasks
rte_bbdev_op_te_flag_bitmasks
Definition: rte_bbdev_op.h:122
rte_bbdev_op_turbo_enc
Definition: rte_bbdev_op.h:618
rte_bbdev_op_ldpc_enc::z_c
uint16_t z_c
Definition: rte_bbdev_op.h:669
rte_bbdev_op_ldpc_dec::iter_max
uint8_t iter_max
Definition: rte_bbdev_op.h:476
rte_bbdev_op_data::offset
uint32_t offset
Definition: rte_bbdev_op.h:261
RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_OUT_ENABLE
@ RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_OUT_ENABLE
Definition: rte_bbdev_op.h:182
rte_mbuf
Definition: rte_mbuf_core.h:578
rte_bbdev_op_ldpc_dec::z_c
uint16_t z_c
Definition: rte_bbdev_op.h:488
RTE_BBDEV_TURBO_ENC_INTERRUPTS
@ RTE_BBDEV_TURBO_ENC_INTERRUPTS
Definition: rte_bbdev_op.h:132
rte_bbdev_op_type
rte_bbdev_op_type
Definition: rte_bbdev_op.h:745
rte_bbdev_op_cap::cap
union rte_bbdev_op_cap::@73 cap
rte_bbdev_enc_op::mempool
struct rte_mempool * mempool
Definition: rte_bbdev_op.h:767
rte_bbdev_op_enc_turbo_cb_params
Definition: rte_bbdev_op.h:512
rte_bbdev_op_cap_ldpc_dec::num_buffers_soft_out
uint16_t num_buffers_soft_out
Definition: rte_bbdev_op.h:731
rte_bbdev_op_enc_ldpc_tb_params::c
uint8_t c
Definition: rte_bbdev_op.h:592
rte_bbdev_op_ldpc_dec::harq_combined_input
struct rte_bbdev_op_data harq_combined_input
Definition: rte_bbdev_op.h:462
rte_bbdev_op_dec_ldpc_tb_params::r
uint8_t r
Definition: rte_bbdev_op.h:344
rte_bbdev_op_cap_turbo_enc
Definition: rte_bbdev_op.h:709
rte_bbdev_enc_op::status
int status
Definition: rte_bbdev_op.h:765
RTE_BBDEV_LDPC_SOFT_OUT_ENABLE
@ RTE_BBDEV_LDPC_SOFT_OUT_ENABLE
Definition: rte_bbdev_op.h:158
rte_bbdev_op_dec_ldpc_tb_params::c
uint8_t c
Definition: rte_bbdev_op.h:342
rte_bbdev_op_enc_ldpc_tb_params::eb
uint32_t eb
Definition: rte_bbdev_op.h:588
rte_bbdev_op_ldpc_dec::op_flags
uint32_t op_flags
Definition: rte_bbdev_op.h:467
rte_bbdev_op_turbo_dec
Definition: rte_bbdev_op.h:377
rte_bbdev_op_cap_turbo_dec::num_buffers_src
uint8_t num_buffers_src
Definition: rte_bbdev_op.h:701
rte_bbdev_op_cap_turbo_dec::num_buffers_hard_out
uint8_t num_buffers_hard_out
Definition: rte_bbdev_op.h:703
RTE_BBDEV_TURBO_ENC_SCATTER_GATHER
@ RTE_BBDEV_TURBO_ENC_SCATTER_GATHER
Definition: rte_bbdev_op.h:134
rte_bbdev_op_cap_ldpc_dec::num_buffers_hard_out
uint16_t num_buffers_hard_out
Definition: rte_bbdev_op.h:729
rte_bbdev_op_enc_turbo_tb_params::ea
uint32_t ea
Definition: rte_bbdev_op.h:554
rte_bbdev_op_ldpc_enc::op_flags
uint32_t op_flags
Definition: rte_bbdev_op.h:658
rte_bbdev_op_cb_mode
rte_bbdev_op_cb_mode
Definition: rte_bbdev_op.h:215
rte_bbdev_op_ldpc_enc::code_block_mode
uint8_t code_block_mode
Definition: rte_bbdev_op.h:683
rte_bbdev_op_ldpc_enc::n_cb
uint16_t n_cb
Definition: rte_bbdev_op.h:673
rte_bbdev_op_turbo_enc::rv_index
uint8_t rv_index
Definition: rte_bbdev_op.h:627
rte_bbdev_op_dec_turbo_tb_params::r
uint8_t r
Definition: rte_bbdev_op.h:326
rte_bbdev_op_dec_turbo_cb_params
Definition: rte_bbdev_op.h:278
rte_bbdev_enc_op_free_bulk
static void rte_bbdev_enc_op_free_bulk(struct rte_bbdev_enc_op **ops, unsigned int num_ops)
Definition: rte_bbdev_op.h:948
rte_bbdev_op_dec_ldpc_cb_params
Definition: rte_bbdev_op.h:292
RTE_BBDEV_LDPC_HARQ_6BIT_COMPRESSION
@ RTE_BBDEV_LDPC_HARQ_6BIT_COMPRESSION
Definition: rte_bbdev_op.h:172
RTE_BBDEV_TURBO_NEG_LLR_1_BIT_IN
@ RTE_BBDEV_TURBO_NEG_LLR_1_BIT_IN
Definition: rte_bbdev_op.h:88
RTE_BBDEV_LDPC_DECODE_BYPASS
@ RTE_BBDEV_LDPC_DECODE_BYPASS
Definition: rte_bbdev_op.h:156
rte_bbdev_op_ldpc_dec::hard_output
struct rte_bbdev_op_data hard_output
Definition: rte_bbdev_op.h:458
rte_bbdev_dec_op
Definition: rte_bbdev_op.h:779
RTE_BBDEV_LDPC_LLR_COMPRESSION
@ RTE_BBDEV_LDPC_LLR_COMPRESSION
Definition: rte_bbdev_op.h:174
rte_bbdev_op_dec_ldpc_tb_params::cab
uint8_t cab
Definition: rte_bbdev_op.h:346
rte_bbdev_op_ldpc_dec::n_cb
uint16_t n_cb
Definition: rte_bbdev_op.h:492
rte_bbdev_op_cap_ldpc_enc::num_buffers_src
uint16_t num_buffers_src
Definition: rte_bbdev_op.h:739
rte_bbdev_op_enc_ldpc_cb_params
Definition: rte_bbdev_op.h:572
rte_bbdev_op_cap_ldpc_dec::capability_flags
uint32_t capability_flags
Definition: rte_bbdev_op.h:721
rte_bbdev_op_data::data
struct rte_mbuf * data
Definition: rte_bbdev_op.h:253
rte_bbdev_op_ldpc_dec::harq_combined_output
struct rte_bbdev_op_data harq_combined_output
Definition: rte_bbdev_op.h:464
rte_bbdev_op_ldpc_enc::input
struct rte_bbdev_op_data input
Definition: rte_bbdev_op.h:653
rte_bbdev_dec_op::opaque_data
void * opaque_data
Definition: rte_bbdev_op.h:785
rte_bbdev_op_turbo_dec::op_flags
uint32_t op_flags
Definition: rte_bbdev_op.h:388
rte_common.h
RTE_BBDEV_TURBO_EQUALIZER
@ RTE_BBDEV_TURBO_EQUALIZER
Definition: rte_bbdev_op.h:58
rte_bbdev_op_cap_ldpc_enc::capability_flags
uint32_t capability_flags
Definition: rte_bbdev_op.h:737
RTE_BBDEV_TURBO_EARLY_TERMINATION
@ RTE_BBDEV_TURBO_EARLY_TERMINATION
Definition: rte_bbdev_op.h:72
rte_bbdev_op_data
Definition: rte_bbdev_op.h:223
rte_bbdev_op_dec_turbo_tb_params::k_neg
uint16_t k_neg
Definition: rte_bbdev_op.h:304
rte_bbdev_op_ldpc_enc::tb_params
struct rte_bbdev_op_enc_ldpc_tb_params tb_params
Definition: rte_bbdev_op.h:688
rte_bbdev_op_turbo_enc::op_flags
uint32_t op_flags
Definition: rte_bbdev_op.h:624
rte_bbdev_op_dec_turbo_tb_params::eb
uint32_t eb
Definition: rte_bbdev_op.h:324
rte_bbdev_op_cap_turbo_dec
Definition: rte_bbdev_op.h:693
rte_bbdev_op_ldpc_enc::q_m
uint8_t q_m
Definition: rte_bbdev_op.h:677
RTE_BBDEV_LDPC_ENC_INTERRUPTS
@ RTE_BBDEV_LDPC_ENC_INTERRUPTS
Definition: rte_bbdev_op.h:207
rte_bbdev_op_turbo_dec::iter_min
uint8_t iter_min
Definition: rte_bbdev_op.h:395
RTE_BBDEV_TURBO_DEC_SCATTER_GATHER
@ RTE_BBDEV_TURBO_DEC_SCATTER_GATHER
Definition: rte_bbdev_op.h:110
rte_bbdev_op_turbo_enc::output
struct rte_bbdev_op_data output
Definition: rte_bbdev_op.h:622
RTE_BBDEV_LDPC_ENC_CONCATENATION
@ RTE_BBDEV_LDPC_ENC_CONCATENATION
Definition: rte_bbdev_op.h:211
rte_bbdev_op_enc_ldpc_tb_params::ea
uint32_t ea
Definition: rte_bbdev_op.h:584
rte_bbdev_op_turbo_dec::cb_params
struct rte_bbdev_op_dec_turbo_cb_params cb_params
Definition: rte_bbdev_op.h:415
rte_bbdev_op_ldpc_dec::soft_output
struct rte_bbdev_op_data soft_output
Definition: rte_bbdev_op.h:460
rte_bbdev_op_ldpc_dec::code_block_mode
uint8_t code_block_mode
Definition: rte_bbdev_op.h:502
rte_bbdev_op_turbo_enc::cb_params
struct rte_bbdev_op_enc_turbo_cb_params cb_params
Definition: rte_bbdev_op.h:632
rte_bbdev_op_turbo_dec::iter_max
uint8_t iter_max
Definition: rte_bbdev_op.h:399
rte_bbdev_op_dec_turbo_tb_params
Definition: rte_bbdev_op.h:300
RTE_BBDEV_TURBO_SOFT_OUTPUT
@ RTE_BBDEV_TURBO_SOFT_OUTPUT
Definition: rte_bbdev_op.h:70
rte_bbdev_op_cap::type
enum rte_bbdev_op_type type
Definition: rte_bbdev_op.h:796
rte_bbdev_enc_op_alloc_bulk
static int rte_bbdev_enc_op_alloc_bulk(struct rte_mempool *mempool, struct rte_bbdev_enc_op **ops, uint16_t num_ops)
Definition: rte_bbdev_op.h:863
rte_bbdev_op_cap_ldpc_enc
Definition: rte_bbdev_op.h:735
RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_IN_ENABLE
@ RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_IN_ENABLE
Definition: rte_bbdev_op.h:178
rte_mempool
Definition: rte_mempool.h:212
rte_bbdev_op_dec_ldpc_cb_params::e
uint32_t e
Definition: rte_bbdev_op.h:296
rte_bbdev_op_enc_turbo_tb_params
Definition: rte_bbdev_op.h:530
RTE_BBDEV_LDPC_RATE_MATCH
@ RTE_BBDEV_LDPC_RATE_MATCH
Definition: rte_bbdev_op.h:199
RTE_BBDEV_LDPC_INTERLEAVER_BYPASS
@ RTE_BBDEV_LDPC_INTERLEAVER_BYPASS
Definition: rte_bbdev_op.h:197
RTE_BBDEV_TURBO_CRC_24A_ATTACH
@ RTE_BBDEV_TURBO_CRC_24A_ATTACH
Definition: rte_bbdev_op.h:130
RTE_BBDEV_LDPC_CRC_24B_ATTACH
@ RTE_BBDEV_LDPC_CRC_24B_ATTACH
Definition: rte_bbdev_op.h:203
rte_bbdev_enc_op::opaque_data
void * opaque_data
Definition: rte_bbdev_op.h:769
rte_bbdev_op_turbo_dec::soft_output
struct rte_bbdev_op_data soft_output
Definition: rte_bbdev_op.h:385
rte_bbdev_op_cap_turbo_dec::max_llr_modulus
int8_t max_llr_modulus
Definition: rte_bbdev_op.h:699
RTE_BBDEV_LDPC_SOFT_OUT_DEINTERLEAVER_BYPASS
@ RTE_BBDEV_LDPC_SOFT_OUT_DEINTERLEAVER_BYPASS
Definition: rte_bbdev_op.h:162
rte_bbdev_op_turbo_dec::code_block_mode
uint8_t code_block_mode
Definition: rte_bbdev_op.h:412
rte_mempool_get_bulk
static __rte_always_inline int rte_mempool_get_bulk(struct rte_mempool *mp, void **obj_table, unsigned int n)
Definition: rte_mempool.h:1580
rte_bbdev_op_enc_turbo_tb_params::cab
uint8_t cab
Definition: rte_bbdev_op.h:550
rte_bbdev_op_type_str
const char * rte_bbdev_op_type_str(enum rte_bbdev_op_type op_type)
RTE_BBDEV_TURBO_CONTINUE_CRC_MATCH
@ RTE_BBDEV_TURBO_CONTINUE_CRC_MATCH
Definition: rte_bbdev_op.h:68
rte_mempool.h
RTE_BBDEV_TURBO_RV_INDEX_BYPASS
@ RTE_BBDEV_TURBO_RV_INDEX_BYPASS
Definition: rte_bbdev_op.h:124
rte_mempool_put_bulk
static __rte_always_inline void rte_mempool_put_bulk(struct rte_mempool *mp, void *const *obj_table, unsigned int n)
Definition: rte_mempool.h:1422
rte_bbdev_op_ldpc_enc::output
struct rte_bbdev_op_data output
Definition: rte_bbdev_op.h:655
RTE_BBDEV_CODE_BLOCK
@ RTE_BBDEV_CODE_BLOCK
Definition: rte_bbdev_op.h:219
RTE_BBDEV_LDPC_DEINTERLEAVER_BYPASS
@ RTE_BBDEV_LDPC_DEINTERLEAVER_BYPASS
Definition: rte_bbdev_op.h:148
rte_bbdev_op_enc_turbo_cb_params::ncb
uint16_t ncb
Definition: rte_bbdev_op.h:526
rte_bbdev_op_td_flag_bitmasks
rte_bbdev_op_td_flag_bitmasks
Definition: rte_bbdev_op.h:52
rte_bbdev_op_ldpcenc_flag_bitmasks
rte_bbdev_op_ldpcenc_flag_bitmasks
Definition: rte_bbdev_op.h:195
rte_bbdev_op_enc_ldpc_cb_params::e
uint32_t e
Definition: rte_bbdev_op.h:576
rte_bbdev_op_dec_turbo_cb_params::k
uint16_t k
Definition: rte_bbdev_op.h:284
rte_bbdev_op_turbo_dec::tb_params
struct rte_bbdev_op_dec_turbo_tb_params tb_params
Definition: rte_bbdev_op.h:417
RTE_BBDEV_LDPC_ENC_SCATTER_GATHER
@ RTE_BBDEV_LDPC_ENC_SCATTER_GATHER
Definition: rte_bbdev_op.h:209
rte_bbdev_op_turbo_enc::tb_params
struct rte_bbdev_op_enc_turbo_tb_params tb_params
Definition: rte_bbdev_op.h:634
rte_mbuf.h
rte_bbdev_op_cap_turbo_dec::capability_flags
uint32_t capability_flags
Definition: rte_bbdev_op.h:695
rte_bbdev_dec_op::status
int status
Definition: rte_bbdev_op.h:781
rte_bbdev_op_cap_ldpc_dec::num_buffers_src
uint16_t num_buffers_src
Definition: rte_bbdev_op.h:727
rte_bbdev_op_enc_turbo_tb_params::ncb_neg
uint16_t ncb_neg
Definition: rte_bbdev_op.h:562
rte_bbdev_op_pool_create
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_LDPC_DEC_SCATTER_GATHER
@ RTE_BBDEV_LDPC_DEC_SCATTER_GATHER
Definition: rte_bbdev_op.h:170
rte_bbdev_enc_op::turbo_enc
struct rte_bbdev_op_turbo_enc turbo_enc
Definition: rte_bbdev_op.h:772
RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_FILLERS
@ RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_FILLERS
Definition: rte_bbdev_op.h:191
rte_bbdev_op_ldpc_dec::tb_params
struct rte_bbdev_op_dec_ldpc_tb_params tb_params
Definition: rte_bbdev_op.h:507
RTE_BBDEV_TRANSPORT_BLOCK
@ RTE_BBDEV_TRANSPORT_BLOCK
Definition: rte_bbdev_op.h:217
rte_bbdev_op_turbo_enc::input
struct rte_bbdev_op_data input
Definition: rte_bbdev_op.h:620
rte_bbdev_op_dec_turbo_tb_params::k_pos
uint16_t k_pos
Definition: rte_bbdev_op.h:308
RTE_BBDEV_LDPC_CRC_TYPE_24B_DROP
@ RTE_BBDEV_LDPC_CRC_TYPE_24B_DROP
Definition: rte_bbdev_op.h:144
RTE_BBDEV_LDPC_CRC_TYPE_24A_CHECK
@ RTE_BBDEV_LDPC_CRC_TYPE_24A_CHECK
Definition: rte_bbdev_op.h:140
rte_bbdev_op_enc_turbo_tb_params::c_neg
uint8_t c_neg
Definition: rte_bbdev_op.h:544
rte_bbdev_op_dec_turbo_tb_params::c
uint8_t c
Definition: rte_bbdev_op.h:314
RTE_BBDEV_LDPC_SOFT_OUT_RM_BYPASS
@ RTE_BBDEV_LDPC_SOFT_OUT_RM_BYPASS
Definition: rte_bbdev_op.h:160
RTE_BBDEV_LDPC_CRC_TYPE_16_CHECK
@ RTE_BBDEV_LDPC_CRC_TYPE_16_CHECK
Definition: rte_bbdev_op.h:146
rte_bbdev_op_ldpcdec_flag_bitmasks
rte_bbdev_op_ldpcdec_flag_bitmasks
Definition: rte_bbdev_op.h:138
rte_bbdev_op_turbo_dec::ext_scale
uint8_t ext_scale
Definition: rte_bbdev_op.h:405
rte_bbdev_op_turbo_dec::rv_index
uint8_t rv_index
Definition: rte_bbdev_op.h:391
RTE_BBDEV_OP_TURBO_ENC
@ RTE_BBDEV_OP_TURBO_ENC
Definition: rte_bbdev_op.h:748
rte_bbdev_op_enc_turbo_cb_params::e
uint32_t e
Definition: rte_bbdev_op.h:522
rte_mempool::cache_size
uint32_t cache_size
Definition: rte_mempool.h:224
rte_bbdev_op_cap_turbo_enc::capability_flags
uint32_t capability_flags
Definition: rte_bbdev_op.h:711
RTE_BBDEV_TURBO_HALF_ITERATION_EVEN
@ RTE_BBDEV_TURBO_HALF_ITERATION_EVEN
Definition: rte_bbdev_op.h:64
rte_bbdev_op_cap
Definition: rte_bbdev_op.h:795
rte_bbdev_op_dec_ldpc_tb_params::ea
uint32_t ea
Definition: rte_bbdev_op.h:334
RTE_BBDEV_TURBO_DEC_INTERRUPTS
@ RTE_BBDEV_TURBO_DEC_INTERRUPTS
Definition: rte_bbdev_op.h:74
rte_bbdev_dec_op::turbo_dec
struct rte_bbdev_op_turbo_dec turbo_dec
Definition: rte_bbdev_op.h:788
rte_mempool::socket_id
int socket_id
Definition: rte_mempool.h:222
RTE_BBDEV_TURBO_RATE_MATCH
@ RTE_BBDEV_TURBO_RATE_MATCH
Definition: rte_bbdev_op.h:126
rte_bbdev_op_ldpc_dec::rv_index
uint8_t rv_index
Definition: rte_bbdev_op.h:472
rte_bbdev_op_ldpc_dec::input
struct rte_bbdev_op_data input
Definition: rte_bbdev_op.h:454
rte_bbdev_op_cap_ldpc_dec::llr_decimals
int8_t llr_decimals
Definition: rte_bbdev_op.h:725
RTE_BBDEV_TURBO_CRC_TYPE_24B
@ RTE_BBDEV_TURBO_CRC_TYPE_24B
Definition: rte_bbdev_op.h:56
rte_bbdev_op_dec_ldpc_tb_params::eb
uint32_t eb
Definition: rte_bbdev_op.h:338
rte_bbdev_op_enc_ldpc_tb_params::r
uint8_t r
Definition: rte_bbdev_op.h:594
RTE_BBDEV_LDPC_CRC_24A_ATTACH
@ RTE_BBDEV_LDPC_CRC_24A_ATTACH
Definition: rte_bbdev_op.h:201
RTE_BBDEV_LDPC_CRC_16_ATTACH
@ RTE_BBDEV_LDPC_CRC_16_ATTACH
Definition: rte_bbdev_op.h:205
rte_bbdev_op_enc_turbo_cb_params::k
uint16_t k
Definition: rte_bbdev_op.h:518
RTE_BBDEV_LDPC_DEC_INTERRUPTS
@ RTE_BBDEV_LDPC_DEC_INTERRUPTS
Definition: rte_bbdev_op.h:168
rte_bbdev_op_ldpc_enc::cb_params
struct rte_bbdev_op_enc_ldpc_cb_params cb_params
Definition: rte_bbdev_op.h:686