DPDK  19.11.1
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 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
21 #include <stdint.h>
22 
23 #include <rte_common.h>
24 #include <rte_mbuf.h>
25 #include <rte_memory.h>
26 #include <rte_mempool.h>
27 
28 /* Number of columns in sub-block interleaver (36.212, section 5.1.4.1.1) */
29 #define RTE_BBDEV_TURBO_C_SUBBLOCK (32)
30 /* Maximum size of Transport Block (36.213, Table, Table 7.1.7.2.5-1) */
31 #define RTE_BBDEV_TURBO_MAX_TB_SIZE (391656)
32 /* Maximum size of Code Block (36.212, Table 5.1.3-3) */
33 #define RTE_BBDEV_TURBO_MAX_CB_SIZE (6144)
34 /* Maximum size of Code Block */
35 #define RTE_BBDEV_LDPC_MAX_CB_SIZE (8448)
36 /* Minimum size of Code Block (36.212, Table 5.1.3-3) */
37 #define RTE_BBDEV_TURBO_MIN_CB_SIZE (40)
38 /* Maximum size of circular buffer */
39 #define RTE_BBDEV_TURBO_MAX_KW (18528)
40 /*
41  * Turbo: Maximum number of Code Blocks in Transport Block. It is calculated
42  * based on maximum size of one Code Block and one Transport Block
43  * (considering CRC24A and CRC24B):
44  * (391656 + 24) / (6144 - 24) = 64
45  */
46 #define RTE_BBDEV_TURBO_MAX_CODE_BLOCKS (64)
47 /* LDPC: Maximum number of Code Blocks in Transport Block.*/
48 #define RTE_BBDEV_LDPC_MAX_CODE_BLOCKS (256)
49 
107  RTE_BBDEV_TURBO_MAP_DEC = (1ULL << 14),
114 };
115 
116 
131 };
132 
181 };
182 
201 };
202 
234  struct rte_mbuf *data;
242  uint32_t offset;
255  uint32_t length;
256 };
257 
265  uint16_t k;
269  uint32_t e;
270 };
271 
277  uint32_t e;
278 };
279 
285  uint16_t k_neg;
289  uint16_t k_pos;
291  uint8_t c_neg;
295  uint8_t c;
297  uint8_t cab;
301  uint32_t ea;
305  uint32_t eb;
307  uint8_t r;
308 };
309 
315  uint32_t ea;
319  uint32_t eb;
323  uint8_t c;
325  uint8_t r;
327  uint8_t cab;
328 };
329 
367 
369  uint32_t op_flags;
370 
372  uint8_t rv_index;
376  uint8_t iter_min:4;
380  uint8_t iter_max:4;
384  uint8_t iter_count;
386  uint8_t ext_scale;
390  uint8_t num_maps;
391 
393  uint8_t code_block_mode;
394  union {
398  struct rte_bbdev_op_dec_turbo_tb_params tb_params;
399  };
400 };
401 
446 
448  uint32_t op_flags;
449 
453  uint8_t rv_index;
457  uint8_t iter_max;
461  uint8_t iter_count;
465  uint8_t basegraph;
469  uint16_t z_c;
473  uint16_t n_cb;
477  uint8_t q_m;
481  uint16_t n_filler;
484  union {
489  };
490 };
491 
499  uint16_t k;
503  uint32_t e;
507  uint16_t ncb;
508 };
509 
517  uint16_t k_neg;
523  uint16_t k_pos;
525  uint8_t c_neg;
529  uint8_t c;
531  uint8_t cab;
535  uint32_t ea;
539  uint32_t eb;
543  uint16_t ncb_neg;
547  uint16_t ncb_pos;
549  uint8_t r;
550 };
551 
557  uint32_t e;
558 };
559 
565  uint32_t ea;
569  uint32_t eb;
573  uint8_t c;
575  uint8_t r;
577  uint8_t cab;
578 };
579 
605  uint32_t op_flags;
606 
608  uint8_t rv_index;
611  union {
616  };
617 };
618 
637 
639  uint32_t op_flags;
640 
642  uint8_t rv_index;
646  uint8_t basegraph;
650  uint16_t z_c;
654  uint16_t n_cb;
658  uint8_t q_m;
662  uint16_t n_filler;
665  union {
670  };
671 };
672 
682  uint8_t num_buffers_src;
687 };
688 
697 };
698 
704  int8_t llr_size;
706  int8_t llr_decimals;
710  uint16_t num_buffers_src;
715 };
716 
722  uint16_t num_buffers_src;
724  uint16_t num_buffers_dst;
725 };
726 
735 };
736 
738 enum {
739  RTE_BBDEV_DRV_ERROR,
740  RTE_BBDEV_DATA_ERROR,
741  RTE_BBDEV_CRC_ERROR,
742  RTE_BBDEV_SYNDROME_ERROR
743 };
744 
748  int status;
752  void *opaque_data;
753  union {
758  };
759 };
760 
764  int status;
768  void *opaque_data;
769  union {
774  };
775 };
776 
780  union {
781  struct rte_bbdev_op_cap_turbo_dec turbo_dec;
782  struct rte_bbdev_op_cap_turbo_enc turbo_enc;
783  struct rte_bbdev_op_cap_ldpc_dec ldpc_dec;
784  struct rte_bbdev_op_cap_ldpc_enc ldpc_enc;
785  } cap;
786 };
787 
789 struct rte_bbdev_op_pool_private {
790  enum rte_bbdev_op_type type;
791 };
792 
803 __rte_experimental
804 const char*
806 
827 __rte_experimental
828 struct rte_mempool *
829 rte_bbdev_op_pool_create(const char *name, enum rte_bbdev_op_type type,
830  unsigned int num_elements, unsigned int cache_size,
831  int socket_id);
832 
847 __rte_experimental
848 static inline int
850  struct rte_bbdev_enc_op **ops, uint16_t num_ops)
851 {
852  struct rte_bbdev_op_pool_private *priv;
853  int ret;
854 
855  /* Check type */
856  priv = (struct rte_bbdev_op_pool_private *)
857  rte_mempool_get_priv(mempool);
858  if (unlikely((priv->type != RTE_BBDEV_OP_TURBO_ENC) &&
859  (priv->type != RTE_BBDEV_OP_LDPC_ENC)))
860  return -EINVAL;
861 
862  /* Get elements */
863  ret = rte_mempool_get_bulk(mempool, (void **)ops, num_ops);
864  if (unlikely(ret < 0))
865  return ret;
866 
867  return 0;
868 }
869 
884 __rte_experimental
885 static inline int
887  struct rte_bbdev_dec_op **ops, uint16_t num_ops)
888 {
889  struct rte_bbdev_op_pool_private *priv;
890  int ret;
891 
892  /* Check type */
893  priv = (struct rte_bbdev_op_pool_private *)
894  rte_mempool_get_priv(mempool);
895  if (unlikely((priv->type != RTE_BBDEV_OP_TURBO_DEC) &&
896  (priv->type != RTE_BBDEV_OP_LDPC_DEC)))
897  return -EINVAL;
898 
899  /* Get elements */
900  ret = rte_mempool_get_bulk(mempool, (void **)ops, num_ops);
901  if (unlikely(ret < 0))
902  return ret;
903 
904  return 0;
905 }
906 
917 __rte_experimental
918 static inline void
919 rte_bbdev_dec_op_free_bulk(struct rte_bbdev_dec_op **ops, unsigned int num_ops)
920 {
921  if (num_ops > 0)
922  rte_mempool_put_bulk(ops[0]->mempool, (void **)ops, num_ops);
923 }
924 
935 __rte_experimental
936 static inline void
937 rte_bbdev_enc_op_free_bulk(struct rte_bbdev_enc_op **ops, unsigned int num_ops)
938 {
939  if (num_ops > 0)
940  rte_mempool_put_bulk(ops[0]->mempool, (void **)ops, num_ops);
941 }
942 
943 #ifdef __cplusplus
944 }
945 #endif
946 
947 #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:486
rte_bbdev_op_dec_turbo_cb_params::e
uint32_t e
Definition: rte_bbdev_op.h:269
rte_bbdev_op_enc_turbo_tb_params::k_pos
uint16_t k_pos
Definition: rte_bbdev_op.h:523
RTE_BBDEV_TURBO_SOFT_OUT_SATURATE
@ RTE_BBDEV_TURBO_SOFT_OUT_SATURATE
Definition: rte_bbdev_op.h:59
RTE_BBDEV_OP_LDPC_DEC
@ RTE_BBDEV_OP_LDPC_DEC
Definition: rte_bbdev_op.h:732
rte_bbdev_op_ldpc_enc::n_filler
uint16_t n_filler
Definition: rte_bbdev_op.h:662
rte_bbdev_op_turbo_dec::hard_output
struct rte_bbdev_op_data hard_output
Definition: rte_bbdev_op.h:364
rte_bbdev_op_dec_turbo_tb_params::cab
uint8_t cab
Definition: rte_bbdev_op.h:297
RTE_BBDEV_TURBO_CRC_24B_ATTACH
@ RTE_BBDEV_TURBO_CRC_24B_ATTACH
Definition: rte_bbdev_op.h:124
rte_bbdev_op_dec_turbo_tb_params::c_neg
uint8_t c_neg
Definition: rte_bbdev_op.h:291
RTE_BBDEV_OP_NONE
@ RTE_BBDEV_OP_NONE
Definition: rte_bbdev_op.h:729
rte_bbdev_op_turbo_enc::code_block_mode
uint8_t code_block_mode
Definition: rte_bbdev_op.h:610
rte_bbdev_op_pool_create
__rte_experimental 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_DEC_TB_CRC_24B_KEEP
@ RTE_BBDEV_TURBO_DEC_TB_CRC_24B_KEEP
Definition: rte_bbdev_op.h:113
RTE_BBDEV_TURBO_POS_LLR_1_BIT_SOFT_OUT
@ RTE_BBDEV_TURBO_POS_LLR_1_BIT_SOFT_OUT
Definition: rte_bbdev_op.h:95
rte_bbdev_op_cap_turbo_enc::num_buffers_dst
uint8_t num_buffers_dst
Definition: rte_bbdev_op.h:696
rte_bbdev_op_cap_ldpc_enc::num_buffers_dst
uint16_t num_buffers_dst
Definition: rte_bbdev_op.h:724
rte_mempool_get_priv
static void * rte_mempool_get_priv(struct rte_mempool *mp)
Definition: rte_mempool.h:1717
rte_bbdev_op_data::length
uint32_t length
Definition: rte_bbdev_op.h:255
rte_bbdev_op_ldpc_enc
Definition: rte_bbdev_op.h:632
rte_bbdev_op_cap_ldpc_dec
Definition: rte_bbdev_op.h:700
rte_memory.h
unlikely
#define unlikely(x)
Definition: rte_branch_prediction.h:38
rte_bbdev_op_ldpc_dec::q_m
uint8_t q_m
Definition: rte_bbdev_op.h:477
RTE_BBDEV_LDPC_HQ_COMBINE_OUT_ENABLE
@ RTE_BBDEV_LDPC_HQ_COMBINE_OUT_ENABLE
Definition: rte_bbdev_op.h:146
rte_bbdev_op_dec_turbo_tb_params::ea
uint32_t ea
Definition: rte_bbdev_op.h:301
RTE_BBDEV_TURBO_SUBBLOCK_DEINTERLEAVE
@ RTE_BBDEV_TURBO_SUBBLOCK_DEINTERLEAVE
Definition: rte_bbdev_op.h:53
RTE_BBDEV_OP_TURBO_DEC
@ RTE_BBDEV_OP_TURBO_DEC
Definition: rte_bbdev_op.h:730
RTE_BBDEV_LDPC_ITERATION_STOP_ENABLE
@ RTE_BBDEV_LDPC_ITERATION_STOP_ENABLE
Definition: rte_bbdev_op.h:160
rte_bbdev_op_enc_turbo_tb_params::c
uint8_t c
Definition: rte_bbdev_op.h:529
rte_bbdev_op_dec_ldpc_tb_params
Definition: rte_bbdev_op.h:311
RTE_BBDEV_LDPC_HQ_COMBINE_IN_ENABLE
@ RTE_BBDEV_LDPC_HQ_COMBINE_IN_ENABLE
Definition: rte_bbdev_op.h:144
rte_mempool::name
char name[RTE_MEMZONE_NAMESIZE]
Definition: rte_mempool.h:222
rte_bbdev_op_enc_ldpc_tb_params::cab
uint8_t cab
Definition: rte_bbdev_op.h:577
rte_bbdev_dec_op_free_bulk
static __rte_experimental void rte_bbdev_dec_op_free_bulk(struct rte_bbdev_dec_op **ops, unsigned int num_ops)
Definition: rte_bbdev_op.h:919
rte_bbdev_dec_op::mempool
struct rte_mempool * mempool
Definition: rte_bbdev_op.h:766
RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_LOOPBACK
@ RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_LOOPBACK
Definition: rte_bbdev_op.h:180
rte_bbdev_dec_op::ldpc_dec
struct rte_bbdev_op_ldpc_dec ldpc_dec
Definition: rte_bbdev_op.h:773
rte_bbdev_op_enc_ldpc_tb_params
Definition: rte_bbdev_op.h:561
RTE_BBDEV_TURBO_NEG_LLR_1_BIT_SOFT_OUT
@ RTE_BBDEV_TURBO_NEG_LLR_1_BIT_SOFT_OUT
Definition: rte_bbdev_op.h:103
RTE_BBDEV_OP_TYPE_COUNT
@ RTE_BBDEV_OP_TYPE_COUNT
Definition: rte_bbdev_op.h:734
rte_bbdev_op_ldpc_enc::basegraph
uint8_t basegraph
Definition: rte_bbdev_op.h:646
rte_bbdev_op_enc_turbo_tb_params::ncb_pos
uint16_t ncb_pos
Definition: rte_bbdev_op.h:547
rte_bbdev_op_ldpc_dec::n_filler
uint16_t n_filler
Definition: rte_bbdev_op.h:481
rte_bbdev_op_cap_turbo_enc::num_buffers_src
uint8_t num_buffers_src
Definition: rte_bbdev_op.h:694
RTE_BBDEV_OP_LDPC_ENC
@ RTE_BBDEV_OP_LDPC_ENC
Definition: rte_bbdev_op.h:733
RTE_BBDEV_LDPC_CRC_TYPE_24B_CHECK
@ RTE_BBDEV_LDPC_CRC_TYPE_24B_CHECK
Definition: rte_bbdev_op.h:138
rte_bbdev_enc_op::ldpc_enc
struct rte_bbdev_op_ldpc_enc ldpc_enc
Definition: rte_bbdev_op.h:757
rte_bbdev_op_ldpc_dec::iter_count
uint8_t iter_count
Definition: rte_bbdev_op.h:461
rte_bbdev_op_turbo_dec::iter_count
uint8_t iter_count
Definition: rte_bbdev_op.h:384
rte_bbdev_op_enc_turbo_tb_params::k_neg
uint16_t k_neg
Definition: rte_bbdev_op.h:517
rte_bbdev_enc_op
Definition: rte_bbdev_op.h:746
rte_bbdev_op_cap_ldpc_dec::llr_size
int8_t llr_size
Definition: rte_bbdev_op.h:704
rte_bbdev_op_enc_turbo_tb_params::eb
uint32_t eb
Definition: rte_bbdev_op.h:539
rte_bbdev_op_turbo_dec::input
struct rte_bbdev_op_data input
Definition: rte_bbdev_op.h:360
rte_bbdev_op_ldpc_enc::rv_index
uint8_t rv_index
Definition: rte_bbdev_op.h:642
RTE_BBDEV_TURBO_MAP_DEC
@ RTE_BBDEV_TURBO_MAP_DEC
Definition: rte_bbdev_op.h:107
rte_bbdev_op_turbo_dec::num_maps
uint8_t num_maps
Definition: rte_bbdev_op.h:390
rte_bbdev_op_ldpc_dec
Definition: rte_bbdev_op.h:431
rte_bbdev_op_ldpc_dec::basegraph
uint8_t basegraph
Definition: rte_bbdev_op.h:465
rte_bbdev_dec_op_alloc_bulk
static __rte_experimental 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:886
rte_bbdev_op_cap_turbo_dec::num_buffers_soft_out
uint8_t num_buffers_soft_out
Definition: rte_bbdev_op.h:686
RTE_BBDEV_TURBO_POS_LLR_1_BIT_IN
@ RTE_BBDEV_TURBO_POS_LLR_1_BIT_IN
Definition: rte_bbdev_op.h:80
rte_bbdev_op_te_flag_bitmasks
rte_bbdev_op_te_flag_bitmasks
Definition: rte_bbdev_op.h:118
rte_bbdev_op_turbo_enc
Definition: rte_bbdev_op.h:599
rte_bbdev_op_ldpc_enc::z_c
uint16_t z_c
Definition: rte_bbdev_op.h:650
rte_bbdev_op_ldpc_dec::iter_max
uint8_t iter_max
Definition: rte_bbdev_op.h:457
rte_bbdev_op_data::offset
uint32_t offset
Definition: rte_bbdev_op.h:242
RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_OUT_ENABLE
@ RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_OUT_ENABLE
Definition: rte_bbdev_op.h:176
rte_mbuf
Definition: rte_mbuf_core.h:480
rte_bbdev_op_ldpc_dec::z_c
uint16_t z_c
Definition: rte_bbdev_op.h:469
RTE_BBDEV_TURBO_ENC_INTERRUPTS
@ RTE_BBDEV_TURBO_ENC_INTERRUPTS
Definition: rte_bbdev_op.h:128
rte_bbdev_op_type
rte_bbdev_op_type
Definition: rte_bbdev_op.h:728
rte_bbdev_enc_op::mempool
struct rte_mempool * mempool
Definition: rte_bbdev_op.h:750
rte_bbdev_op_enc_turbo_cb_params
Definition: rte_bbdev_op.h:493
rte_bbdev_op_cap_ldpc_dec::num_buffers_soft_out
uint16_t num_buffers_soft_out
Definition: rte_bbdev_op.h:714
rte_bbdev_op_enc_ldpc_tb_params::c
uint8_t c
Definition: rte_bbdev_op.h:573
rte_bbdev_op_type_str
const __rte_experimental char * rte_bbdev_op_type_str(enum rte_bbdev_op_type op_type)
rte_bbdev_op_ldpc_dec::harq_combined_input
struct rte_bbdev_op_data harq_combined_input
Definition: rte_bbdev_op.h:443
rte_bbdev_op_dec_ldpc_tb_params::r
uint8_t r
Definition: rte_bbdev_op.h:325
rte_bbdev_op_cap_turbo_enc
Definition: rte_bbdev_op.h:690
rte_bbdev_enc_op::status
int status
Definition: rte_bbdev_op.h:748
RTE_BBDEV_LDPC_SOFT_OUT_ENABLE
@ RTE_BBDEV_LDPC_SOFT_OUT_ENABLE
Definition: rte_bbdev_op.h:152
rte_bbdev_op_dec_ldpc_tb_params::c
uint8_t c
Definition: rte_bbdev_op.h:323
rte_bbdev_op_enc_ldpc_tb_params::eb
uint32_t eb
Definition: rte_bbdev_op.h:569
rte_bbdev_op_ldpc_dec::op_flags
uint32_t op_flags
Definition: rte_bbdev_op.h:448
rte_bbdev_op_turbo_dec
Definition: rte_bbdev_op.h:358
rte_bbdev_op_cap_turbo_dec::num_buffers_src
uint8_t num_buffers_src
Definition: rte_bbdev_op.h:682
rte_bbdev_op_cap_turbo_dec::num_buffers_hard_out
uint8_t num_buffers_hard_out
Definition: rte_bbdev_op.h:684
RTE_BBDEV_TURBO_ENC_SCATTER_GATHER
@ RTE_BBDEV_TURBO_ENC_SCATTER_GATHER
Definition: rte_bbdev_op.h:130
rte_bbdev_op_cap_ldpc_dec::num_buffers_hard_out
uint16_t num_buffers_hard_out
Definition: rte_bbdev_op.h:712
rte_bbdev_op_enc_turbo_tb_params::ea
uint32_t ea
Definition: rte_bbdev_op.h:535
rte_bbdev_op_ldpc_enc::op_flags
uint32_t op_flags
Definition: rte_bbdev_op.h:639
rte_bbdev_op_ldpc_enc::code_block_mode
uint8_t code_block_mode
Definition: rte_bbdev_op.h:664
rte_bbdev_op_ldpc_enc::n_cb
uint16_t n_cb
Definition: rte_bbdev_op.h:654
rte_bbdev_op_turbo_enc::rv_index
uint8_t rv_index
Definition: rte_bbdev_op.h:608
rte_bbdev_op_dec_turbo_tb_params::r
uint8_t r
Definition: rte_bbdev_op.h:307
rte_bbdev_op_dec_turbo_cb_params
Definition: rte_bbdev_op.h:259
rte_bbdev_op_dec_ldpc_cb_params
Definition: rte_bbdev_op.h:273
RTE_BBDEV_LDPC_HARQ_6BIT_COMPRESSION
@ RTE_BBDEV_LDPC_HARQ_6BIT_COMPRESSION
Definition: rte_bbdev_op.h:166
RTE_BBDEV_TURBO_NEG_LLR_1_BIT_IN
@ RTE_BBDEV_TURBO_NEG_LLR_1_BIT_IN
Definition: rte_bbdev_op.h:87
RTE_BBDEV_LDPC_DECODE_BYPASS
@ RTE_BBDEV_LDPC_DECODE_BYPASS
Definition: rte_bbdev_op.h:150
rte_bbdev_op_ldpc_dec::hard_output
struct rte_bbdev_op_data hard_output
Definition: rte_bbdev_op.h:439
rte_bbdev_dec_op
Definition: rte_bbdev_op.h:762
RTE_BBDEV_LDPC_LLR_COMPRESSION
@ RTE_BBDEV_LDPC_LLR_COMPRESSION
Definition: rte_bbdev_op.h:168
rte_bbdev_op_dec_ldpc_tb_params::cab
uint8_t cab
Definition: rte_bbdev_op.h:327
rte_bbdev_op_ldpc_dec::n_cb
uint16_t n_cb
Definition: rte_bbdev_op.h:473
rte_bbdev_enc_op_alloc_bulk
static __rte_experimental 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:849
rte_bbdev_op_cap_ldpc_enc::num_buffers_src
uint16_t num_buffers_src
Definition: rte_bbdev_op.h:722
rte_bbdev_op_enc_ldpc_cb_params
Definition: rte_bbdev_op.h:553
rte_bbdev_op_cap_ldpc_dec::capability_flags
uint32_t capability_flags
Definition: rte_bbdev_op.h:702
rte_bbdev_op_data::data
struct rte_mbuf * data
Definition: rte_bbdev_op.h:234
rte_bbdev_op_ldpc_dec::harq_combined_output
struct rte_bbdev_op_data harq_combined_output
Definition: rte_bbdev_op.h:445
rte_bbdev_op_ldpc_enc::input
struct rte_bbdev_op_data input
Definition: rte_bbdev_op.h:634
rte_bbdev_dec_op::opaque_data
void * opaque_data
Definition: rte_bbdev_op.h:768
rte_bbdev_op_turbo_dec::op_flags
uint32_t op_flags
Definition: rte_bbdev_op.h:369
rte_common.h
RTE_BBDEV_TURBO_EQUALIZER
@ RTE_BBDEV_TURBO_EQUALIZER
Definition: rte_bbdev_op.h:57
rte_bbdev_op_cap_ldpc_enc::capability_flags
uint32_t capability_flags
Definition: rte_bbdev_op.h:720
RTE_BBDEV_TURBO_EARLY_TERMINATION
@ RTE_BBDEV_TURBO_EARLY_TERMINATION
Definition: rte_bbdev_op.h:71
rte_bbdev_op_data
Definition: rte_bbdev_op.h:204
rte_bbdev_op_dec_turbo_tb_params::k_neg
uint16_t k_neg
Definition: rte_bbdev_op.h:285
rte_bbdev_op_ldpc_enc::tb_params
struct rte_bbdev_op_enc_ldpc_tb_params tb_params
Definition: rte_bbdev_op.h:669
rte_bbdev_op_turbo_enc::op_flags
uint32_t op_flags
Definition: rte_bbdev_op.h:605
rte_bbdev_op_dec_turbo_tb_params::eb
uint32_t eb
Definition: rte_bbdev_op.h:305
rte_bbdev_op_cap_turbo_dec
Definition: rte_bbdev_op.h:674
rte_bbdev_op_ldpc_enc::q_m
uint8_t q_m
Definition: rte_bbdev_op.h:658
RTE_BBDEV_LDPC_ENC_INTERRUPTS
@ RTE_BBDEV_LDPC_ENC_INTERRUPTS
Definition: rte_bbdev_op.h:196
rte_bbdev_op_turbo_dec::iter_min
uint8_t iter_min
Definition: rte_bbdev_op.h:376
RTE_BBDEV_TURBO_DEC_SCATTER_GATHER
@ RTE_BBDEV_TURBO_DEC_SCATTER_GATHER
Definition: rte_bbdev_op.h:109
rte_bbdev_op_turbo_enc::output
struct rte_bbdev_op_data output
Definition: rte_bbdev_op.h:603
RTE_BBDEV_LDPC_ENC_CONCATENATION
@ RTE_BBDEV_LDPC_ENC_CONCATENATION
Definition: rte_bbdev_op.h:200
rte_bbdev_op_enc_ldpc_tb_params::ea
uint32_t ea
Definition: rte_bbdev_op.h:565
rte_bbdev_op_turbo_dec::cb_params
struct rte_bbdev_op_dec_turbo_cb_params cb_params
Definition: rte_bbdev_op.h:396
rte_bbdev_op_ldpc_dec::soft_output
struct rte_bbdev_op_data soft_output
Definition: rte_bbdev_op.h:441
rte_bbdev_op_ldpc_dec::code_block_mode
uint8_t code_block_mode
Definition: rte_bbdev_op.h:483
rte_bbdev_op_turbo_enc::cb_params
struct rte_bbdev_op_enc_turbo_cb_params cb_params
Definition: rte_bbdev_op.h:613
rte_bbdev_op_turbo_dec::iter_max
uint8_t iter_max
Definition: rte_bbdev_op.h:380
rte_bbdev_op_dec_turbo_tb_params
Definition: rte_bbdev_op.h:281
RTE_BBDEV_TURBO_SOFT_OUTPUT
@ RTE_BBDEV_TURBO_SOFT_OUTPUT
Definition: rte_bbdev_op.h:69
rte_bbdev_op_cap::type
enum rte_bbdev_op_type type
Definition: rte_bbdev_op.h:779
rte_bbdev_op_cap_ldpc_enc
Definition: rte_bbdev_op.h:718
RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_IN_ENABLE
@ RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_IN_ENABLE
Definition: rte_bbdev_op.h:172
rte_mempool
Definition: rte_mempool.h:216
rte_bbdev_op_dec_ldpc_cb_params::e
uint32_t e
Definition: rte_bbdev_op.h:277
rte_bbdev_op_enc_turbo_tb_params
Definition: rte_bbdev_op.h:511
RTE_BBDEV_LDPC_RATE_MATCH
@ RTE_BBDEV_LDPC_RATE_MATCH
Definition: rte_bbdev_op.h:188
RTE_BBDEV_LDPC_INTERLEAVER_BYPASS
@ RTE_BBDEV_LDPC_INTERLEAVER_BYPASS
Definition: rte_bbdev_op.h:186
RTE_BBDEV_TURBO_CRC_24A_ATTACH
@ RTE_BBDEV_TURBO_CRC_24A_ATTACH
Definition: rte_bbdev_op.h:126
RTE_BBDEV_LDPC_CRC_24B_ATTACH
@ RTE_BBDEV_LDPC_CRC_24B_ATTACH
Definition: rte_bbdev_op.h:192
rte_bbdev_op_turbo_dec::soft_output
struct rte_bbdev_op_data soft_output
Definition: rte_bbdev_op.h:366
rte_bbdev_op_cap_turbo_dec::max_llr_modulus
int8_t max_llr_modulus
Definition: rte_bbdev_op.h:680
RTE_BBDEV_LDPC_SOFT_OUT_DEINTERLEAVER_BYPASS
@ RTE_BBDEV_LDPC_SOFT_OUT_DEINTERLEAVER_BYPASS
Definition: rte_bbdev_op.h:156
rte_bbdev_enc_op_free_bulk
static __rte_experimental void rte_bbdev_enc_op_free_bulk(struct rte_bbdev_enc_op **ops, unsigned int num_ops)
Definition: rte_bbdev_op.h:937
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:1535
rte_bbdev_op_enc_turbo_tb_params::cab
uint8_t cab
Definition: rte_bbdev_op.h:531
RTE_BBDEV_TURBO_CONTINUE_CRC_MATCH
@ RTE_BBDEV_TURBO_CONTINUE_CRC_MATCH
Definition: rte_bbdev_op.h:67
rte_mempool.h
RTE_BBDEV_TURBO_RV_INDEX_BYPASS
@ RTE_BBDEV_TURBO_RV_INDEX_BYPASS
Definition: rte_bbdev_op.h:120
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:1383
rte_bbdev_op_ldpc_enc::output
struct rte_bbdev_op_data output
Definition: rte_bbdev_op.h:636
RTE_BBDEV_LDPC_DEINTERLEAVER_BYPASS
@ RTE_BBDEV_LDPC_DEINTERLEAVER_BYPASS
Definition: rte_bbdev_op.h:142
rte_bbdev_op_enc_turbo_cb_params::ncb
uint16_t ncb
Definition: rte_bbdev_op.h:507
rte_bbdev_op_td_flag_bitmasks
rte_bbdev_op_td_flag_bitmasks
Definition: rte_bbdev_op.h:51
rte_bbdev_op_ldpcenc_flag_bitmasks
rte_bbdev_op_ldpcenc_flag_bitmasks
Definition: rte_bbdev_op.h:184
rte_bbdev_op_enc_ldpc_cb_params::e
uint32_t e
Definition: rte_bbdev_op.h:557
rte_bbdev_op_dec_turbo_cb_params::k
uint16_t k
Definition: rte_bbdev_op.h:265
RTE_BBDEV_LDPC_ENC_SCATTER_GATHER
@ RTE_BBDEV_LDPC_ENC_SCATTER_GATHER
Definition: rte_bbdev_op.h:198
rte_bbdev_op_turbo_enc::tb_params
struct rte_bbdev_op_enc_turbo_tb_params tb_params
Definition: rte_bbdev_op.h:615
rte_mbuf.h
rte_bbdev_op_cap_turbo_dec::capability_flags
uint32_t capability_flags
Definition: rte_bbdev_op.h:676
rte_bbdev_dec_op::status
int status
Definition: rte_bbdev_op.h:764
rte_bbdev_op_cap_ldpc_dec::num_buffers_src
uint16_t num_buffers_src
Definition: rte_bbdev_op.h:710
rte_bbdev_op_enc_turbo_tb_params::ncb_neg
uint16_t ncb_neg
Definition: rte_bbdev_op.h:543
RTE_BBDEV_LDPC_DEC_SCATTER_GATHER
@ RTE_BBDEV_LDPC_DEC_SCATTER_GATHER
Definition: rte_bbdev_op.h:164
rte_bbdev_enc_op::turbo_enc
struct rte_bbdev_op_turbo_enc turbo_enc
Definition: rte_bbdev_op.h:755
rte_bbdev_op_ldpc_dec::tb_params
struct rte_bbdev_op_dec_ldpc_tb_params tb_params
Definition: rte_bbdev_op.h:488
rte_bbdev_op_turbo_enc::input
struct rte_bbdev_op_data input
Definition: rte_bbdev_op.h:601
rte_bbdev_op_dec_turbo_tb_params::k_pos
uint16_t k_pos
Definition: rte_bbdev_op.h:289
RTE_BBDEV_LDPC_CRC_TYPE_24B_DROP
@ RTE_BBDEV_LDPC_CRC_TYPE_24B_DROP
Definition: rte_bbdev_op.h:140
RTE_BBDEV_LDPC_CRC_TYPE_24A_CHECK
@ RTE_BBDEV_LDPC_CRC_TYPE_24A_CHECK
Definition: rte_bbdev_op.h:136
rte_bbdev_op_enc_turbo_tb_params::c_neg
uint8_t c_neg
Definition: rte_bbdev_op.h:525
rte_bbdev_op_dec_turbo_tb_params::c
uint8_t c
Definition: rte_bbdev_op.h:295
RTE_BBDEV_LDPC_SOFT_OUT_RM_BYPASS
@ RTE_BBDEV_LDPC_SOFT_OUT_RM_BYPASS
Definition: rte_bbdev_op.h:154
rte_bbdev_op_cap_ldpc_dec::harq_memory_size
uint16_t harq_memory_size
Definition: rte_bbdev_op.h:708
rte_bbdev_op_ldpcdec_flag_bitmasks
rte_bbdev_op_ldpcdec_flag_bitmasks
Definition: rte_bbdev_op.h:134
rte_bbdev_op_turbo_dec::ext_scale
uint8_t ext_scale
Definition: rte_bbdev_op.h:386
rte_bbdev_op_turbo_dec::rv_index
uint8_t rv_index
Definition: rte_bbdev_op.h:372
RTE_BBDEV_OP_TURBO_ENC
@ RTE_BBDEV_OP_TURBO_ENC
Definition: rte_bbdev_op.h:731
rte_bbdev_op_enc_turbo_cb_params::e
uint32_t e
Definition: rte_bbdev_op.h:503
rte_mempool::cache_size
uint32_t cache_size
Definition: rte_mempool.h:233
rte_bbdev_op_cap_turbo_enc::capability_flags
uint32_t capability_flags
Definition: rte_bbdev_op.h:692
RTE_BBDEV_TURBO_HALF_ITERATION_EVEN
@ RTE_BBDEV_TURBO_HALF_ITERATION_EVEN
Definition: rte_bbdev_op.h:63
rte_bbdev_op_cap
Definition: rte_bbdev_op.h:778
rte_bbdev_op_dec_ldpc_tb_params::ea
uint32_t ea
Definition: rte_bbdev_op.h:315
RTE_BBDEV_TURBO_DEC_INTERRUPTS
@ RTE_BBDEV_TURBO_DEC_INTERRUPTS
Definition: rte_bbdev_op.h:73
rte_bbdev_dec_op::turbo_dec
struct rte_bbdev_op_turbo_dec turbo_dec
Definition: rte_bbdev_op.h:771
rte_mempool::socket_id
int socket_id
Definition: rte_mempool.h:231
RTE_BBDEV_TURBO_RATE_MATCH
@ RTE_BBDEV_TURBO_RATE_MATCH
Definition: rte_bbdev_op.h:122
rte_bbdev_op_ldpc_dec::rv_index
uint8_t rv_index
Definition: rte_bbdev_op.h:453
rte_bbdev_op_ldpc_dec::input
struct rte_bbdev_op_data input
Definition: rte_bbdev_op.h:435
rte_bbdev_op_cap_ldpc_dec::llr_decimals
int8_t llr_decimals
Definition: rte_bbdev_op.h:706
RTE_BBDEV_TURBO_CRC_TYPE_24B
@ RTE_BBDEV_TURBO_CRC_TYPE_24B
Definition: rte_bbdev_op.h:55
rte_bbdev_op_dec_ldpc_tb_params::eb
uint32_t eb
Definition: rte_bbdev_op.h:319
rte_bbdev_op_enc_ldpc_tb_params::r
uint8_t r
Definition: rte_bbdev_op.h:575
RTE_BBDEV_LDPC_CRC_24A_ATTACH
@ RTE_BBDEV_LDPC_CRC_24A_ATTACH
Definition: rte_bbdev_op.h:190
RTE_BBDEV_LDPC_CRC_16_ATTACH
@ RTE_BBDEV_LDPC_CRC_16_ATTACH
Definition: rte_bbdev_op.h:194
rte_bbdev_op_enc_turbo_cb_params::k
uint16_t k
Definition: rte_bbdev_op.h:499
rte_bbdev_op_cap::cap
union rte_bbdev_op_cap::@66 cap
RTE_BBDEV_LDPC_DEC_INTERRUPTS
@ RTE_BBDEV_LDPC_DEC_INTERRUPTS
Definition: rte_bbdev_op.h:162
rte_bbdev_op_ldpc_enc::cb_params
struct rte_bbdev_op_enc_ldpc_cb_params cb_params
Definition: rte_bbdev_op.h:667