[dpdk-dev] [PATCH v5 1/9] bbdev: add big endian processing data capability
Nipun Gupta
nipun.gupta at nxp.com
Sun Sep 12 14:15:02 CEST 2021
This patch intoduces a new capability of the bbdev device
to process the LDPC data in big endian order.
Signed-off-by: Hemant Agrawal <hemant.agrawal at nxp.com>
Signed-off-by: Nipun Gupta <nipun.gupta at nxp.com>
---
doc/guides/bbdevs/features/default.ini | 1 +
doc/guides/prog_guide/bbdev.rst | 6 ++++++
lib/bbdev/rte_bbdev_op.h | 14 ++++++++++++--
3 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/doc/guides/bbdevs/features/default.ini b/doc/guides/bbdevs/features/default.ini
index 5fe267a625..ae5aacf8f7 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 =
+Big Endian Processing =
diff --git a/doc/guides/prog_guide/bbdev.rst b/doc/guides/prog_guide/bbdev.rst
index 9619280ffc..6540b514bb 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_BIG_ENDIAN |
+| Set if a device supports Big Endian 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_BIG_ENDIAN |
+| Set if a device supports Big Endian 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..9e9b5be81f 100644
--- a/lib/bbdev/rte_bbdev_op.h
+++ b/lib/bbdev/rte_bbdev_op.h
@@ -186,7 +186,12 @@ 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 Big Endian data processing.
+ * If not set Little Endian data processing is supported by
+ * default.
+ */
+ RTE_BBDEV_LDPC_DEC_BIG_ENDIAN = (1ULL << 8)
};
/** Flags for LDPC encoder operation and capability structure */
@@ -206,7 +211,12 @@ 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 Big Endian data processing
+ * If not set Little Endian data processing is supported by
+ * default.
+ */
+ RTE_BBDEV_LDPC_ENC_BIG_ENDIAN = (1ULL << 8)
};
/** Flags for the Code Block/Transport block mode */
--
2.17.1
More information about the dev
mailing list