diff options
author | Gabor Juhos <juhosg@openwrt.org> | 2012-03-27 19:38:17 +0000 |
---|---|---|
committer | Gabor Juhos <juhosg@openwrt.org> | 2012-03-27 19:38:17 +0000 |
commit | b77217d9638e50c95e322a1b188e2e9df7782853 (patch) | |
tree | 8274ccf3844a3b37d673db566c8a6576216c5796 /target/linux/ar71xx/patches-3.3/460-spi-bitbang-export-spi_bitbang_bufs.patch | |
parent | 102c6df148ee4b5df368c32e282e31f37f26363f (diff) | |
download | upstream-b77217d9638e50c95e322a1b188e2e9df7782853.tar.gz upstream-b77217d9638e50c95e322a1b188e2e9df7782853.tar.bz2 upstream-b77217d9638e50c95e322a1b188e2e9df7782853.zip |
ar71xx: boost SPI flash read performance
mtd_speedtest results:
page read speed
old new delta
DB120 929 KiB/s 2597 KiB/s +179.55%
TL-WR1043ND v1 754 KiB/s 2166 KiB/s +187.27%
TL-WR703N v1 745 KiB/s 2176 KiB/s +192.08%
TL-MR3220 v1 752 KiB/s 2154 KiB/s +186.44%
TL-WR2543ND v1 564 KiB/s 2130 KiB/s +277.66%
TL-WR741ND v2 525 KiB/s 1767 KiB/s +236.57%
ALFA-AP96 702 KiB/s 1977 KiB/s +181.62%
WNDR3700 697 KiB/s 1965 KiB/s +181.92%
SVN-Revision: 31118
Diffstat (limited to 'target/linux/ar71xx/patches-3.3/460-spi-bitbang-export-spi_bitbang_bufs.patch')
-rw-r--r-- | target/linux/ar71xx/patches-3.3/460-spi-bitbang-export-spi_bitbang_bufs.patch | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/target/linux/ar71xx/patches-3.3/460-spi-bitbang-export-spi_bitbang_bufs.patch b/target/linux/ar71xx/patches-3.3/460-spi-bitbang-export-spi_bitbang_bufs.patch new file mode 100644 index 0000000000..919b85cb77 --- /dev/null +++ b/target/linux/ar71xx/patches-3.3/460-spi-bitbang-export-spi_bitbang_bufs.patch @@ -0,0 +1,28 @@ +--- a/drivers/spi/spi-bitbang.c ++++ b/drivers/spi/spi-bitbang.c +@@ -234,13 +234,14 @@ void spi_bitbang_cleanup(struct spi_devi + } + EXPORT_SYMBOL_GPL(spi_bitbang_cleanup); + +-static int spi_bitbang_bufs(struct spi_device *spi, struct spi_transfer *t) ++int spi_bitbang_bufs(struct spi_device *spi, struct spi_transfer *t) + { + struct spi_bitbang_cs *cs = spi->controller_state; + unsigned nsecs = cs->nsecs; + + return cs->txrx_bufs(spi, cs->txrx_word, nsecs, t); + } ++EXPORT_SYMBOL_GPL(spi_bitbang_bufs); + + /*----------------------------------------------------------------------*/ + +--- a/include/linux/spi/spi_bitbang.h ++++ b/include/linux/spi/spi_bitbang.h +@@ -44,6 +44,7 @@ extern void spi_bitbang_cleanup(struct s + extern int spi_bitbang_transfer(struct spi_device *spi, struct spi_message *m); + extern int spi_bitbang_setup_transfer(struct spi_device *spi, + struct spi_transfer *t); ++extern int spi_bitbang_bufs(struct spi_device *spi, struct spi_transfer *t); + + /* start or stop queue processing */ + extern int spi_bitbang_start(struct spi_bitbang *spi); |