u-boot/drivers/spi
Nick Thompson 77436d6696 Davinci: SPI performance enhancements
The following restructuring and optimisations increase the SPI
read performance from 1.3MiB/s (on da850) to 2.87MiB/s (on da830):

Remove continual revaluation of driver state from the core of the
copy loop. State can not change during the copy loop, so it is
possible to move these evaluations to before the copy loop.

Cost is more code space as loop variants are required for each set
of possible configurations. The loops are simpler however, so the
extra is only 128bytes on da830 with CONFIG_SPI_HALF_DUPLEX
defined.

Unrolling the first copy loop iteration allows the TX buffer to be
pre-loaded reducing SPI clock starvation.

Unrolling the last copy loop iteration removes testing for the
final loop iteration every time round the loop.

Using the RX buffer empty flag as a transfer throttle allows the
assumption that it is always safe to write to the TX buffer, so
polling of TX buffer full flag can be removed.

Signed-off-by: Nick Thompson <nick.thompson@ge.com>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2010-06-22 11:06:01 -04:00
..
Makefile spi: add altera spi controller support 2010-05-28 10:56:03 -04:00
altera_spi.c spi: add altera spi controller support 2010-05-28 10:56:03 -04:00
atmel_dataflash_spi.c convert common files to new SoC access 2010-02-12 12:31:55 -06:00
atmel_spi.c atmel_spi: Driver for the Atmel SPI controller 2008-06-03 20:30:05 +02:00
atmel_spi.h atmel_spi: Driver for the Atmel SPI controller 2008-06-03 20:30:05 +02:00
bfin_spi.c Blackfin: bfin_spi: round up clock divider 2010-01-17 09:17:27 -05:00
cf_spi.c Coldfire: Consolidate DSPI driver 2009-07-14 09:46:09 -05:00
davinci_spi.c Davinci: SPI performance enhancements 2010-06-22 11:06:01 -04:00
davinci_spi.h TI DaVinci: Driver for the davinci SPI controller 2010-02-12 12:31:53 -06:00
kirkwood_spi.c spi: Add Marvell Kirkwood SPI driver 2009-06-26 00:59:09 +02:00
mpc8xxx_spi.c Move arch/ppc to arch/powerpc 2010-04-21 23:42:38 +02:00
mpc52xx_spi.c mpc52xx: Add SPI driver. 2009-06-14 23:01:38 +02:00
mxc_spi.c SPI: added support for MX51 to mxc_spi 2010-05-05 09:48:41 +02:00
soft_spi.c rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00