spi: spi-cadence: Interleave write of TX and read of RX FIFO
authorCharles Keepax <ckeepax@opensource.cirrus.com>
Thu, 18 May 2023 09:39:26 +0000 (10:39 +0100)
committerMark Brown <broonie@kernel.org>
Mon, 22 May 2023 10:41:05 +0000 (11:41 +0100)
commit6afe2ae8dc48e643cb9f52e86494b96942440bc6
tree0eb806598d3536d641999416c943dbab52d564ce
parent445164e8c136f1445caf735d6d268c948e71caf1
spi: spi-cadence: Interleave write of TX and read of RX FIFO

When working in slave mode it seems the timing is exceedingly tight.
The TX FIFO can never empty, because the master is driving the clock so
zeros would be sent for those bytes where the FIFO is empty.

Return to interleaving the writing of the TX FIFO and the reading
of the RX FIFO to try to ensure the data is available when required.

Fixes: a84c11e16dc2 ("spi: spi-cadence: Avoid read of RX FIFO before its ready")
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20230518093927.711358-1-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-cadence.c