In latest 3GPP 38.212, the k0 value is not necessaraly directly
derived from rv_index, in that case a value can be provided in
API. When this value is non null this would override the value
which would be computed purely from rv_index.

Signed-off-by: Nicolas Chautru <nicolas.chau...@intel.com>
---
 doc/guides/prog_guide/bbdev.rst | 2 ++
 lib/bbdev/rte_bbdev_op.h        | 4 ++++
 2 files changed, 6 insertions(+)

diff --git a/doc/guides/prog_guide/bbdev.rst b/doc/guides/prog_guide/bbdev.rst
index 09e5f0d990..e3f356450b 100644
--- a/doc/guides/prog_guide/bbdev.rst
+++ b/doc/guides/prog_guide/bbdev.rst
@@ -1021,6 +1021,8 @@ The LDPC decode parameters are set out in the table below.
 
+----------------+------------+-------------------------------------------------------+
 |                |eb          |Eb, length of the RM output sequence in bits  r 
>= cab |
 
+----------------+------------+-------------------------------------------------------+
+|                |k0          |Optional k0 Rate matching starting position 
override   |
++----------------+------------+-------------------------------------------------------+
 
 The mbuf input ``input`` encoded CB data is mandatory for all BBDEV PMDs
 and is the Virtual Circular Buffer data stream with null padding.
diff --git a/lib/bbdev/rte_bbdev_op.h b/lib/bbdev/rte_bbdev_op.h
index 459631d0d0..b5dde116ab 100644
--- a/lib/bbdev/rte_bbdev_op.h
+++ b/lib/bbdev/rte_bbdev_op.h
@@ -562,6 +562,10 @@ struct rte_bbdev_op_ldpc_dec {
                /** Struct which stores Transport Block specific parameters */
                struct rte_bbdev_op_dec_ldpc_tb_params tb_params;
        };
+       /** Optional k0 Rate matching starting position, overrides rv_index 
when non null
+        *  [3GPP TS38.212, section 5.4.2.1]
+        */
+       uint16_t k0;
 };
 /* >8 End of structure rte_bbdev_op_ldpc_dec. */
 
-- 
2.34.1

Reply via email to