]> git.ipfire.org Git - thirdparty/linux.git/commit
spi: cadence-quadspi: Improve CQSPI_SLOW_SRAM quirk if flash is slow
authorMateusz Litwin <mateusz.litwin@nokia.com>
Thu, 18 Dec 2025 21:33:05 +0000 (22:33 +0100)
committerMark Brown <broonie@kernel.org>
Tue, 23 Dec 2025 10:58:57 +0000 (10:58 +0000)
commit5bfbbf0a49ee4b5dcf46a3bfd4cd860d72cc887d
treef94c1e0747abdfb53ccb7d189813b869cd93d4a3
parentd67396c9d697041b385d70ff2fd59cb07ae167e8
spi: cadence-quadspi: Improve CQSPI_SLOW_SRAM quirk if flash is slow

CQSPI_SLOW_SRAM quirk on the Stratix10 platform causes fewer interrupts,
but also causes timeouts if a small block is used or if flash devices are
slower than or equal in speed to SRAM's read operations. Adding the
CQSPI_REG_IRQ_IND_COMP interrupt would resolve the problem for small
reads, and removing the disabling of interrupts would resolve the issue
with lost interrupts.
This marginally increases IRQ count. Tests show that this will cause only
a few percent more interrupts.

Test:
$ dd if=/dev/mtd0 of=/dev/null bs=1M count=64
Results from the Stratix10 platform with mt25qu02g flash.
FIFO size in all tests: 128

Serviced interrupt call counts:
Without CQSPI_SLOW_SRAM quirk: 16 668 850
With CQSPI_SLOW_SRAM quirk: 204 176
With CQSPI_SLOW_SRAM and this commit: 224 528

Signed-off-by: Mateusz Litwin <mateusz.litwin@nokia.com>
Link: https://patch.msgid.link/20251218-cqspi_indirect_read_improve-v2-2-396079972f2a@nokia.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-cadence-quadspi.c