rte_bbdev_op_turbo_dec(3)

πŸ“¦ version 26.03, in nixos 26.05, nixpkgs unstable

πŸ’… NAME πŸ’…

Bestie, this is the page for rte_bbdev_op_turbo_dec β€” coming at you from the Library Functions Manual β€” and it's literally the operation struct lore for Turbo decode. 🫢

✨ SYNOPSIS ✨

#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
  • uint32_t op_flags
  • uint8_t rv_index
  • uint8_t iter_min:4
  • uint8_t iter_max:4
  • uint8_t iter_count
  • uint8_t ext_scale
  • uint8_t num_maps
  • uint8_t code_block_mode

🌸 Detailed Description 🌸

Okay so this is the operation structure for Turbo decode. An operation can be performed on one CB at a time β€” that's "CB-mode" β€” or on one or multiple CBs that logically belong to one TB β€” that's "TB-mode". The provided K size parameter of the CB is its size coming from the decode operation. The application requests a CRC24A/B check by setting the flag RTE_BBDEV_TURBO_CRC_TYPE_24B for a CRC24B check, or CRC24A otherwise. In TB-mode, BBDEV concatenates the decoded CBs one next to the other with the relevant CRC24B in between. πŸ’–

The input encoded CB data is the Virtual Circular Buffer data stream, wk, with the null padding included as described in 3GPP TS 36.212 section 5.1.4.1.2 and shown in 3GPP TS 36.212 section 5.1.4.1 Figure 5.1.4-1. The size of the virtual circular buffer is 3*Kpi, where Kpi is the 32 byte aligned value of K, as specified in 3GPP TS 36.212 section 5.1.4.1.1. ✨

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 of K sizes (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.

The output mbuf data structure is expected to be allocated by the application with enough room for the output data. Your app has to handle that part, bestie.

Definition at line 430 of file rte_bbdev_op.h.

πŸ’– Field Documentation πŸ’–

struct rte_bbdev_op_data input

The Virtual Circular Buffer, wk, size 3*Kpi for each CB.

Definition at line 432 of file rte_bbdev_op.h.

struct rte_bbdev_op_data hard_output

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

Definition at line 436 of file rte_bbdev_op.h.

struct rte_bbdev_op_data soft_output

The soft LLR output buffer β€” optional.

Definition at line 438 of file rte_bbdev_op.h.

uint32_t op_flags

Flags from rte_bbdev_op_td_flag_bitmasks.

Definition at line 441 of file rte_bbdev_op.h.

uint8_t rv_index

Rv index for rate matching [0:3].

Definition at line 444 of file rte_bbdev_op.h.

uint8_t iter_min

The minimum number of iterations to perform in decoding all CBs in this operation β€” input.

Definition at line 448 of file rte_bbdev_op.h.

uint8_t iter_max

The maximum number of iterations to perform in decoding all CBs in this operation β€” input.

Definition at line 452 of file rte_bbdev_op.h.

uint8_t iter_count

The maximum number of iterations that were performed in decoding all CBs in this decode operation β€” output.

Definition at line 456 of file rte_bbdev_op.h.

uint8_t ext_scale

5 bit extrinsic scale (scale factor on extrinsic info).

Definition at line 458 of file rte_bbdev_op.h.

uint8_t num_maps

Number of MAP engines to use in decode, must be power of 2 (or 0 to auto-select).

Definition at line 462 of file rte_bbdev_op.h.

uint8_t code_block_mode

[0 - TB : 1 - CB]

Definition at line 465 of file rte_bbdev_op.h.

struct rte_bbdev_op_dec_turbo_cb_params cb_params

Struct which stores Code Block specific parameters.

Definition at line 468 of file rte_bbdev_op.h.

struct rte_bbdev_op_dec_turbo_tb_params tb_params

Struct which stores Transport Block specific parameters.

Definition at line 470 of file rte_bbdev_op.h.

🌈 Author 🌈

Generated automatically by Doxygen for DPDK from the source code. Iconic, honestly.


πŸ’– Source/version check: DPDK Version 26.03.0, straight from the DPDK source code β€” and the page doesn't list a date, so no made-up date here, periodt. πŸ’–

πŸ“¦ where this page comes from