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.agra...@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

Reply via email to