On 11/2/22 00:04, Nicolas Chautru wrote:
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;

Reviewed-by: Maxime Coquelin <maxime.coque...@redhat.com>

Thanks,
Maxime

Reply via email to