From: James Clark <james.clark@linaro.org>
To: Vladimir Oltean <vladimir.oltean@nxp.com>
Cc: Arnd Bergmann <arnd@arndb.de>, Frank Li <Frank.li@nxp.com>,
Vladimir Oltean <olteanv@gmail.com>,
Mark Brown <broonie@kernel.org>,
linux-spi@vger.kernel.org, imx@lists.linux.dev,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/4] spi: spi-fsl-dspi: Use non-coherent memory for DMA
Date: Thu, 12 Jun 2025 15:35:09 +0100 [thread overview]
Message-ID: <31a16580-e3ce-4cc8-8310-04a0dd292df5@linaro.org> (raw)
In-Reply-To: <20250612143157.bu4vayvhieohdtbu@skbuf>
On 12/06/2025 3:31 pm, Vladimir Oltean wrote:
> On Thu, Jun 12, 2025 at 03:28:37PM +0100, James Clark wrote:
>>
>>
>> On 12/06/2025 3:23 pm, Vladimir Oltean wrote:
>>> On Thu, Jun 12, 2025 at 03:14:32PM +0100, James Clark wrote:
>>>>> That's why I don't like the DMA mode in DSPI, it's still CPU-bound,
>>>>> because the DMA buffers are very small (you can only provide one TX FIFO
>>>>> worth of data per DMA transfer, rather than the whole buffer).
>>>>
>>>> Is that right? The FIFO size isn't used in any of the DMA codepaths, it
>>>> looks like the whole DMA buffer is filled before initiating the transfer.
>>>> And we increase the buffer to 4k in this patchset to fully use the existing
>>>> allocation.
>>>
>>> Uhm, yeah, no?
>>>
>>> dspi_dma_xfer():
>>>
>>> while (dspi->len) {
>>> dspi->words_in_flight = dspi->len / dspi->oper_word_size;
>>> if (dspi->words_in_flight > dspi->devtype_data->fifo_size)
>>> dspi->words_in_flight = dspi->devtype_data->fifo_size;
>>> dspi_next_xfer_dma_submit();
>>> }
>>
>> Right but that's before the change in this patchset to use the whole page
>> that was allocated, hence the next bit:
>>
>>> And we increase the buffer to 4k in this patchset to fully use the
>> existing allocation.
>>
>> We were allocating for the size of the FIFO (multiplied by two to hold the
>> control words), but dma_alloc_coherent() will be backed by a whole page
>> anyway, even if you only ask for a few bytes.
>>
>> After changing that to make use of the full allocation the FIFO length is no
>> longer involved.
>
> Ok, I haven't walked through patch 3 yet, I didn't realize it would be
> changing that. I will want to test it on LS1028A.
Yeah testing it somewhere else would be good. Maybe there is some
limitation there about the max size of the DMA transfer, but I didn't
see it.
I realise the tense in my original message may have been a bit
confusing. I was mixing up the existing code and proposed changes...
next prev parent reply other threads:[~2025-06-12 14:35 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-09 15:32 [PATCH 0/4] spi: spi-fsl-dspi: Target mode improvements James Clark
2025-06-09 15:32 ` [PATCH 1/4] spi: spi-fsl-dspi: Clear completion counter before initiating transfer James Clark
2025-06-10 11:34 ` Vladimir Oltean
2025-06-10 15:41 ` James Clark
2025-06-10 21:01 ` Vladimir Oltean
2025-06-10 21:31 ` Vladimir Oltean
2025-06-11 9:12 ` James Clark
2025-06-09 15:32 ` [PATCH 2/4] spi: spi-fsl-dspi: Use non-coherent memory for DMA James Clark
2025-06-10 8:26 ` Arnd Bergmann
2025-06-10 9:03 ` James Clark
2025-06-10 15:15 ` Frank Li
2025-06-10 15:46 ` James Clark
2025-06-13 15:56 ` David Laight
2025-06-10 15:48 ` Arnd Bergmann
2025-06-10 15:56 ` Frank Li
2025-06-11 9:01 ` Vladimir Oltean
2025-06-12 11:05 ` James Clark
2025-06-12 11:15 ` Vladimir Oltean
2025-06-12 14:14 ` James Clark
2025-06-12 14:23 ` Vladimir Oltean
2025-06-12 14:28 ` James Clark
2025-06-12 14:31 ` Vladimir Oltean
2025-06-12 14:35 ` James Clark [this message]
2025-06-12 14:36 ` Vladimir Oltean
2025-06-12 15:36 ` James Clark
2025-06-12 15:37 ` James Clark
2025-06-12 14:43 ` Mark Brown
2025-06-12 15:47 ` James Clark
2025-06-12 15:51 ` Vladimir Oltean
2025-06-12 15:40 ` Arnd Bergmann
2025-06-12 11:15 ` Arnd Bergmann
2025-06-09 15:32 ` [PATCH 3/4] spi: spi-fsl-dspi: Increase DMA buffer size James Clark
2025-06-09 15:32 ` [PATCH 4/4] spi: spi-fsl-dspi: Report FIFO overflows as errors James Clark
2025-06-10 21:52 ` Vladimir Oltean
2025-06-11 14:40 ` James Clark
2025-06-11 14:56 ` Vladimir Oltean
2025-06-11 15:00 ` James Clark
2025-06-30 11:40 ` [PATCH 0/4] spi: spi-fsl-dspi: Target mode improvements Mark Brown
2025-06-30 12:23 ` James Clark
2025-06-30 12:25 ` Mark Brown
2025-06-30 12:36 ` James Clark
2025-06-30 12:40 ` Mark Brown
2025-06-30 12:54 ` James Clark
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=31a16580-e3ce-4cc8-8310-04a0dd292df5@linaro.org \
--to=james.clark@linaro.org \
--cc=Frank.li@nxp.com \
--cc=arnd@arndb.de \
--cc=broonie@kernel.org \
--cc=imx@lists.linux.dev \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-spi@vger.kernel.org \
--cc=olteanv@gmail.com \
--cc=vladimir.oltean@nxp.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox