HARQ memory implementation could have different size assumptions. Extending HARQ tolerance to cover different implementations.
Fixes: 335c11fd276 ("app/bbdev: support HARQ validation") Cc: sta...@dpdk.org Signed-off-by: Hernan Vargas <hernan.var...@intel.com> Reviewed-by: Maxime Coquelin <maxime.coque...@redhat.com> --- app/test-bbdev/test_bbdev_perf.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/app/test-bbdev/test_bbdev_perf.c b/app/test-bbdev/test_bbdev_perf.c index 027f32cbf1b7..74e7e1394092 100644 --- a/app/test-bbdev/test_bbdev_perf.c +++ b/app/test-bbdev/test_bbdev_perf.c @@ -95,6 +95,7 @@ #define K0_3_1 56 /* K0 fraction numerator for rv 3 and BG 1 */ #define K0_3_2 43 /* K0 fraction numerator for rv 3 and BG 2 */ +#define HARQ_MEM_TOLERANCE 256 static struct test_bbdev_vector test_vector; /* Switch between PMD and Interrupt for throughput TC */ @@ -2090,13 +2091,17 @@ validate_op_harq_chain(struct rte_bbdev_op_data *op, uint16_t data_len = rte_pktmbuf_data_len(m) - offset; total_data_size += orig_op->segments[i].length; - TEST_ASSERT(orig_op->segments[i].length < - (uint32_t)(data_len + 64), + TEST_ASSERT(orig_op->segments[i].length < (uint32_t)(data_len + HARQ_MEM_TOLERANCE), "Length of segment differ in original (%u) and filled (%u) op", orig_op->segments[i].length, data_len); harq_orig = (int8_t *) orig_op->segments[i].addr; harq_out = rte_pktmbuf_mtod_offset(m, int8_t *, offset); + /* Cannot compare HARQ output data for such cases */ + if ((ldpc_llr_decimals > 1) && ((ops_ld->op_flags & RTE_BBDEV_LDPC_LLR_COMPRESSION) + || (ops_ld->op_flags & RTE_BBDEV_LDPC_HARQ_6BIT_COMPRESSION))) + break; + if (!(ldpc_cap_flags & RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_FILLERS ) || (ops_ld->op_flags & @@ -2172,7 +2177,7 @@ validate_op_harq_chain(struct rte_bbdev_op_data *op, /* Validate total mbuf pkt length */ uint32_t pkt_len = rte_pktmbuf_pkt_len(op->data) - op->offset; - TEST_ASSERT(total_data_size < pkt_len + 64, + TEST_ASSERT(total_data_size < pkt_len + HARQ_MEM_TOLERANCE, "Length of data differ in original (%u) and filled (%u) op", total_data_size, pkt_len); -- 2.37.1