DPDK 25.03.0-rc0
Data Fields
rte_bbdev_op_ldpc_dec Struct Reference

#include <rte_bbdev_op.h>

Data Fields

struct rte_bbdev_op_data input
 
struct rte_bbdev_op_data hard_output
 
struct rte_bbdev_op_data soft_output
 
struct rte_bbdev_op_data harq_combined_input
 
struct rte_bbdev_op_data harq_combined_output
 
uint32_t op_flags
 
uint8_t rv_index
 
uint8_t iter_max
 
uint8_t iter_count
 
uint8_t basegraph
 
uint16_t z_c
 
uint16_t n_cb
 
uint8_t q_m
 
uint16_t n_filler
 
uint8_t code_block_mode
 
uint16_t k0
 
struct rte_bbdev_op_dec_ldpc_cb_params cb_params
 
struct rte_bbdev_op_dec_ldpc_tb_params tb_params
 

Detailed Description

Operation structure for LDPC decode.

An operation can be performed on one CB at a time "CB-mode". An operation can also be performed on one or multiple CBs that logically belong to a TB "TB-mode" (Currently not supported).

The input encoded CB data is the Virtual Circular Buffer data stream.

Each byte in the input circular buffer is the LLR value of each bit of the original CB.

Hard output is a mandatory capability that all BBDEV PMDs support. This is the decoded CBs (CRC24A/B is the last 24-bit in each decoded CB).

Soft output is an optional capability for BBDEV PMDs. If supported, an LLR rate matched output is computed in the soft_output buffer structure. These are A Posteriori Probabilities (APP) LLR samples for coded bits.

HARQ combined output is an optional capability for BBDEV PMDs. If supported, a LLR output is streamed to the harq_combined_output buffer.

HARQ combined input is an optional capability for BBDEV PMDs. If supported, a LLR input is streamed from the harq_combined_input buffer.

The output mbuf data structure is expected to be allocated by the application with enough room for the output data.

Definition at line 506 of file rte_bbdev_op.h.

Field Documentation

◆ input

struct rte_bbdev_op_data input

The Virtual Circular Buffer for this code block, one LLR per bit of the original CB.

Definition at line 510 of file rte_bbdev_op.h.

◆ hard_output

struct rte_bbdev_op_data hard_output

The hard decisions buffer for the decoded output, size K for each CB

Definition at line 514 of file rte_bbdev_op.h.

◆ soft_output

struct rte_bbdev_op_data soft_output

The soft LLR output LLR stream buffer - optional

Definition at line 516 of file rte_bbdev_op.h.

◆ harq_combined_input

struct rte_bbdev_op_data harq_combined_input

The HARQ combined LLR stream input buffer - optional

Definition at line 518 of file rte_bbdev_op.h.

◆ harq_combined_output

struct rte_bbdev_op_data harq_combined_output

The HARQ combined LLR stream output buffer - optional

Definition at line 520 of file rte_bbdev_op.h.

◆ op_flags

uint32_t op_flags

Flags from rte_bbdev_op_ldpcdec_flag_bitmasks

Definition at line 523 of file rte_bbdev_op.h.

◆ rv_index

uint8_t rv_index

Rate matching redundancy version [3GPP TS38.212, section 5.4.2.1]

Definition at line 528 of file rte_bbdev_op.h.

◆ iter_max

uint8_t iter_max

The maximum number of iterations to perform in decoding CB in this operation - input

Definition at line 532 of file rte_bbdev_op.h.

◆ iter_count

uint8_t iter_count

The number of iterations that were performed in decoding CB in this decode operation - output

Definition at line 536 of file rte_bbdev_op.h.

◆ basegraph

uint8_t basegraph

1: LDPC Base graph 1, 2: LDPC Base graph 2. [3GPP TS38.212, section 5.2.2]

Definition at line 540 of file rte_bbdev_op.h.

◆ z_c

uint16_t z_c

Zc, LDPC lifting size. [3GPP TS38.212, section 5.2.2]

Definition at line 544 of file rte_bbdev_op.h.

◆ n_cb

uint16_t n_cb

Ncb, length of the circular buffer in bits. [3GPP TS38.212, section 5.4.2.1]

Definition at line 548 of file rte_bbdev_op.h.

◆ q_m

uint8_t q_m

Qm, modulation order {1,2,4,6,8}. [3GPP TS38.212, section 5.4.2.2]

Definition at line 552 of file rte_bbdev_op.h.

◆ n_filler

uint16_t n_filler

Number of Filler bits, n_filler = K – K’ [3GPP TS38.212 section 5.2.2]

Definition at line 556 of file rte_bbdev_op.h.

◆ code_block_mode

uint8_t code_block_mode

[0 - TB : 1 - CB]

Definition at line 558 of file rte_bbdev_op.h.

◆ cb_params

Struct which stores Code Block specific parameters

Definition at line 561 of file rte_bbdev_op.h.

◆ tb_params

Struct which stores Transport Block specific parameters

Definition at line 563 of file rte_bbdev_op.h.

◆ k0

uint16_t k0

Optional k0 Rate matching starting position, overrides rv_index when non null [3GPP TS38.212, section 5.4.2.1]

Definition at line 568 of file rte_bbdev_op.h.


The documentation for this struct was generated from the following file: