* [PATCH v1 1/5] bbdev: fix status error for ops dump
2026-11-03 17:28 [PATCH v1 0/5] bbdev, baseband/acc: bug fixes Hernan Vargas
@ 2026-11-03 17:28 ` Hernan Vargas
2026-11-03 17:28 ` [PATCH v1 2/5] baseband/acc: fix queue depth computation error Hernan Vargas
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Hernan Vargas @ 2026-11-03 17:28 UTC (permalink / raw)
To: dev, gakhil, trix, maxime.coquelin
Cc: nicolas.chautru, qi.z.zhang, Hernan Vargas, stable
The error log being reported by rte_bbdev_enqueue_status_str is
displayed even without an actual error. The function may be called for
such index (notably for queue dump) for valid reasons.
Fixes: 4f08028c5e24 ("bbdev: expose queue related warning and status")
Cc: stable@dpdk.org
Signed-off-by: Hernan Vargas <hernan.vargas@intel.com>
---
lib/bbdev/rte_bbdev.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/lib/bbdev/rte_bbdev.c b/lib/bbdev/rte_bbdev.c
index ea644c1f9b..3961c9deb3 100644
--- a/lib/bbdev/rte_bbdev.c
+++ b/lib/bbdev/rte_bbdev.c
@@ -1236,7 +1236,6 @@ rte_bbdev_enqueue_status_str(enum rte_bbdev_enqueue_status status)
if ((uint8_t)status < sizeof(enq_sta_string) / sizeof(char *))
return enq_sta_string[status];
- rte_bbdev_log(ERR, "Invalid enqueue status");
return NULL;
}
--
2.34.1
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH v1 2/5] baseband/acc: fix queue depth computation error
2026-11-03 17:28 [PATCH v1 0/5] bbdev, baseband/acc: bug fixes Hernan Vargas
2026-11-03 17:28 ` [PATCH v1 1/5] bbdev: fix status error for ops dump Hernan Vargas
@ 2026-11-03 17:28 ` Hernan Vargas
2026-11-03 17:29 ` [PATCH v1 3/5] baseband/acc: fix PF2VF Bug for FFT window probing Hernan Vargas
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Hernan Vargas @ 2026-11-03 17:28 UTC (permalink / raw)
To: dev, gakhil, trix, maxime.coquelin
Cc: nicolas.chautru, qi.z.zhang, Hernan Vargas, stable
Fix to the computation of available dequeue size.
Protects notably for possible negative scenarios when dequeuing
descriptors.
Fixes: e640f6cdfa84 ("baseband/acc200: add LDPC processing")
Cc: stable@dpdk.org
Signed-off-by: Hernan Vargas <hernan.vargas@intel.com>
---
drivers/baseband/acc/acc_common.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/baseband/acc/acc_common.h b/drivers/baseband/acc/acc_common.h
index 3d411cd25f..255e0971b8 100644
--- a/drivers/baseband/acc/acc_common.h
+++ b/drivers/baseband/acc/acc_common.h
@@ -1602,7 +1602,7 @@ acc_ring_avail_enq(struct acc_queue *q)
static inline uint32_t
acc_ring_avail_deq(struct acc_queue *q)
{
- return (q->sw_ring_depth + q->sw_ring_head - q->sw_ring_tail) & q->sw_ring_wrap_mask;
+ return (q->sw_ring_head - q->sw_ring_tail) & q->sw_ring_wrap_mask;
}
/* Check room in AQ for the enqueues batches into Qmgr */
--
2.34.1
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH v1 3/5] baseband/acc: fix PF2VF Bug for FFT window probing
2026-11-03 17:28 [PATCH v1 0/5] bbdev, baseband/acc: bug fixes Hernan Vargas
2026-11-03 17:28 ` [PATCH v1 1/5] bbdev: fix status error for ops dump Hernan Vargas
2026-11-03 17:28 ` [PATCH v1 2/5] baseband/acc: fix queue depth computation error Hernan Vargas
@ 2026-11-03 17:29 ` Hernan Vargas
2026-11-03 17:29 ` [PATCH v1 4/5] baseband/acc: fix ring interrupt handler err path Hernan Vargas
2026-11-03 17:29 ` [PATCH v1 5/5] baseband/acc: fix bug when alternating TB mode Hernan Vargas
4 siblings, 0 replies; 6+ messages in thread
From: Hernan Vargas @ 2026-11-03 17:29 UTC (permalink / raw)
To: dev, gakhil, trix, maxime.coquelin
Cc: nicolas.chautru, qi.z.zhang, Hernan Vargas, stable
Update of the PF2VF comms between bbdev and pf_bb_config to make sure
all FFT windows can be read.
So far only the first window was actually used and functional.
No system impact. Affects VRB1 and VRB2.
Fixes: 0d39ed91c161 ("baseband/acc: add FFT window width in VRB")
Cc: stable@dpdk.org
Signed-off-by: Hernan Vargas <hernan.vargas@intel.com>
---
drivers/baseband/acc/rte_vrb_pmd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/baseband/acc/rte_vrb_pmd.c b/drivers/baseband/acc/rte_vrb_pmd.c
index 1f85e33462..b9ff027ce8 100644
--- a/drivers/baseband/acc/rte_vrb_pmd.c
+++ b/drivers/baseband/acc/rte_vrb_pmd.c
@@ -219,7 +219,7 @@ vrb_device_fft_win(struct rte_bbdev *dev)
/* Check from the device the first time. */
if (d->fft_window_width[0] == 0) {
for (win = 0; win < ACC_MAX_FFT_WIN; win++) {
- vrb_vf2pf(d, ACC_VF2PF_FFT_WIN_REQUEST | win);
+ vrb_vf2pf(d, ACC_VF2PF_FFT_WIN_REQUEST | (win << 8));
reg = acc_reg_read(d, d->reg_addr->pf2vf_doorbell);
while ((time_out < ACC_STATUS_TO) && (reg == RTE_BBDEV_DEV_NOSTATUS)) {
usleep(ACC_STATUS_WAIT); /* Wait or VF->PF->VF Comms. */
--
2.34.1
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH v1 4/5] baseband/acc: fix ring interrupt handler err path
2026-11-03 17:28 [PATCH v1 0/5] bbdev, baseband/acc: bug fixes Hernan Vargas
` (2 preceding siblings ...)
2026-11-03 17:29 ` [PATCH v1 3/5] baseband/acc: fix PF2VF Bug for FFT window probing Hernan Vargas
@ 2026-11-03 17:29 ` Hernan Vargas
2026-11-03 17:29 ` [PATCH v1 5/5] baseband/acc: fix bug when alternating TB mode Hernan Vargas
4 siblings, 0 replies; 6+ messages in thread
From: Hernan Vargas @ 2026-11-03 17:29 UTC (permalink / raw)
To: dev, gakhil, trix, maxime.coquelin
Cc: nicolas.chautru, qi.z.zhang, Hernan Vargas, stable
When get_queue_id_from_ring_info() fails to match a queue index
(returning UINT16_MAX), an early return skipped clearing the ring
entry and advancing the head pointer. This left the valid bit set,
causing the same malformed entry to be reprocessed on every
subsequent interrupt, blocking all further ring processing.
Replace the return with break so the entry is consumed and the
loop continues normally. Fix applies to both PF and VF paths.
Fixes: 3cabc8eaf524 ("baseband/acc200: support interrupt")
Cc: stable@dpdk.org
Signed-off-by: Hernan Vargas <hernan.vargas@intel.com>
---
drivers/baseband/acc/rte_vrb_pmd.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/baseband/acc/rte_vrb_pmd.c b/drivers/baseband/acc/rte_vrb_pmd.c
index b9ff027ce8..803e0c9177 100644
--- a/drivers/baseband/acc/rte_vrb_pmd.c
+++ b/drivers/baseband/acc/rte_vrb_pmd.c
@@ -454,7 +454,7 @@ vrb_dev_interrupt_handler(void *cb_arg)
rte_bbdev_log(ERR,
"Couldn't find queue: aq_id: %u, qg_id: %u, vf_id: %u",
aq_id, qg_id, vf_id);
- return;
+ break;
}
rte_bbdev_pmd_callback_process(dev,
RTE_BBDEV_EVENT_DEQUEUE, &deq_intr_det);
@@ -482,7 +482,7 @@ vrb_dev_interrupt_handler(void *cb_arg)
rte_bbdev_log(ERR,
"Couldn't find queue: aq_id: %u, qg_id: %u",
aq_id, qg_id);
- return;
+ break;
}
rte_bbdev_pmd_callback_process(dev,
RTE_BBDEV_EVENT_DEQUEUE, &deq_intr_det);
--
2.34.1
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH v1 5/5] baseband/acc: fix bug when alternating TB mode
2026-11-03 17:28 [PATCH v1 0/5] bbdev, baseband/acc: bug fixes Hernan Vargas
` (3 preceding siblings ...)
2026-11-03 17:29 ` [PATCH v1 4/5] baseband/acc: fix ring interrupt handler err path Hernan Vargas
@ 2026-11-03 17:29 ` Hernan Vargas
4 siblings, 0 replies; 6+ messages in thread
From: Hernan Vargas @ 2026-11-03 17:29 UTC (permalink / raw)
To: dev, gakhil, trix, maxime.coquelin
Cc: nicolas.chautru, qi.z.zhang, Hernan Vargas, stable
Part of the FCW needs to be explicit set to zero when alternating
between TB mode.
Fixes: 32e8b7ea35dd ("baseband/acc100: refactor to segregate common code")
Cc: stable@dpdk.org
Signed-off-by: Hernan Vargas <hernan.vargas@intel.com>
---
drivers/baseband/acc/acc_common.h | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/baseband/acc/acc_common.h b/drivers/baseband/acc/acc_common.h
index 255e0971b8..d70a14dcbe 100644
--- a/drivers/baseband/acc/acc_common.h
+++ b/drivers/baseband/acc/acc_common.h
@@ -1082,6 +1082,9 @@ acc_fcw_le_fill(const struct rte_bbdev_enc_op *op,
fcw->k0 = get_k0(fcw->ncb, fcw->Zc, op->ldpc_enc.basegraph,
op->ldpc_enc.rv_index, 0);
fcw->rm_e = (default_e == 0) ? op->ldpc_enc.cb_params.e : default_e;
+ fcw->rm_e_b = 0;
+ fcw->C = 0;
+ fcw->Cab = 0;
fcw->crc_select = check_bit(op->ldpc_enc.op_flags,
RTE_BBDEV_LDPC_CRC_24B_ATTACH);
fcw->bypass_intlv = check_bit(op->ldpc_enc.op_flags,
--
2.34.1
^ permalink raw reply related [flat|nested] 6+ messages in thread