u-boot/drivers
Rajeshwari Shinde 120af1572a spi: exynos: Minimise access to SPI FIFO level
Accessing SPI registers is slow, but access to the FIFO level register
in particular seems to be extraordinarily expensive (I measure up to
600ns). Perhaps it is required to synchronise with the SPI byte output
logic which might run at 1/8th of the 40MHz SPI speed (just a guess).

Reduce access to this register by filling up and emptying FIFOs
more completely, rather than just one word each time around the inner
loop.

Since the rxfifo value will now likely be much greater that what we read
before we fill the txfifo, we only fill the txfifo halfway. This is
because if the txfifo is empty, but the rxfifo has data in it, then writing
too much data to the txfifo may overflow the rxfifo as data arrives.

This speeds up SPI flash reading from about 1MB/s to about 2MB/s on snow.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Rajeshwari S Shinde <rajeshwari.s@samsung.com>
Reviewed-by: Jagannadha Sutradharudu Teki <jagannadh.teki@gmail.com>
2013-10-08 18:18:11 +05:30
..
bios_emulator biosemu: include <asm/io.h> header 2013-04-02 16:23:35 -04:00
block Fix some obvious typos across multiple subsystems. 2013-09-20 10:29:48 -04:00
bootcount Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
crypto Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
dfu dfu: ram support 2013-09-24 17:51:35 +02:00
dma dma: apbh: Add special circular mode for LCD 2013-08-09 21:48:34 +02:00
fpga fpga: zynqpl: Clear loopback mode during device init 2013-08-12 08:52:01 +02:00
gpio Merge branch 'u-boot-atmel/master' into 'u-boot-arm/master' 2013-09-04 11:50:25 +02:00
hwmon Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
i2c drivers: s3c44b0_i2c: delete an unused driver 2013-09-19 09:51:52 +02:00
input Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
misc Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
mmc Merge branch 'master' of git://git.denx.de/u-boot-arm 2013-10-02 11:45:22 -04:00
mtd sf: ramtron: Remove page_size print 2013-10-07 19:35:09 +05:30
net Merge branch 'master' of git://git.denx.de/u-boot-arm 2013-10-02 11:45:22 -04:00
pci powerpc/pcie: add PCIe version 3.x support 2013-08-09 12:41:41 -07:00
pcmcia Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
power drivers/power/pmic: Add tps65910 driver 2013-09-20 11:01:26 -04:00
qe Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
rtc drivers: s3c44b0_rtc: delete an unused driver 2013-09-19 09:52:08 +02:00
serial drivers: serial_s3c44b0: delete an unused driver 2013-09-19 09:52:04 +02:00
sound Sound: MAX98095: Support I2S0 channel 2013-09-24 09:10:33 -04:00
spi spi: exynos: Minimise access to SPI FIFO level 2013-10-08 18:18:11 +05:30
tpm Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
twserial Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
usb usb: ehci: Fix test mode for connected ports 2013-09-27 16:20:52 +02:00
video Merge branch 'u-boot-ti/master' into 'u-boot-arm/master' 2013-09-04 14:06:56 +02:00
watchdog arm, am335x: add watchdog support 2013-08-28 11:44:59 -04:00