Re: [PATCH v2] dmaengine: fsl-edma: tracing: no ptr dereference during log output

Martin Kaiser <[email protected]> Tue, 28 Jul 2026 10:19:24 +0200
Newsgroups org.kernel.vger.dmaengine,dev.linux.lists.imx,dev.linux.lists.sashiko-reviews
Message-ID <[email protected]>
Thus wrote [email protected] ([email protected]):

> However, edma_writel() uses iowrite32() which assumes native CPU-endian
> input:

> drivers/dma/fsl-edma-common.h:edma_writel() {

static inline void edma_writel(struct fsl_edma_engine *edma,
			       u32 val, void __iomem *addr)

where val is always little-endian

>     if (edma->big_endian)

edma->big_endian is configured from a devicetree setting. It's possible that it
doesn't match cpu endianness.

Could we check __BYTE_ORDER__ instead (or additonally)?


>         iowrite32be(val, addr);
>     else
>         iowrite32(val, addr);

The potential endianness issue affects only the value that's written to the
hardware. It's unrelated to the tracing patch that is reviewed here.

>     trace_edma_writel(edma, addr, val);

The value that's traced is always little-endian. We might have to use
le32_to_cpu(val) in the trace event definition. But again, that would be a
separate patch.

May I ask that we put the sashiko comments asided and merge the trace event
fix? (I'm happy to submit another patch for le32_to_cpu in the event.)

Thanks,
Martin