doc: clarify usage of HARQ in bbdev
authorNicolas Chautru <nicolas.chautru@intel.com>
Wed, 8 Sep 2021 01:15:40 +0000 (18:15 -0700)
committerAkhil Goyal <gakhil@marvell.com>
Fri, 8 Oct 2021 19:31:07 +0000 (21:31 +0200)
New paragraph is added for detailing typical VRAN usecase
and mapping to bbdev API usage.

Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
Reviewed-by: Tom Rix <trix@redhat.com>
doc/guides/prog_guide/bbdev.rst

index 8bd7cba..70fa01a 100644 (file)
@@ -1054,6 +1054,37 @@ capability RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_OUT_ENABLE is set
 then the HARQ is stored in memory internal to the device and not visible
 to BBDEV.
 
+.. note::
+
+    More explicitly for a typical usage of HARQ retransmission
+    in a VRAN application using a HW PMD, there will be 2 cases.
+
+    For 1st transmission, only the HARQ output is enabled:
+
+    - the harq_combined_output.offset is provided to a given address.
+      ie. typically an integer index * 32K,
+      where the index is tracked by the application based on code block index
+      for a given UE and HARQ process.
+
+    - the related operation flag would notably include
+      RTE_BBDEV_LDPC_HQ_COMBINE_OUT_ENABLE and RTE_BBDEV_LDPC_HARQ_6BIT_COMPRESSION.
+
+    - note that no explicit flush or reset of the memory is required.
+
+    For 2nd transmission, an input is also required to benefit from HARQ combination gain:
+
+    - the changes mentioned above are the same (note that rvIndex may be adjusted).
+
+    - the operation flag would additionally include the LDPC_HQ_COMBINE_IN_ENABLE flag.
+
+    - the harq_combined_input.offset must be set to the address of the related code block
+      (ie. same as the harq_combine_output index above for the same code block, HARQ process, UE).
+
+    - the harq_combined_input.length must be set to the length
+      which was provided back in the related harq_combined_output.length
+      when it has processed and dequeued (previous HARQ iteration).
+
+
 The output mbuf data structures are expected to be allocated by the
 application with enough room for the output data.