linux/include/asm-arm/arch-pxa
Stephen Street 8d94cc50aa [PATCH] spi: stabilize PIO mode transfers on PXA2xx systems
Stabilize PIO mode transfers against a range of word sizes and FIFO
thresholds and fixes word size setup/override issues.

1) 16 and 32 bit DMA/PIO transfers broken due to timing differences.
2) Potential for bad transfer counts due to transfer size assumptions.
3) Setup function broken is multiple ways.
4) Per transfer bit_per_word changes break DMA setup in pump_tranfers.
5) False positive timeout are not errors.
6) Changes in pxa2xx_spi_chip not effective in calls to setup.
7) Timeout scaling wrong for PXA255 NSSP.
8) Driver leaks memory while busy during unloading.

Known issues:

SPI_CS_HIGH and SPI_LSB_FIRST settings in struct spi_device are not handled.

Testing:

This patch has been test against the "random length, random bits/word,
random data (verified on loopback) and stepped baud rate by octaves
(3.6MHz to 115kHz)" test.  It is robust in PIO mode, using any
combination of tx and rx thresholds, and also in DMA mode (which
internally computes the thresholds).

Much thanks to Ned Forrester for exhaustive reviews, fixes and testing.
The driver is substantially better for his efforts.

Signed-off-by: Stephen Street <stephen@streetfiresound.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-12-10 09:55:40 -08:00
..
akita.h [ARM] 3149/1: SharpSL: Add Akita (SL-C1000) machine support 2005-11-12 18:53:48 +00:00
audio.h [ALSA] Fix snd_xxx_t typedefs 2006-03-22 10:23:39 +01:00
bitfield.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
corgi.h [PATCH] SharpSL: Abstract c7x0 specifics from Corgi SSP 2005-09-13 08:22:31 -07:00
debug-macro.S [ARM] Collect 8250-based debug implementations together 2006-03-21 22:05:57 +00:00
dma.h Initial blind fixup for arm for irq changes 2006-10-06 10:59:54 -07:00
entry-macro.S [ARM] Cleanup ARM includes 2006-01-03 17:39:34 +00:00
hardware.h [ARM] 3044/1: Fix sparse warnings about incompatible pointer types for register defined in pxa-regs.h 2005-10-28 15:26:42 +01:00
i2c.h [PATCH] I2C: Add PXA I2C driver 2005-06-15 12:38:14 +01:00
idp.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
io.h [ARM] 3631/1: Remove legacy __mem_isa() definitions 2006-06-24 10:34:48 +01:00
irda.h [ARM] 2897/2: PXA2xx IRDA support 2005-10-28 16:39:33 +01:00
irqs.h [ARM] 3902/1: Enable GPIO81-84 on PXA255 2006-10-24 22:02:48 +01:00
lpd270.h [ARM] 3417/1: add support for logicpd pxa270 card engine 2006-03-28 21:08:13 +01:00
lubbock.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mainstone.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
memory.h [ARM] Clean up discontigmem support 2006-11-30 22:52:28 +00:00
mmc.h IRQ: Use the new typedef for interrupt handler function pointers 2006-10-09 12:19:47 +01:00
mtd-xip.h [MTD] XIP cleanup 2005-07-07 16:50:16 +02:00
ohci.h [ARM] 3547/1: PXA-OHCI: Allow platforms to specify a power budget 2006-06-08 22:44:07 +01:00
pm.h [ARM] 3113/1: PXA: Allow machines to override (and also reuse) pxa pm functions 2005-11-06 15:03:23 +00:00
poodle.h [ARM] 3594/1: Poodle: Add touchscreen support + other updates 2006-06-19 20:46:05 +01:00
pxa-regs.h [ARM] 3894/1: pxa27x: Update DCSR_EORINTR bit definition in DCSR 2006-11-30 12:24:47 +00:00
pxa2xx_spi.h [PATCH] spi: stabilize PIO mode transfers on PXA2xx systems 2006-12-10 09:55:40 -08:00
pxafb.h [ARM] 3848/1: pxafb: Add option of fixing video modes and spitz QVGA mode support 2006-10-02 13:33:37 +01:00
sharpsl.h [PATCH] backlight: corgi_bl: Generalise to support other Sharp SL hardware 2006-03-31 12:19:00 -08:00
spitz.h [ARM] 3848/1: pxafb: Add option of fixing video modes and spitz QVGA mode support 2006-10-02 13:33:37 +01:00
ssp.h [ARM] 3760/1: This patch adds timeouts while working with SSP registers. Such timeouts were en 2006-08-27 12:54:56 +01:00
system.h [ARM] 3593/1: Add reboot and shutdown handlers for Zaurus handhelds 2006-06-19 19:57:12 +01:00
timex.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
tosa.h [ARM] 3088/1: PXA: Add machine support for the Sharp SL-6000x series of PDAs 2005-11-06 14:27:52 +00:00
trizeps4.h [ARM] 3666/1: TRIZEPS4 [1/5] core 2006-06-29 16:25:37 +01:00
udc.h [ARM] 3943/1: share declaration of struct pxa2xx_udc_mach_info between multiple platforms 2006-11-29 20:23:07 +00:00
uncompress.h [ARM] Fix decompressor serial IO to give CRLF not LFCR 2006-03-28 10:24:33 +01:00
vmalloc.h [PATCH] ARM: cleanup vmalloc start/offset macros 2005-05-03 12:20:29 +01:00