net: add optional fields in GRE header
[dpdk.git] / lib / bbdev / rte_bbdev_op.h
index f946842..6d56133 100644 (file)
@@ -9,9 +9,6 @@
  * @file rte_bbdev_op.h
  *
  * Defines wireless base band layer 1 operations and capabilities
- *
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
  */
 
 #ifdef __cplusplus
@@ -114,7 +111,10 @@ enum rte_bbdev_op_td_flag_bitmasks {
        /** Set to keep CRC24B bits appended while decoding. Only usable when
         * decoding Transport Block mode.
         */
-       RTE_BBDEV_TURBO_DEC_TB_CRC_24B_KEEP = (1ULL << 16)
+       RTE_BBDEV_TURBO_DEC_TB_CRC_24B_KEEP = (1ULL << 16),
+       /** Set to drop CRC24B bits not to be appended while decoding.
+        */
+       RTE_BBDEV_TURBO_DEC_CRC_24B_DROP = (1ULL << 17)
 };
 
 
@@ -142,51 +142,53 @@ enum rte_bbdev_op_ldpcdec_flag_bitmasks {
        RTE_BBDEV_LDPC_CRC_TYPE_24B_CHECK = (1ULL << 1),
        /** Set to drop the last CRC bits decoding output */
        RTE_BBDEV_LDPC_CRC_TYPE_24B_DROP = (1ULL << 2),
+       /** Set for transport block CRC-16 checking */
+       RTE_BBDEV_LDPC_CRC_TYPE_16_CHECK = (1ULL << 3),
        /** Set for bit-level de-interleaver bypass on Rx stream. */
-       RTE_BBDEV_LDPC_DEINTERLEAVER_BYPASS = (1ULL << 3),
+       RTE_BBDEV_LDPC_DEINTERLEAVER_BYPASS = (1ULL << 4),
        /** Set for HARQ combined input stream enable. */
-       RTE_BBDEV_LDPC_HQ_COMBINE_IN_ENABLE = (1ULL << 4),
+       RTE_BBDEV_LDPC_HQ_COMBINE_IN_ENABLE = (1ULL << 5),
        /** Set for HARQ combined output stream enable. */
-       RTE_BBDEV_LDPC_HQ_COMBINE_OUT_ENABLE = (1ULL << 5),
+       RTE_BBDEV_LDPC_HQ_COMBINE_OUT_ENABLE = (1ULL << 6),
        /** Set for LDPC decoder bypass.
         *  RTE_BBDEV_LDPC_HQ_COMBINE_OUT_ENABLE must be set.
         */
-       RTE_BBDEV_LDPC_DECODE_BYPASS = (1ULL << 6),
+       RTE_BBDEV_LDPC_DECODE_BYPASS = (1ULL << 7),
        /** Set for soft-output stream enable */
-       RTE_BBDEV_LDPC_SOFT_OUT_ENABLE = (1ULL << 7),
+       RTE_BBDEV_LDPC_SOFT_OUT_ENABLE = (1ULL << 8),
        /** Set for Rate-Matching bypass on soft-out stream. */
-       RTE_BBDEV_LDPC_SOFT_OUT_RM_BYPASS = (1ULL << 8),
+       RTE_BBDEV_LDPC_SOFT_OUT_RM_BYPASS = (1ULL << 9),
        /** Set for bit-level de-interleaver bypass on soft-output stream. */
-       RTE_BBDEV_LDPC_SOFT_OUT_DEINTERLEAVER_BYPASS = (1ULL << 9),
+       RTE_BBDEV_LDPC_SOFT_OUT_DEINTERLEAVER_BYPASS = (1ULL << 10),
        /** Set for iteration stopping on successful decode condition
         *  i.e. a successful syndrome check.
         */
-       RTE_BBDEV_LDPC_ITERATION_STOP_ENABLE = (1ULL << 10),
+       RTE_BBDEV_LDPC_ITERATION_STOP_ENABLE = (1ULL << 11),
        /** Set if a device supports decoder dequeue interrupts. */
-       RTE_BBDEV_LDPC_DEC_INTERRUPTS = (1ULL << 11),
+       RTE_BBDEV_LDPC_DEC_INTERRUPTS = (1ULL << 12),
        /** Set if a device supports scatter-gather functionality. */
-       RTE_BBDEV_LDPC_DEC_SCATTER_GATHER = (1ULL << 12),
+       RTE_BBDEV_LDPC_DEC_SCATTER_GATHER = (1ULL << 13),
        /** Set if a device supports input/output HARQ compression. */
-       RTE_BBDEV_LDPC_HARQ_6BIT_COMPRESSION = (1ULL << 13),
+       RTE_BBDEV_LDPC_HARQ_6BIT_COMPRESSION = (1ULL << 14),
        /** Set if a device supports input LLR compression. */
-       RTE_BBDEV_LDPC_LLR_COMPRESSION = (1ULL << 14),
+       RTE_BBDEV_LDPC_LLR_COMPRESSION = (1ULL << 15),
        /** Set if a device supports HARQ input from
         *  device's internal memory.
         */
-       RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_IN_ENABLE = (1ULL << 15),
+       RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_IN_ENABLE = (1ULL << 16),
        /** Set if a device supports HARQ output to
         *  device's internal memory.
         */
-       RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_OUT_ENABLE = (1ULL << 16),
+       RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_OUT_ENABLE = (1ULL << 17),
        /** Set if a device supports loop-back access to
         *  HARQ internal memory. Intended for troubleshooting.
         */
-       RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_LOOPBACK = (1ULL << 17),
+       RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_LOOPBACK = (1ULL << 18),
        /** Set if a device includes LLR filler bits in the circular buffer
         *  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 << 19)
 };
 
 /** Flags for LDPC encoder operation and capability structure */
@@ -815,7 +817,6 @@ struct rte_bbdev_op_pool_private {
  *   Operation type as string or NULL if op_type is invalid
  *
  */
-__rte_experimental
 const char*
 rte_bbdev_op_type_str(enum rte_bbdev_op_type op_type);
 
@@ -839,7 +840,6 @@ rte_bbdev_op_type_str(enum rte_bbdev_op_type op_type);
  *   - Pointer to a mempool on success,
  *   - NULL pointer on failure.
  */
-__rte_experimental
 struct rte_mempool *
 rte_bbdev_op_pool_create(const char *name, enum rte_bbdev_op_type type,
                unsigned int num_elements, unsigned int cache_size,
@@ -859,7 +859,6 @@ rte_bbdev_op_pool_create(const char *name, enum rte_bbdev_op_type type,
  *   - 0 on success
  *   - EINVAL if invalid mempool is provided
  */
-__rte_experimental
 static inline int
 rte_bbdev_enc_op_alloc_bulk(struct rte_mempool *mempool,
                struct rte_bbdev_enc_op **ops, uint16_t num_ops)
@@ -896,7 +895,6 @@ rte_bbdev_enc_op_alloc_bulk(struct rte_mempool *mempool,
  *   - 0 on success
  *   - EINVAL if invalid mempool is provided
  */
-__rte_experimental
 static inline int
 rte_bbdev_dec_op_alloc_bulk(struct rte_mempool *mempool,
                struct rte_bbdev_dec_op **ops, uint16_t num_ops)
@@ -929,7 +927,6 @@ rte_bbdev_dec_op_alloc_bulk(struct rte_mempool *mempool,
  * @param num_ops
  *   Number of structures
  */
-__rte_experimental
 static inline void
 rte_bbdev_dec_op_free_bulk(struct rte_bbdev_dec_op **ops, unsigned int num_ops)
 {
@@ -947,7 +944,6 @@ rte_bbdev_dec_op_free_bulk(struct rte_bbdev_dec_op **ops, unsigned int num_ops)
  * @param num_ops
  *   Number of structures
  */
-__rte_experimental
 static inline void
 rte_bbdev_enc_op_free_bulk(struct rte_bbdev_enc_op **ops, unsigned int num_ops)
 {