[PATCH v26 18/26] dma/dpaa: fix data validation on the completion path
Hemant Agrawal
hemant.agrawal at nxp.com
Thu Oct 15 16:11:36 CEST 2026
fsl_qdma_data_validation() runs on every completion. It is a
byte-by-byte software compare of the transferred data, which belongs to
debugging and not to the datapath, where it costs a read-back and a
compare of every descriptor that completes.
Gate it behind s_data_validation, which is off by default, so the
compare is skipped unless it is explicitly asked for.
Fixes: f1d30e2786b6 ("dma/dpaa: refactor driver")
Cc: stable at dpdk.org
Signed-off-by: Gagandeep Singh <g.singh at nxp.com>
---
drivers/dma/dpaa/dpaa_qdma.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/dma/dpaa/dpaa_qdma.c b/drivers/dma/dpaa/dpaa_qdma.c
index 0234042ded..4701432d09 100644
--- a/drivers/dma/dpaa/dpaa_qdma.c
+++ b/drivers/dma/dpaa/dpaa_qdma.c
@@ -11,6 +11,7 @@
static uint32_t s_sg_max_entry_sz = 2000;
static bool s_hw_err_check;
+static bool s_data_validation;
#define DPAA_DMA_ERROR_CHECK "dpaa_dma_err_check"
@@ -392,6 +393,9 @@ fsl_qdma_data_validation(struct fsl_qdma_desc *desc[],
char err_msg[512];
int offset;
+ if (likely(!s_data_validation))
+ return;
+
offset = sprintf(err_msg, "Fatal TC%d/queue%d: ",
fsl_queue->block_id,
--
2.25.1
More information about the dev
mailing list