mbox series

[v2,00/22] spi: sh-msiof: Transfer size improvements and I2S reuse

Message ID cover.1747401908.git.geert+renesas@glider.be
Headers show
Series spi: sh-msiof: Transfer size improvements and I2S reuse | expand

Message

Geert Uytterhoeven May 16, 2025, 1:32 p.m. UTC
Hi all,

This patch series (A) improves single transfer sizes in the MSIOF
driver, using two methods:
  - By increasing the assumed FIFO sizes, impacting both PIO and DMA
    transfers,
  - By using two groups, impacting DMA transfers,
and (B) lets the recently-introduced MSIOF I2S drive reuse the SPI
driver's register definitions.  All of this is covered with a thick
sauce of fixes for (harmless) bugs, cleanups, and refactorings.

Changes compared to v1[1]:
  - Make include/linux/spi/sh_msiof.h self-contained,
  - Add Tested-by for the sound part.

Note that the driver uses the limitations as specified in the hardware
documentation.  For discovering the actual FIFO sizes, I wrote some
crude test code that can be found at [2].

This is based on spi/for-next and sound-asoc/for-next, and has been
tested on a variery of R-Car SoCs.

Thanks for your comments!

[1] https://lore.kernel.org/cover.1746180072.git.geert+renesas@glider.be
[2] https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers.git/log/?h=topic/msiof-fifo

Geert Uytterhoeven (22):
  spi: sh-msiof: Drop comma after OF match table sentinel
  spi: sh-msiof: Remove unneeded compatible values
  spi: sh-msiof: Fix maximum DMA transfer size
  spi: sh-msiof: Complete using dev in sh_msiof_spi_probe()
  spi: sh-msiof: Use bool for boolean flags
  spi: sh-msiof: Make words/bits unsigned in sh_msiof_spi_txrx_once()
  spi: sh-msiof: Make words/fs unsigned in FIFO helpers
  spi: sh-msiof: SITMDR1/SIRMDR1 bitfield conversion
  spi: sh-msiof: SITMDR2 and SIRMDR2 bitfield conversion
  spi: sh-msiof: SITSCR/SIRSCR bitfield conversion
  spi: sh-msiof: SICTR bitfield conversion
  spi: sh-msiof: SIFCTR bitfield conversion
  spi: sh-msiof: Correct SIMDR2_GRPMASK
  spi: sh-msiof: Add core support for dual-group transfers
  spi: sh-msiof: Correct RX FIFO size for R-Car Gen2
  spi: sh-msiof: Correct RX FIFO size for R-Car Gen3
  spi: sh-msiof: Increase TX FIFO size for R-Car V4H/V4M
  spi: sh-msiof: Simplify BRG's Division Ratio
  spi: sh-msiof: Double maximum DMA transfer size using two groups
  spi: sh-msiof: Document frame start sync pulse mode
  spi: sh-msiof: Move register definitions to <linux/spi/sh_msiof.h>
  ASoC: renesas: msiof: Convert to <linux/spi/sh_msiof.h>

 drivers/spi/spi-sh-msiof.c     | 357 +++++++++++++--------------------
 include/linux/spi/sh_msiof.h   | 125 ++++++++++++
 sound/soc/renesas/rcar/msiof.c |  94 +++------
 3 files changed, 287 insertions(+), 289 deletions(-)

Comments

Mark Brown May 20, 2025, 11:05 a.m. UTC | #1
On Fri, 16 May 2025 15:32:03 +0200, Geert Uytterhoeven wrote:
> 	Hi all,
> 
> This patch series (A) improves single transfer sizes in the MSIOF
> driver, using two methods:
>   - By increasing the assumed FIFO sizes, impacting both PIO and DMA
>     transfers,
>   - By using two groups, impacting DMA transfers,
> and (B) lets the recently-introduced MSIOF I2S drive reuse the SPI
> driver's register definitions.  All of this is covered with a thick
> sauce of fixes for (harmless) bugs, cleanups, and refactorings.
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next

Thanks!

[01/22] spi: sh-msiof: Drop comma after OF match table sentinel
        commit: 0e1c7d0591ac4054c67529e200a9edfaf5344f4a
[02/22] spi: sh-msiof: Remove unneeded compatible values
        commit: ee44d3fc9d8b882cbc98acf2d3c773aba971aa67
[03/22] spi: sh-msiof: Fix maximum DMA transfer size
        commit: 0941d5166629cb766000530945e54b4e49680c68
[04/22] spi: sh-msiof: Complete using dev in sh_msiof_spi_probe()
        commit: 74df74ee83acfea4e9a6b47386c7907379c9295f
[05/22] spi: sh-msiof: Use bool for boolean flags
        commit: 3dd5ed19a2e8283f9ead5f2fd09b267a337ab86d
[06/22] spi: sh-msiof: Make words/bits unsigned in sh_msiof_spi_txrx_once()
        commit: b4eec5cdf112e3a4e286fb79fe507b09e2fca66f
[07/22] spi: sh-msiof: Make words/fs unsigned in FIFO helpers
        commit: 74cb19c943ddb46f3d06323c3d0469f14282c8ca
[08/22] spi: sh-msiof: SITMDR1/SIRMDR1 bitfield conversion
        commit: 6bae252a9452ca8496670230a7821c34450763a2
[09/22] spi: sh-msiof: SITMDR2 and SIRMDR2 bitfield conversion
        commit: 386cc5207ba2b68a4672cb68810c44412531e74e
[10/22] spi: sh-msiof: SITSCR/SIRSCR bitfield conversion
        commit: c2cc4b72fc14c84fdb1bc49ec98af252ed64fbf3
[11/22] spi: sh-msiof: SICTR bitfield conversion
        commit: bd8d6658e7084ff9e78da9623633e79c9d31ad68
[12/22] spi: sh-msiof: SIFCTR bitfield conversion
        commit: 8f3903b382f73eb5c36d342dea838d991e4bbe08
[13/22] spi: sh-msiof: Correct SIMDR2_GRPMASK
        commit: acedbff0f0de1c116a0f8d943c4cf005f61f6143
[14/22] spi: sh-msiof: Add core support for dual-group transfers
        commit: 955f7ce6680564963765e5fc1c3e71027a39a806
[15/22] spi: sh-msiof: Correct RX FIFO size for R-Car Gen2
        commit: 1ab2c8c45f5c5df6707cc848686e674f4ec5c3d9
[16/22] spi: sh-msiof: Correct RX FIFO size for R-Car Gen3
        commit: f669c2827dd691b10fcf4e4c5546869a51d0a46e
[17/22] spi: sh-msiof: Increase TX FIFO size for R-Car V4H/V4M
        commit: 5b91dc7e3e371e7263b95c0d31151c645d6652a6
[18/22] spi: sh-msiof: Simplify BRG's Division Ratio
        commit: 39d0856f4102b6b61fdc650f90a1d9231e2bab17
[19/22] spi: sh-msiof: Double maximum DMA transfer size using two groups
        commit: acb47aa9b1e2f47121cf2233fcaf998151ab5410
[20/22] spi: sh-msiof: Document frame start sync pulse mode
        commit: 8f836868d848a9b84c38ae1f8e7366e01927c024
[21/22] spi: sh-msiof: Move register definitions to <linux/spi/sh_msiof.h>
        commit: ec23a899d96f9ee3389abe6c516d09cae2fde5e3
[22/22] ASoC: renesas: msiof: Convert to <linux/spi/sh_msiof.h>
        (no commit info)

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark