The logic for that flag was inverted. Specific to ACC200. When starting with even iteration it actually runs for an additional half iteration.
Fixes: bec597b78a0 ("baseband/acc200: add LTE processing") Signed-off-by: Nicolas Chautru <nicolas.chau...@intel.com> --- drivers/baseband/acc/rte_acc200_pmd.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/baseband/acc/rte_acc200_pmd.c b/drivers/baseband/acc/rte_acc200_pmd.c index 8ee9023451..0cbb9a946b 100644 --- a/drivers/baseband/acc/rte_acc200_pmd.c +++ b/drivers/baseband/acc/rte_acc200_pmd.c @@ -1238,8 +1238,7 @@ acc200_fcw_td_fill(const struct rte_bbdev_dec_op *op, struct acc_fcw_td *fcw) fcw->raw_decoder_input_on = 0; fcw->max_iter = RTE_MAX((uint8_t) op->turbo_dec.iter_max, 2); fcw->min_iter = 2; - fcw->half_iter_on = !check_bit(op->turbo_dec.op_flags, - RTE_BBDEV_TURBO_HALF_ITERATION_EVEN); + fcw->half_iter_on = check_bit(op->turbo_dec.op_flags, RTE_BBDEV_TURBO_HALF_ITERATION_EVEN); fcw->early_stop_en = check_bit(op->turbo_dec.op_flags, RTE_BBDEV_TURBO_EARLY_TERMINATION) & !fcw->soft_output_en; -- 2.37.1