spi: bcm2835: fill/drain SPI-fifo as much as possible during interrupt
authorMartin Sperl <kernel@martin.sperl.org>
Mon, 23 Mar 2015 14:11:53 +0000 (15:11 +0100)
committerMark Brown <broonie@kernel.org>
Mon, 23 Mar 2015 18:48:58 +0000 (11:48 -0700)
commit4adf312976ef2b72830b83f212fef3f6a36513a6
treec3532ec523a70e1127abb8e3134d58c8e4c1979e
parent342f948a166c2a17b0e187e3fc2618dc561842f3
spi: bcm2835: fill/drain SPI-fifo as much as possible during interrupt

Implement the recommendation from the BCM2835 data-sheet
with regards to polling drivers to fill/drain the FIFO as much data as possible
also for the interrupt-driven case (which this driver is making use of).

This means that for long transfers (>64bytes) we need one interrupt
every 64 bytes instead of every 12 bytes, as the FIFO is 16 words (not bytes) wide.

Tested with mcp251x (can bus), fb_st7735 (TFT framebuffer device)
and enc28j60 (ethernet) drivers.

Signed-off-by: Martin Sperl <kernel@martin.sperl.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-bcm2835.c