]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
spi: xilinx: increase number of retries before declaring stall
authorAlvaro Gamez Machado <alvaro.gamez@hazent.com>
Thu, 6 Nov 2025 13:45:35 +0000 (14:45 +0100)
committerMark Brown <broonie@kernel.org>
Fri, 7 Nov 2025 09:37:46 +0000 (09:37 +0000)
SPI devices using a (relative) slow frequency need a larger time.

For instance, microblaze running at 83.25MHz and performing a
3 bytes transaction using a 10MHz/16 = 625kHz needed this stall
value increased to at least 20. The SPI device is quite slow, but
also is the microblaze, so set this value to 32 to give it even
more margin.

Signed-off-by: Alvaro Gamez Machado <alvaro.gamez@hazent.com>
Reviewed-by: Ricardo Ribalda <ribalda@chromium.org>
Link: https://patch.msgid.link/20251106134545.31942-1-alvaro.gamez@hazent.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-xilinx.c

index d59cc8a18484667a2669b6f8d5d9ce8394c530ca..c86dc56f38b45632d7649c45455b06730fcdcf25 100644 (file)
@@ -300,7 +300,7 @@ static int xilinx_spi_txrx_bufs(struct spi_device *spi, struct spi_transfer *t)
 
                /* Read out all the data from the Rx FIFO */
                rx_words = n_words;
-               stalled = 10;
+               stalled = 32;
                while (rx_words) {
                        if (rx_words == n_words && !(stalled--) &&
                            !(sr & XSPI_SR_TX_EMPTY_MASK) &&