]> git.baikalelectronics.ru Git - kernel.git/commit
spi: cadence-quadspi: Disable irqs during indirect reads
authorNiravkumar L Rabara <niravkumar.l.rabara@intel.com>
Sat, 13 Aug 2022 04:26:16 +0000 (12:26 +0800)
committerMark Brown <broonie@kernel.org>
Mon, 22 Aug 2022 13:05:21 +0000 (14:05 +0100)
commit6147fa264bdaaa5d6b601e823f7741e09c35d330
tree792f06b520e62e43e38c0e68c5dbb5f4f7278324
parentf5bfaa2053e57f4e409792b72cd1cef5a6d9350f
spi: cadence-quadspi: Disable irqs during indirect reads

On architecture where reading the SRAM is slower than the pace at
controller fills it, with interrupt enabled while reading from
SRAM FIFO causes unwanted interrupt storm to CPU.

The inner "bytes to read" loop never exits and waits for the completion
so it is enough to only enable the watermark interrupt when we
are out of bytes to read, which only happens when we start the
transfer (waiting for the FIFO to fill up initially) if the SRAM
is slow.

So only using read watermark interrupt, as the current implementation
doesn't utilize the SRAM full and indirect complete read interrupt.
And disable all the read interrupts while reading from SRAM.

Signed-off-by: Niravkumar L Rabara <niravkumar.l.rabara@intel.com>
Link: https://lore.kernel.org/r/20220813042616.1372110-1-niravkumar.l.rabara@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-cadence-quadspi.c