From aa094a3508339528a897db453d8094ab2730c260 Mon Sep 17 00:00:00 2001 From: Nicolas Chautru Date: Wed, 25 Mar 2020 20:27:39 -0700 Subject: [PATCH] bbdev: add capability for filler bits inclusion in HARQ Adding capability flag for device variants when HARQ buffer may or may not include the filler bits. Minor cosmetic changes in same file. Signed-off-by: Nicolas Chautru Acked-by: Dave Burley Acked-by: Akhil Goyal --- lib/librte_bbdev/rte_bbdev.h | 2 ++ lib/librte_bbdev/rte_bbdev_op.h | 12 ++++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/lib/librte_bbdev/rte_bbdev.h b/lib/librte_bbdev/rte_bbdev.h index 591fb7914a..b2da190fe1 100644 --- a/lib/librte_bbdev/rte_bbdev.h +++ b/lib/librte_bbdev/rte_bbdev.h @@ -607,6 +607,7 @@ rte_bbdev_enqueue_ldpc_dec_ops(uint16_t dev_id, uint16_t queue_id, * @param ops * Pointer array where operations will be dequeued to. Must have at least * @p num_ops entries + * ie. A pointer to a table of void * pointers (ops) that will be filled. * @param num_ops * The maximum number of operations to dequeue. * @@ -638,6 +639,7 @@ rte_bbdev_dequeue_enc_ops(uint16_t dev_id, uint16_t queue_id, * @param ops * Pointer array where operations will be dequeued to. Must have at least * @p num_ops entries + * ie. A pointer to a table of void * pointers (ops) that will be filled. * @param num_ops * The maximum number of operations to dequeue. * diff --git a/lib/librte_bbdev/rte_bbdev_op.h b/lib/librte_bbdev/rte_bbdev_op.h index 1e119a757b..c8a354ef0e 100644 --- a/lib/librte_bbdev/rte_bbdev_op.h +++ b/lib/librte_bbdev/rte_bbdev_op.h @@ -31,8 +31,11 @@ extern "C" { #define RTE_BBDEV_TURBO_MAX_TB_SIZE (391656) /* Maximum size of Code Block (36.212, Table 5.1.3-3) */ #define RTE_BBDEV_TURBO_MAX_CB_SIZE (6144) -/* Maximum size of Code Block */ +/* Maximum size of Code Block */ #define RTE_BBDEV_LDPC_MAX_CB_SIZE (8448) +/* Minimum size of Code Block */ +#define RTE_BBDEV_LDPC_MIN_CB_SIZE (40) + /* Minimum size of Code Block (36.212, Table 5.1.3-3) */ #define RTE_BBDEV_TURBO_MIN_CB_SIZE (40) /* Maximum size of circular buffer */ @@ -177,7 +180,12 @@ enum rte_bbdev_op_ldpcdec_flag_bitmasks { /** 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 << 17), + /** 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) }; /** Flags for LDPC encoder operation and capability structure */ -- 2.20.1