[v2,3/5] bbdev: add new capability for FEC 5G UL processing

Message ID 20230615164901.40845-4-nicolas.chautru@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Maxime Coquelin
Headers
Series bbdev: API extension for 23.11 |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Chautru, Nicolas June 15, 2023, 4:48 p.m. UTC
  Extending existing LDPC UL operation for new capability.
Option to compress HARQ memory to 4 bits per LLR.

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

Comments

Maxime Coquelin Sept. 18, 2023, 3:09 p.m. UTC | #1
On 6/15/23 18:48, Nicolas Chautru wrote:
> Extending existing LDPC UL operation for new capability.
> Option to compress HARQ memory to 4 bits per LLR.
> 
> Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
> ---
>   doc/guides/prog_guide/bbdev.rst | 6 ++++++
>   lib/bbdev/rte_bbdev_op.h        | 4 +++-
>   2 files changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/doc/guides/prog_guide/bbdev.rst b/doc/guides/prog_guide/bbdev.rst
> index 95b33562fe..c43e478eda 100644
> --- a/doc/guides/prog_guide/bbdev.rst
> +++ b/doc/guides/prog_guide/bbdev.rst
> @@ -903,6 +903,12 @@ given below.
>   |RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_LOOPBACK                        |
>   | Set if a device supports loopback access to HARQ internal memory   |
>   +--------------------------------------------------------------------+
> +|RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_FILLERS                         |
> +| Set if a device includes LLR filler bits in HARQ circular buffer   |
> ++--------------------------------------------------------------------+
> +|RTE_BBDEV_LDPC_HARQ_4BIT_COMPRESSION                                |
> +|Set if a device supports input/output 4 bits HARQ compression       |
> ++--------------------------------------------------------------------+
>   
>   The structure passed for each LDPC decode operation is given below,
>   with the operation flags forming a bitmask in the ``op_flags`` field.
> diff --git a/lib/bbdev/rte_bbdev_op.h b/lib/bbdev/rte_bbdev_op.h
> index 682e265327..a4a2ae1440 100644
> --- a/lib/bbdev/rte_bbdev_op.h
> +++ b/lib/bbdev/rte_bbdev_op.h
> @@ -203,7 +203,9 @@ enum rte_bbdev_op_ldpcdec_flag_bitmasks {
>   	 *  for HARQ memory. If not set, it is assumed the filler bits are not
>   	 *  in HARQ memory and handled directly by the LDPC decoder.
>   	 */
> -	RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_FILLERS = (1ULL << 19)
> +	RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_FILLERS = (1ULL << 19),
> +	/** Set if a device supports input/output HARQ 4bits compression. */
> +	RTE_BBDEV_LDPC_HARQ_4BIT_COMPRESSION = (1ULL << 20)
>   };
>   
>   /** Flags for LDPC encoder operation and capability structure */

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

Maxime
  

Patch

diff --git a/doc/guides/prog_guide/bbdev.rst b/doc/guides/prog_guide/bbdev.rst
index 95b33562fe..c43e478eda 100644
--- a/doc/guides/prog_guide/bbdev.rst
+++ b/doc/guides/prog_guide/bbdev.rst
@@ -903,6 +903,12 @@  given below.
 |RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_LOOPBACK                        |
 | Set if a device supports loopback access to HARQ internal memory   |
 +--------------------------------------------------------------------+
+|RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_FILLERS                         |
+| Set if a device includes LLR filler bits in HARQ circular buffer   |
++--------------------------------------------------------------------+
+|RTE_BBDEV_LDPC_HARQ_4BIT_COMPRESSION                                |
+|Set if a device supports input/output 4 bits HARQ compression       |
++--------------------------------------------------------------------+
 
 The structure passed for each LDPC decode operation is given below,
 with the operation flags forming a bitmask in the ``op_flags`` field.
diff --git a/lib/bbdev/rte_bbdev_op.h b/lib/bbdev/rte_bbdev_op.h
index 682e265327..a4a2ae1440 100644
--- a/lib/bbdev/rte_bbdev_op.h
+++ b/lib/bbdev/rte_bbdev_op.h
@@ -203,7 +203,9 @@  enum rte_bbdev_op_ldpcdec_flag_bitmasks {
 	 *  for HARQ memory. If not set, it is assumed the filler bits are not
 	 *  in HARQ memory and handled directly by the LDPC decoder.
 	 */
-	RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_FILLERS = (1ULL << 19)
+	RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_FILLERS = (1ULL << 19),
+	/** Set if a device supports input/output HARQ 4bits compression. */
+	RTE_BBDEV_LDPC_HARQ_4BIT_COMPRESSION = (1ULL << 20)
 };
 
 /** Flags for LDPC encoder operation and capability structure */