spi: stm32: fix accidential revert to byte-sized transfer splitting
authorLeonard Göhrs <l.goehrs@pengutronix.de>
Wed, 16 Aug 2023 14:52:37 +0000 (16:52 +0200)
committerMark Brown <broonie@kernel.org>
Mon, 21 Aug 2023 12:09:56 +0000 (13:09 +0100)
Commit 6f486556abe35 ("spi: stm32: renaming of spi_master into
spi_controller") included an accidential reverted of a change added in
commit 1e4929112507f ("spi: stm32: split large transfers based on word
size instead of bytes").

This breaks large SPI transfers with word sizes > 8 bits, which are
e.g. common when driving MIPI DBI displays.

Fix this by using `spi_split_transfers_maxwords()` instead of
`spi_split_transfers_maxsize()`.

Fixes: 6f486556abe35 ("spi: stm32: renaming of spi_master into spi_controller")
Signed-off-by: Leonard Göhrs <l.goehrs@pengutronix.de>
Link: https://lore.kernel.org/r/20230816145237.3159817-1-l.goehrs@pengutronix.de
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-stm32.c

index 6d10fa4ab78397943e352b6585b73d2cd1dc695e..7ddf9db776b06570c9014b4b17088aa6679774dd 100644 (file)
@@ -1001,9 +1001,9 @@ static int stm32_spi_prepare_msg(struct spi_controller *ctrl,
        if (spi->cfg->set_number_of_data) {
                int ret;
 
-               ret = spi_split_transfers_maxsize(ctrl, msg,
-                                                 STM32H7_SPI_TSIZE_MAX,
-                                                 GFP_KERNEL | GFP_DMA);
+               ret = spi_split_transfers_maxwords(ctrl, msg,
+                                                  STM32H7_SPI_TSIZE_MAX,
+                                                  GFP_KERNEL | GFP_DMA);
                if (ret)
                        return ret;
        }