All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/18] spi/xilinx: Speed-up
@ 2015-01-23 16:08 ` Ricardo Ribalda Delgado
  0 siblings, 0 replies; 89+ messages in thread
From: Ricardo Ribalda Delgado @ 2015-01-23 16:08 UTC (permalink / raw)
  To: Mark Brown, Michal Simek, Sören Brinkmann, linux-spi,
	linux-arm-kernel, linux-kernel
  Cc: Ricardo Ribalda Delgado

This set of patches has been developed after using the core to access a spi
nor flash. The initial performance was not as desired. The following changes
have been done.

-This series of patches add driver support for hardware implemented modes:
LSB_FIRS, LOOP and CS_HIGH.

-There is support for irq less operations.

-The buffer size of the core is detected at probe time, speeding up the
operations.

-Code has been simplify and cleaned

This are the results, before and after the patchet

Original
root@qt5022:~# dd if=/dev/mtd0 of=/dev/null
16384+0 records in
16384+0 records out
8388608 bytes (8.4 MB) copied, 117.985 s, 71.1 kB/s

 37:        107      82853  Xilinx INTC Level   1  b0010000.spi-flash

After patchset (irq):
root@qt5022:~# dd if=/dev/mtd0 of=/dev/null
16384+0 records in
16384+0 records out
8388608 bytes (8.4 MB) copied, 49.009 s, 171 kB/s

After patchset (irq):
root@qt5022:~# dd if=/dev/mtd0 of=/dev/null
16384+0 records in
16384+0 records out
8388608 bytes (8.4 MB) copied, 41.2526 s, 203 kB/s

IRQS: ZERO

This set of patches supersedes the previous patchet with only LSB_FIRST and LOOP

Ricardo Ribalda Delgado (18):
  spi/xilinx: Support for spi mode LSB_FIRST
  spi/xilinx: Support for spi mode LOOP
  spi/xilinx: Simplify data read from the Rx FIFO
  spi-xilinx: Simplify spi_fill_tx_fifo
  spi/xilinx: Leave the IRQ always enabled.
  spi/xilinx: Code cleanup
  spi/xilinx: Use cached value of register
  spi/xilinx: Support cores with no interrupt
  spi/xilinx: Do not inhibit transmission in polling mode
  spi/xilinx: Support for spi mode CS_HIGH
  spi/xilinx: Remove rx_fn and tx_fn pointer
  spi/xilinx: Make spi_tx and spi_rx simmetric
  spi/xilinx: Convert remainding_bytes in remaining words
  spi/xilinx: Convert bits_per_word in bytes_per_word
  spi/xilinx: Remove iowrite/ioread wrappers
  spi/xilinx: Reset core before buffer_size detection
  spi/xilinx: Remove remaining_words driver data variable
  spi/xilinx: Check number of slaves range

 drivers/spi/spi-xilinx.c | 306 ++++++++++++++++++++++-------------------------
 1 file changed, 146 insertions(+), 160 deletions(-)

-- 
2.1.4


^ permalink raw reply	[flat|nested] 89+ messages in thread

end of thread, other threads:[~2015-01-27 19:56 UTC | newest]

Thread overview: 89+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-01-23 16:08 [PATCH 00/18] spi/xilinx: Speed-up Ricardo Ribalda Delgado
2015-01-23 16:08 ` Ricardo Ribalda Delgado
2015-01-23 16:08 ` [PATCH 01/18] spi/xilinx: Support for spi mode LSB_FIRST Ricardo Ribalda Delgado
2015-01-23 16:08   ` Ricardo Ribalda Delgado
2015-01-26 19:23   ` Mark Brown
2015-01-26 19:23     ` Mark Brown
2015-01-26 19:23     ` Mark Brown
2015-01-23 16:08 ` [PATCH 02/18] spi/xilinx: Support for spi mode LOOP Ricardo Ribalda Delgado
2015-01-23 16:08   ` Ricardo Ribalda Delgado
2015-01-26 19:23   ` Mark Brown
2015-01-26 19:23     ` Mark Brown
2015-01-26 19:23     ` Mark Brown
2015-01-23 16:08 ` [PATCH 03/18] spi/xilinx: Simplify data read from the Rx FIFO Ricardo Ribalda Delgado
2015-01-23 16:08   ` Ricardo Ribalda Delgado
2015-01-23 16:08   ` Ricardo Ribalda Delgado
2015-01-27 17:25   ` Mark Brown
2015-01-27 17:25     ` Mark Brown
2015-01-27 17:25     ` Mark Brown
2015-01-23 16:08 ` [PATCH 04/18] spi-xilinx: Simplify spi_fill_tx_fifo Ricardo Ribalda Delgado
2015-01-23 16:08   ` Ricardo Ribalda Delgado
2015-01-26 23:54   ` Mark Brown
2015-01-26 23:54     ` Mark Brown
2015-01-23 16:08 ` [PATCH 05/18] spi/xilinx: Leave the IRQ always enabled Ricardo Ribalda Delgado
2015-01-23 16:08   ` Ricardo Ribalda Delgado
2015-01-23 16:08 ` [PATCH 06/18] spi/xilinx: Code cleanup Ricardo Ribalda Delgado
2015-01-23 16:08   ` Ricardo Ribalda Delgado
2015-01-27  0:05   ` Mark Brown
2015-01-27  0:05     ` Mark Brown
2015-01-27  0:05     ` Mark Brown
2015-01-23 16:08 ` [PATCH 07/18] spi/xilinx: Use cached value of register Ricardo Ribalda Delgado
2015-01-23 16:08   ` Ricardo Ribalda Delgado
2015-01-23 16:08 ` [PATCH 08/18] spi/xilinx: Support cores with no interrupt Ricardo Ribalda Delgado
2015-01-23 16:08   ` Ricardo Ribalda Delgado
2015-01-23 16:08   ` Ricardo Ribalda Delgado
2015-01-27  0:04   ` Mark Brown
2015-01-27  0:04     ` Mark Brown
2015-01-27  0:04     ` Mark Brown
2015-01-27 19:05     ` Ricardo Ribalda Delgado
2015-01-27 19:05       ` Ricardo Ribalda Delgado
2015-01-27 19:49       ` Mark Brown
2015-01-27 19:49         ` Mark Brown
2015-01-27 19:49         ` Mark Brown
2015-01-27 19:56         ` Ricardo Ribalda Delgado
2015-01-27 19:56           ` Ricardo Ribalda Delgado
2015-01-23 16:08 ` [PATCH 09/18] spi/xilinx: Do not inhibit transmission in polling mode Ricardo Ribalda Delgado
2015-01-23 16:08   ` Ricardo Ribalda Delgado
2015-01-23 16:08 ` [PATCH 10/18] spi/xilinx: Support for spi mode CS_HIGH Ricardo Ribalda Delgado
2015-01-23 16:08   ` Ricardo Ribalda Delgado
2015-01-23 16:08 ` [PATCH 11/18] spi/xilinx: Remove rx_fn and tx_fn pointer Ricardo Ribalda Delgado
2015-01-23 16:08   ` Ricardo Ribalda Delgado
2015-01-23 16:08   ` Ricardo Ribalda Delgado
2015-01-27  0:09   ` Mark Brown
2015-01-27  0:09     ` Mark Brown
2015-01-27  0:09     ` Mark Brown
2015-01-27 10:00     ` Ricardo Ribalda Delgado
2015-01-27 10:00       ` Ricardo Ribalda Delgado
2015-01-27 10:00       ` Ricardo Ribalda Delgado
2015-01-27 15:42       ` Joe Perches
2015-01-27 15:42         ` Joe Perches
2015-01-27 15:42         ` Joe Perches
2015-01-27 19:07         ` Ricardo Ribalda Delgado
2015-01-27 19:07           ` Ricardo Ribalda Delgado
2015-01-27 19:07           ` Ricardo Ribalda Delgado
2015-01-23 16:08 ` [PATCH 12/18] spi/xilinx: Make spi_tx and spi_rx simmetric Ricardo Ribalda Delgado
2015-01-23 16:08   ` Ricardo Ribalda Delgado
2015-01-23 16:08 ` [PATCH 13/18] spi/xilinx: Convert remainding_bytes in remaining words Ricardo Ribalda Delgado
2015-01-23 16:08   ` Ricardo Ribalda Delgado
2015-01-23 16:08 ` [PATCH 14/18] spi/xilinx: Convert bits_per_word in bytes_per_word Ricardo Ribalda Delgado
2015-01-23 16:08   ` Ricardo Ribalda Delgado
2015-01-23 16:08   ` Ricardo Ribalda Delgado
2015-01-23 16:08 ` [PATCH 15/18] spi/xilinx: Remove iowrite/ioread wrappers Ricardo Ribalda Delgado
2015-01-23 16:08   ` Ricardo Ribalda Delgado
2015-01-23 16:08 ` [PATCH 16/18] spi/xilinx: Reset core before buffer_size detection Ricardo Ribalda Delgado
2015-01-23 16:08   ` Ricardo Ribalda Delgado
2015-01-27  0:11   ` Mark Brown
2015-01-27  0:11     ` Mark Brown
2015-01-27  0:11     ` Mark Brown
2015-01-23 16:08 ` [PATCH 17/18] spi/xilinx: Remove remaining_words driver data variable Ricardo Ribalda Delgado
2015-01-23 16:08   ` Ricardo Ribalda Delgado
2015-01-23 16:08 ` [PATCH 18/18] spi/xilinx: Check number of slaves range Ricardo Ribalda Delgado
2015-01-23 16:08   ` Ricardo Ribalda Delgado
2015-01-27  0:14 ` [PATCH 00/18] spi/xilinx: Speed-up Mark Brown
2015-01-27  0:14   ` Mark Brown
2015-01-27  0:14   ` Mark Brown
2015-01-27 10:17   ` Ricardo Ribalda Delgado
2015-01-27 10:17     ` Ricardo Ribalda Delgado
2015-01-27 11:59     ` Mark Brown
2015-01-27 11:59       ` Mark Brown
2015-01-27 11:59       ` Mark Brown

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.