[v1,1/3] bbdev: new k0 parameter for LDPC decoder operation

Message ID 20240701212703.417094-2-nicolas.chautru@intel.com (mailing list archive)
State Awaiting Upstream
Delegated to: Maxime Coquelin
Headers
Series bbdev: new k0 parameter |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Chautru, Nicolas July 1, 2024, 9:27 p.m. UTC
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.chautru@intel.com>
---
 doc/guides/prog_guide/bbdev.rst | 2 ++
 lib/bbdev/rte_bbdev_op.h        | 4 ++++
 2 files changed, 6 insertions(+)
  

Comments

Maxime Coquelin Aug. 29, 2024, 8 a.m. UTC | #1
Hi,

On 7/1/24 23:27, Nicolas Chautru wrote:
> In latest 3GPP 38.212, the k0 value is not necessaraly directly

necessarily*

> 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.chautru@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. */
>   

Will fix the typo while applying.

Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>

Also reporting Hemant's Ack on the cover letter as patchwork doesn't
report them:
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>

Thanks,
Maxime
  

Patch

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. */