]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
spi: spi-fsl-dspi: Target mode improvements
authorMark Brown <broonie@kernel.org>
Wed, 3 Sep 2025 19:15:02 +0000 (20:15 +0100)
committerMark Brown <broonie@kernel.org>
Wed, 3 Sep 2025 19:15:02 +0000 (20:15 +0100)
commit73e4e7087a4545db3c8c4b3fec82c7bef8e2f7b1
tree0c15d0ab291cf94e6fcdc40dd395de33fe70c97e
parent94b39cb3ad6db935b585988b36378884199cd5fc
parent5cc49b5a36b32a2dba41441ea13b93fb5ea21cfd
spi: spi-fsl-dspi: Target mode improvements

Merge series from James Clark <james.clark@linaro.org>:

Improve usability of target mode by reporting FIFO errors and increasing
the buffer size when DMA is used. While we're touching DMA stuff also
switch to non-coherent memory, although this is unrelated to target
mode.

With the combination of the commit to increase the DMA buffer size and
the commit to use non-coherent memory, the host mode performance figures
are as follows on S32G3:

  # spidev_test --device /dev/spidev1.0 --bpw 8 --size <test_size> --cpha --iter 10000000 --speed 10000000

  Coherent (4096 byte transfers): 6534 kbps
  Non-coherent:                   7347 kbps

  Coherent (16 byte transfers):    447 kbps
  Non-coherent:                    448 kbps

Just for comparison running the same test in XSPI mode:

  4096 byte transfers:            2143 kbps
  16 byte transfers:               637 kbps

These tests required hacking S32G3 to use DMA in host mode, although
the figures should be representative of target mode too where DMA is
used. And the other devices that use DMA in host mode should see similar
improvements.
MAINTAINERS
drivers/spi/spi-fsl-lpspi.c