[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251126-refined-fluorescent-kestrel-7d3f9e-mkl@pengutronix.de>
Date: Wed, 26 Nov 2025 13:36:14 +0100
From: Marc Kleine-Budde <mkl@...gutronix.de>
To: Carlos Song <carlos.song@....com>
Cc: "broonie@...nel.org" <broonie@...nel.org>, Frank Li <frank.li@....com>,
"hawnguo@...nel.org" <hawnguo@...nel.org>, "s.hauer@...gutronix.de" <s.hauer@...gutronix.de>,
"kernel@...gutronix.de" <kernel@...gutronix.de>, "festevam@...il.com" <festevam@...il.com>,
"imx@...ts.linux.dev" <imx@...ts.linux.dev>, "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-arm-kernel@...ts.infradead.org" <linux-arm-kernel@...ts.infradead.org>, "linux-spi@...r.kernel.org" <linux-spi@...r.kernel.org>
Subject: Re: [PATCH 5/6] spi: imx: support dynamic burst length for ECSPI DMA
mode
On 26.11.2025 11:17:41, Carlos Song wrote:
>
>
> > -----Original Message-----
> > From: Marc Kleine-Budde <mkl@...gutronix.de>
> > Sent: Wednesday, November 26, 2025 4:31 PM
> > To: Carlos Song <carlos.song@....com>
> > Cc: broonie@...nel.org; Frank Li <frank.li@....com>; hawnguo@...nel.org;
> > s.hauer@...gutronix.de; kernel@...gutronix.de; festevam@...il.com;
> > imx@...ts.linux.dev; linux-kernel@...r.kernel.org;
> > linux-arm-kernel@...ts.infradead.org; linux-spi@...r.kernel.org
> > Subject: [EXT] Re: [PATCH 5/6] spi: imx: support dynamic burst length for ECSPI
> > DMA mode
> >
> > On 26.11.2025 07:42:36, Carlos Song wrote:
> >
> > [...]
> > > For example len is 512 *3 + 511. So first transfer using BURST_LENGTH
> > > = 512 bytes(auto update 3 times), DMA transfer len = 512 *3, second
> > > package BURST_LENGTH = 511 bytes, DMA transfer len = 511.(If here we
> > > use 512 bytes as BURST_LENGTH, SPI will shift out/in extra bits, it
> > > previous isn't acceptable!)
> >
> > What happens if you keep the Burst Length at 512 and only transfer 511 bytes
> > with the DMA engine?
> >
>
> Sorry for missing one question:
> BURST_LENGTH = 511, ECSPI will shift out 511 bytes in bus.
> BURST_LENGTH = 512, ECSPI will shift out the last one word all bit in 32 bits FIFO.
> So ECSPI will shift out 512 bytes include 8-bits zero bytes in bus.
Why was the tail transfer not needed before your patch?
Is because you configure buswidth to DMA_SLAVE_BUSWIDTH_4_BYTES
unconditionally on !word_delay mode. What happens if you always use
DMA_SLAVE_BUSWIDTH_1_BYTES?
Marc
--
Pengutronix e.K. | Marc Kleine-Budde |
Embedded Linux | https://www.pengutronix.de |
Vertretung Nürnberg | Phone: +49-5121-206917-129 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-9 |
Download attachment "signature.asc" of type "application/pgp-signature" (485 bytes)
Powered by blists - more mailing lists