lantiq: spi: double time out tolerance
authorHauke Mehrtens <hauke@hauke-m.de>
Sun, 21 May 2017 19:20:44 +0000 (21:20 +0200)
committerJo-Philipp Wich <jo@mein.io>
Wed, 13 Dec 2017 14:35:07 +0000 (15:35 +0100)
commite5612d6640fd44a92c6bd7eab550c4e7759054b1
tree7ad14a2432bb5f7da17db078ed895a47382f5127
parent28c350f2f0c33a8b0c54c1eab858d1084593f615
lantiq: spi: double time out tolerance

The generic SPI code calculates how long the issued transfer would take
and adds 100ms in addition to the timeout as tolerance. On my 500 MHz
Lantiq Mips SoC I am getting timeouts from the SPI like this when the
system boots up:

m25p80 spi32766.4: SPI transfer timed out
blk_update_request: I/O error, dev mtdblock3, sector 2
SQUASHFS error: squashfs_read_data failed to read block 0x6e

After increasing the tolerance for the timeout to 200ms I haven't seen
these SPI transfer time outs any more.
The Lantiq SPI driver in use here has an extra work queue in between,
which gets triggered when the controller send the last word and the
hardware FIFOs used for reading and writing are only 8 words long.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 6153248052b2e067df9596c2d619345261b1d3f7)
target/linux/lantiq/patches-4.9/0093-spi-double-time-out-tolerance.patch [new file with mode: 0644]