[v3,5/6] doc: clarification of usage of HARQ in bbdev doc

Message ID 1631063741-28631-6-git-send-email-nicolas.chautru@intel.com (mailing list archive)
State Accepted, archived
Delegated to: akhil goyal
Headers
Series bbdev update related to CRC usage |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Chautru, Nicolas Sept. 8, 2021, 1:15 a.m. UTC
  New paragraph detailing typical VRAN usecase and mapping
to bbdev API usage.

Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
---
 doc/guides/prog_guide/bbdev.rst | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)
  

Comments

Tom Rix Sept. 12, 2021, 12:44 p.m. UTC | #1
On 9/7/21 6:15 PM, Nicolas Chautru wrote:
> New paragraph detailing typical VRAN usecase and mapping
> to bbdev API usage.
>
> Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
> ---
>   doc/guides/prog_guide/bbdev.rst | 23 +++++++++++++++++++++++
>   1 file changed, 23 insertions(+)
>
> diff --git a/doc/guides/prog_guide/bbdev.rst b/doc/guides/prog_guide/bbdev.rst
> index 8bd7cba..f39b62f 100644
> --- a/doc/guides/prog_guide/bbdev.rst
> +++ b/doc/guides/prog_guide/bbdev.rst
> @@ -1054,6 +1054,29 @@ 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 not 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 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.
>   

Fine.

Reviewed-by: Tom Rix <trix@redhat.com>
  
Thomas Monjalon Oct. 11, 2021, 8:29 p.m. UTC | #2
12/09/2021 14:44, Tom Rix:
> On 9/7/21 6:15 PM, Nicolas Chautru wrote:
> > New paragraph detailing typical VRAN usecase and mapping
> > to bbdev API usage.
> >
> > Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
> > ---
> >   doc/guides/prog_guide/bbdev.rst | 23 +++++++++++++++++++++++
> >   1 file changed, 23 insertions(+)
> >
> > diff --git a/doc/guides/prog_guide/bbdev.rst b/doc/guides/prog_guide/bbdev.rst
> > index 8bd7cba..f39b62f 100644
> > --- a/doc/guides/prog_guide/bbdev.rst
> > +++ b/doc/guides/prog_guide/bbdev.rst
> > @@ -1054,6 +1054,29 @@ 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::

blank line missing

> > +    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 :

no space before ":"

> > +
> > +    - 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 not explicit flush or reset of the memory is required.

"*no* explicit"

> > +
> > +    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 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).

"must *be* set"

> > +
> > +    - 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).

lines are too long

> > +
> > +
> 
> Fine.
> 
> Reviewed-by: Tom Rix <trix@redhat.com>

No, it isn't fine.
Fixing some typos and formatting while pulling in main.
  
Chautru, Nicolas Oct. 11, 2021, 8:33 p.m. UTC | #3
> -----Original Message-----
> From: Thomas Monjalon <thomas@monjalon.net>
> Sent: Monday, October 11, 2021 1:29 PM
> To: Chautru, Nicolas <nicolas.chautru@intel.com>
> Cc: dev@dpdk.org; gakhil@marvell.com; hemant.agrawal@nxp.com; Zhang,
> Mingshan <mingshan.zhang@intel.com>; Joshi, Arun
> <arun.joshi@intel.com>; Tom Rix <trix@redhat.com>
> Subject: Re: [dpdk-dev] [PATCH v3 5/6] doc: clarification of usage of HARQ in
> bbdev doc
> 
> 12/09/2021 14:44, Tom Rix:
> > On 9/7/21 6:15 PM, Nicolas Chautru wrote:
> > > New paragraph detailing typical VRAN usecase and mapping to bbdev
> > > API usage.
> > >
> > > Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
> > > ---
> > >   doc/guides/prog_guide/bbdev.rst | 23 +++++++++++++++++++++++
> > >   1 file changed, 23 insertions(+)
> > >
> > > diff --git a/doc/guides/prog_guide/bbdev.rst
> > > b/doc/guides/prog_guide/bbdev.rst index 8bd7cba..f39b62f 100644
> > > --- a/doc/guides/prog_guide/bbdev.rst
> > > +++ b/doc/guides/prog_guide/bbdev.rst
> > > @@ -1054,6 +1054,29 @@ 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::
> 
> blank line missing
> 
> > > +    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 :
> 
> no space before ":"
> 
> > > +
> > > +    - 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 not explicit flush or reset of the memory is required.
> 
> "*no* explicit"
> 
> > > +
> > > +    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 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).
> 
> "must *be* set"
> 
> > > +
> > > +    - 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).
> 
> lines are too long
> 
> > > +
> > > +
> >
> > Fine.
> >
> > Reviewed-by: Tom Rix <trix@redhat.com>
> 
> No, it isn't fine.
> Fixing some typos and formatting while pulling in main.

Thanks Thomas. 

>
  

Patch

diff --git a/doc/guides/prog_guide/bbdev.rst b/doc/guides/prog_guide/bbdev.rst
index 8bd7cba..f39b62f 100644
--- a/doc/guides/prog_guide/bbdev.rst
+++ b/doc/guides/prog_guide/bbdev.rst
@@ -1054,6 +1054,29 @@  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 not 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 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.