[dpdk-dev] [PATCH v4 1/8] bbdev: add network order data capability

Hemant Agrawal hemant.agrawal at oss.nxp.com
Wed Apr 28 15:03:44 CEST 2021


Hi Dave,

If we go back to the data providing source i.e. FAPI interface, it is 
implementation specific. As per SCF222:

Our customers do use BE data in network and at FAPI interface.

In LA12xx, at present, we use u8 Big-endian data for processing to FECA 
engine.  We do see that other drivers in DPDK are using Little Endian 
*(with u32 data)* but standards is open for both.

Regards,

Hemant

On 4/26/2021 10:31 PM, Dave Burley wrote:
> Hi Hemant
>
> Can I ask what the usage case is for RTE_BBDEV_LDPC_ENC_NETWORK_ORDER/RTE_BBDEV_LDPC_DEC_NETWORK_ORDER ?
>
> Thanks
>
> Dave
>
>
>
> ________________________________
> From: dev <dev-bounces at dpdk.org> on behalf of Hemant Agrawal <hemant.agrawal at nxp.com>
> Sent: 24 April 2021 11:36
> To: dev at dpdk.org <dev at dpdk.org>; gakhil at marvell.com <gakhil at marvell.com>; nicolas.chautru at intel.com <nicolas.chautru at intel.com>
> Cc: david.marchand at redhat.com <david.marchand at redhat.com>; Hemant Agrawal <hemant.agrawal at nxp.com>
> Subject: [dpdk-dev] [PATCH v4 1/8] bbdev: add network order data capability
>
> CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.
>
> This patch intoduces a new capability of the bbdev device
> to process the LDPC data in network byte order.
>
> Signed-off-by: Hemant Agrawal <hemant.agrawal at nxp.com>
> ---
>   doc/guides/bbdevs/features/default.ini | 1 +
>   doc/guides/prog_guide/bbdev.rst        | 6 ++++++
>   lib/bbdev/rte_bbdev_op.h               | 8 ++++++--
>   3 files changed, 13 insertions(+), 2 deletions(-)
>
> diff --git a/doc/guides/bbdevs/features/default.ini b/doc/guides/bbdevs/features/default.ini
> index 5fe267a625..e5da644099 100644
> --- a/doc/guides/bbdevs/features/default.ini
> +++ b/doc/guides/bbdevs/features/default.ini
> @@ -14,3 +14,4 @@ LLR/HARQ Compression   =
>   External DDR Access    =
>   HW Accelerated         =
>   BBDEV API              =
> +Network Order Data     =
> diff --git a/doc/guides/prog_guide/bbdev.rst b/doc/guides/prog_guide/bbdev.rst
> index 6b2bd54e1a..89a86d10fb 100644
> --- a/doc/guides/prog_guide/bbdev.rst
> +++ b/doc/guides/prog_guide/bbdev.rst
> @@ -747,6 +747,9 @@ given below.
>   |RTE_BBDEV_LDPC_ENC_CONCATENATION                                    |
>   | Set if a device supports concatenation of non byte aligned output  |
>   +--------------------------------------------------------------------+
> +|RTE_BBDEV_LDPC_ENC_NETWORK_ORDER                                    |
> +| Set if a device supports network order data processing             |
> ++--------------------------------------------------------------------+
>
>   The structure passed for each LDPC encode operation is given below,
>   with the operation flags forming a bitmask in the ``op_flags`` field.
> @@ -942,6 +945,9 @@ given below.
>   |RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_LOOPBACK                        |
>   | Set if a device supports loopback access to HARQ internal memory   |
>   +--------------------------------------------------------------------+
> +|RTE_BBDEV_LDPC_DEC_NETWORK_ORDER                                    |
> +| Set if a device supports network order data processing             |
> ++--------------------------------------------------------------------+
>
>   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 f946842727..8fab617768 100644
> --- a/lib/bbdev/rte_bbdev_op.h
> +++ b/lib/bbdev/rte_bbdev_op.h
> @@ -186,7 +186,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 << 18)
> +       RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_FILLERS = (1ULL << 18),
> +       /** Set if a device supports network order data processing */
> +       RTE_BBDEV_LDPC_DEC_NETWORK_ORDER = (1ULL << 19)
>   };
>
>   /** Flags for LDPC encoder operation and capability structure */
> @@ -206,7 +208,9 @@ enum rte_bbdev_op_ldpcenc_flag_bitmasks {
>          /** Set if a device supports scatter-gather functionality. */
>          RTE_BBDEV_LDPC_ENC_SCATTER_GATHER = (1ULL << 6),
>          /** Set if a device supports concatenation of non byte aligned output */
> -       RTE_BBDEV_LDPC_ENC_CONCATENATION = (1ULL << 7)
> +       RTE_BBDEV_LDPC_ENC_CONCATENATION = (1ULL << 7),
> +       /** Set if a device supports network order data processing */
> +       RTE_BBDEV_LDPC_ENC_NETWORK_ORDER = (1ULL << 8)
>   };
>
>   /** Flags for the Code Block/Transport block mode  */
> --
> 2.17.1
>


More information about the dev mailing list