[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