linux/include/asm-arm
Ned Forrester b97c74bddc spi: pxa2xx_spi clock polarity fix
Fixes a sequencing bug in spi driver pxa2xx_spi.c in which the chip select
for a transfer may be asserted before the clock polarity is set on the
interface.  As a result of this bug, the clock signal may have the wrong
polarity at transfer start, so it may need to make an extra half transition
before the intended clock/data signals begin.  (This probably means all
transfers are one bit out of sequence.)

This only occurs on the first transfer following a change in clock polarity
in systems using more than one more than one such polarity.  The fix
assures that the clock mode is properly set before asserting chip select.

This bug was introduced in a patch merged on 2006/12/10, kernel 2.6.20.
The patch defines an additional bit in: include/asm-arm/arch-pxa/regs-ssp.h
for 2.6.25 and newer kernels but this addition must be made in:
include/asm-arm/arch-pxa/pxa-regs.h for kernels between 2.6.20 and 2.6.24,
inclusive

Signed-off-by: Ned Forrester <nforrester@whoi.edu>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-23 17:12:14 -08:00
..
arch-aaec2000 Convert files to UTF-8 and some cleanups 2007-10-19 23:21:04 +02:00
arch-at91 [ARM] 4802/1: Fix typo and remove vague comment 2008-02-04 13:16:39 +00:00
arch-cl7500 [ARM] Use new get_irqnr_preamble 2007-05-12 15:25:50 +01:00
arch-clps711x [ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user 2007-02-17 15:04:29 +00:00
arch-davinci [ARM] 4634/1: DaVinci GPIO header build fix 2007-10-31 15:21:52 +00:00
arch-ebsa110 [ARM] Use new get_irqnr_preamble 2007-05-12 15:25:50 +01:00
arch-ebsa285 [ARM] Use new get_irqnr_preamble 2007-05-12 15:25:50 +01:00
arch-ep93xx [ARM] 4671/1: ep93xx: remove obsolete gpio_line_* operations 2008-01-26 14:37:31 +00:00
arch-h720x [ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user 2007-02-17 15:04:29 +00:00
arch-imx imxfb: fast read flag and nonstandard field configurable 2007-10-16 09:43:21 -07:00
arch-integrator [ARM] Remove Integrator/CP SMP platform support 2007-05-16 15:35:26 +01:00
arch-iop13xx async_tx: replace 'int_en' with operation preparation flags 2008-02-06 10:12:18 -07:00
arch-iop32x [ARM] 4476/1: EM7210/SS4000E support 2007-07-20 09:35:35 +01:00
arch-iop33x iop3xx: surface the iop3xx DMA and AAU units to the iop-adma driver 2007-07-13 08:06:19 -07:00
arch-ixp4xx Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2008-02-04 15:29:53 -08:00
arch-ixp23xx [ARM] 4680/1: parentheses around NR_IRQS definition 2007-11-29 20:56:57 +00:00
arch-ixp2000 [ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user 2007-02-17 15:04:29 +00:00
arch-ks8695 [ARM] 4603/1: KS8695: debugfs interface to view pin state 2008-01-26 14:38:48 +00:00
arch-l7200 [ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user 2007-02-17 15:04:29 +00:00
arch-lh7a40x [ARM] 4248/1: lh7a40x: fix missing definitions for get_irqnr_preamble 2007-03-08 13:33:57 +00:00
arch-msm [ARM] msm: dma support for MSM7X00A 2008-01-26 14:39:14 +00:00
arch-mxc [ARM] 4530/1: MXC: fix elf_hwcap compile breakage as in iop13xx 2007-07-28 20:52:55 +01:00
arch-netx [ARM] 4329/1: fix position of NETX_SYSTEM_REG 2007-05-03 20:22:49 +01:00
arch-ns9xxx [ARM] 4595/1: ns9xxx: define registers as void __iomem * instead of volatile u32 2007-10-12 23:43:41 +01:00
arch-omap ARM: OMAP1: Use MMC multislot structures for Siemens SX1 board 2008-02-08 10:38:01 -08:00
arch-orion [ARM] Orion: free up kernel virtual address space 2008-02-08 11:52:23 -05:00
arch-pnx4008 [ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user 2007-02-17 15:04:29 +00:00
arch-pxa spi: pxa2xx_spi clock polarity fix 2008-02-23 17:12:14 -08:00
arch-realview [ARM] 4822/1: RealView: Change the REALVIEW_MPCORE configuration option 2008-02-04 17:52:28 +00:00
arch-rpc [ARM] 4564/1: Add tagged list support for Acorn RiscPC's uncompress code 2007-10-12 23:43:11 +01:00
arch-s3c2400 [ARM] 4522/1: S3C: split include/asm-arm/arch/memory.h 2007-07-22 17:06:04 +01:00
arch-s3c2410 FB/S3C2412: add S3C2412 support to S3C2410 fb driver 2008-02-06 10:41:17 -08:00
arch-sa1100 [ARM] unbalanced parenthesis fix 2007-10-12 23:43:21 +01:00
arch-shark [ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user 2007-02-17 15:04:29 +00:00
arch-versatile fix typo 'the same the\>' 2008-02-03 14:59:11 +02:00
hardware async_tx: replace 'int_en' with operation preparation flags 2008-02-06 10:12:18 -07:00
mach [ARM] 4835/1: Fix stale comment in struct machine_desc description 2008-02-21 21:13:35 +00:00
plat-s3c [ARM] 4632/1: Fix a typo in include/asm-arm/plat-s3c/regs-nand.h 2007-10-31 15:21:33 +00:00
plat-s3c24xx [ARM] 4786/1: S3C2412: Add SPI FIFO controll constants 2008-01-28 13:20:51 +00:00
.gitignore [ARM] 4216/1: add .gitignore entries for ARM specific files 2007-02-17 11:26:41 +00:00
a.out-core.h aout: suppress A.OUT library support if !CONFIG_ARCH_SUPPORTS_AOUT 2008-02-08 09:22:30 -08:00
a.out.h aout: move STACK_TOP[_MAX] to asm/processor.h 2008-02-08 09:22:29 -08:00
assembler.h [ARM] Remove MODE_(SVC|IRQ|FIQ|USR) and DEFAULT_FIQ 2006-06-25 12:01:48 +01:00
atomic.h atomic.h: atomic_add_unless as inline. Remove system.h atomic.h circular dependency 2007-05-08 11:15:20 -07:00
auxvec.h
bitops.h ext4: Add ext4_find_next_bit() 2008-01-28 23:58:27 -05:00
bug.h [ARM] 3983/2: remove unused argument to __bug() 2006-12-07 22:38:09 +00:00
bugs.h [ARM] nommu: adjust headers for !MMU ARM systems 2006-06-28 17:59:45 +01:00
byteorder.h [ARM] Fix byte order macros for Thumb 2006-06-19 15:35:36 +01:00
cache.h [PATCH] Kill L1_CACHE_SHIFT_MAX 2006-01-08 20:13:39 -08:00
cacheflush.h [ARM] Marvell Feroceon CPU core support 2008-01-26 15:03:38 +00:00
checksum.h [ARM] Improve csum_fold, cleanup csum_tcpudp_magic() 2007-02-06 16:46:46 +00:00
cnt32_to_63.h [ARM] 3978/1: macro to provide a 63-bit value from a 32-bit hardware counter 2006-12-07 16:06:45 +00:00
cpu-multi32.h [ARM] Unuse another Linux PTE bit 2006-12-13 14:34:43 +00:00
cpu-single.h [ARM] Unuse another Linux PTE bit 2006-12-13 14:34:43 +00:00
cpu.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
cputime.h
current.h
delay.h [ARM] 3346/1: Fix udelay() for HZ values different from 100 2006-03-21 22:06:07 +00:00
device.h [ARM] Add a reference from struct device to the dma bounce info 2007-02-12 10:28:24 +00:00
div64.h [NET]: div64_64 consolidate (rev3) 2007-04-25 22:23:33 -07:00
dma-mapping.h arm: sg fallout 2007-10-23 12:37:59 +02:00
dma.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
domain.h [ARM] 4127/1: Flush the prefetch buffer after changing the DACR 2007-02-08 14:49:18 +00:00
dyntick.h [ARM] 3692/1: ARM: coswitch irq handling to the generic implementation 2006-07-01 22:30:09 +01:00
ecard.h [ARM] ecard: add ecardm_iomap() / ecardm_iounmap() 2007-05-11 17:19:02 +01:00
elf.h Cleanup asm/{elf,page,user}.h: #ifdef __KERNEL__ is no longer needed 2008-02-07 08:42:30 -08:00
emergency-restart.h
errno.h
fb.h fbdev: detect primary display device 2007-07-17 10:23:11 -07:00
fcntl.h
fiq.h
flat.h [ARM] nommu: fix breakage caused by f9720205d1 2007-10-31 15:21:42 +00:00
floppy.h cleanup floppy.h 2007-10-17 08:42:55 -07:00
fpstate.h [ARM] 4583/1: ARMv7: Add VFPv3 support 2008-01-26 14:41:28 +00:00
futex.h [PATCH] consolidate asm/futex.h 2006-01-08 20:13:39 -08:00
glue.h [ARM] armv7: add support for ARMv7 cores. 2007-05-08 22:55:53 +01:00
gpio.h [PATCH] GPIO core 2007-02-12 09:48:34 -08:00
hardirq.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
hardware.h
hw_irq.h [PATCH] misc arm pt_regs fixes 2006-10-08 12:32:36 -07:00
hwcap.h [ARM] 4473/2: Take the HWCAP definitions out of the elf.h file 2007-07-12 16:20:15 +01:00
ide.h ide: add CONFIG_IDE_ARCH_OBSOLETE_INIT 2007-10-20 00:32:32 +02:00
io.h endianness annotations in arm io.h 2007-10-14 12:41:52 -07:00
ioctl.h [PATCH] Generic ioctl.h 2006-01-10 08:01:34 -08:00
ioctls.h [ARM] enable arbitary speed tty ioctls and split input/output speed 2007-05-28 23:07:34 +01:00
ipcbuf.h
irq_regs.h Initial blind fixup for arm for irq changes 2006-10-06 10:59:54 -07:00
irq.h [ARM] 4073/1: Prevent s3c24xx drivers from including asm/arch/hardware.h and asm/arch/irqs.h 2006-12-30 17:05:07 +00:00
irqflags.h [ARM] Add ARM irqtrace support 2006-09-20 14:58:35 +01:00
Kbuild [ARM] 4473/2: Take the HWCAP definitions out of the elf.h file 2007-07-12 16:20:15 +01:00
kdebug.h move die notifier handling to common code 2007-05-08 11:15:04 -07:00
kexec.h [ARM] 4736/1: Export atags to userspace and allow kexec to use customised atags 2008-02-04 13:21:03 +00:00
kmap_types.h
kprobes.h ARM kprobes: special hook for the kprobes breakpoint handler 2008-01-26 15:25:17 +00:00
leds.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
limits.h
linkage.h [ARM] VFP: fix section mismatch error 2007-06-10 12:22:20 +01:00
local.h
locks.h [ARM] 3019/1: fix wrong comments 2005-10-18 07:51:34 +01:00
mc146818rtc.h
memory.h [ARM] Clean up discontigmem support 2006-11-30 22:52:28 +00:00
mman.h [PATCH] add asm-generic/mman.h 2006-02-15 15:32:22 -08:00
mmu_context.h [ARM] ARMv6: add CPU_HAS_ASID configuration 2007-05-17 10:19:23 +01:00
mmu.h [ARM] ARMv6: add CPU_HAS_ASID configuration 2007-05-17 10:19:23 +01:00
mmzone.h
module.h
msgbuf.h
mtd-xip.h
mutex.h misc: removal of final callers using fastcall 2008-02-08 09:22:31 -08:00
namei.h
nwflash.h
page-nommu.h [ARM] nommu: adjust headers for !MMU ARM systems 2006-06-28 17:59:45 +01:00
page.h CONFIG_HIGHPTE vs. sub-page page tables. 2008-02-08 09:22:42 -08:00
param.h [ARM] Move HZ definition into Kconfig 2006-03-21 22:05:45 +00:00
parport.h
pci.h [ARM] 4577/1: ITE 8152 PCI bridge support 2007-10-15 18:53:59 +01:00
percpu.h
pgalloc.h CONFIG_HIGHPTE vs. sub-page page tables. 2008-02-08 09:22:42 -08:00
pgtable-hwdef.h [ARM] Set bit 4 on section mappings correctly depending on CPU 2006-06-29 18:24:21 +01:00
pgtable-nommu.h [ARM] 4531/1: remove is_in_rom() protptype 2007-08-04 22:13:43 +01:00
pgtable.h [ARM] 4644/2: fix flush_kern_tlb_range() in module space 2007-11-08 10:07:14 +00:00
poll.h Consolidate asm/poll.h 2007-05-11 08:29:34 -07:00
posix_types.h asm-*/posix_types.h: scrub __GLIBC__ 2008-02-08 09:22:34 -08:00
proc-fns.h [ARM] Marvell Feroceon CPU core support 2008-01-26 15:03:38 +00:00
processor.h aout: move STACK_TOP[_MAX] to asm/processor.h 2008-02-08 09:22:29 -08:00
procinfo.h [ARM] Move HWCAP_* definitions to asm/elf.h 2006-11-30 12:24:46 +00:00
ptrace.h [ARM] 4474/1: Do not check the PSR_F_BIT in valid_user_regs 2007-07-12 16:20:52 +01:00
resource.h
rtc.h [PATCH] RTC subsystem: ARM cleanup 2006-03-27 08:44:50 -08:00
scatterlist.h Add CONFIG_DEBUG_SG sg validation 2007-10-22 21:20:03 +02:00
sections.h
segment.h
semaphore-helper.h
semaphore.h kill DECLARE_MUTEX_LOCKED 2007-10-17 08:42:47 -07:00
sembuf.h
serial.h
setup.h [ARM] use __used attribute 2007-05-30 13:15:06 +01:00
shmbuf.h
shmparam.h
sigcontext.h
siginfo.h
signal.h [PATCH] ARM: fixup irqflags breakage after ARM genirq merge 2006-07-02 17:29:22 -07:00
sizes.h [ARM] 4372/1: Define byte sizes in asm-arm/sizes.h 2007-05-11 21:07:58 +01:00
smp.h [ARM] 4814/1: RealView: Add broadcasting clockevents support for ARM11MPCore 2008-02-04 17:52:19 +00:00
socket.h [NET]: Introducing socket mark socket option. 2008-01-31 19:27:19 -08:00
sockios.h [NET]: Introduce SIOCGSTAMPNS ioctl to get timestamps with nanosec resolution 2007-04-25 22:24:04 -07:00
spinlock_types.h [PATCH] spinlock consolidation 2005-09-10 10:06:21 -07:00
spinlock.h [PATCH] Remove the last reference to rwlock_is_locked() macro. 2007-02-11 10:51:34 -08:00
stat.h [ARM] 3106/2: ARM EABI: some syscall adjustments 2006-01-14 16:32:12 +00:00
statfs.h [ARM] 3108/2: old ABI compat: statfs64 and fstatfs64 2006-01-14 16:35:03 +00:00
string.h
suspend.h
system.h Add cmpxchg_local to arm 2008-02-07 08:42:31 -08:00
termbits.h [ARM] enable arbitary speed tty ioctls and split input/output speed 2007-05-28 23:07:34 +01:00
termios.h [ARM] enable arbitary speed tty ioctls and split input/output speed 2007-05-28 23:07:34 +01:00
therm.h
thread_info.h remove unused TIF_NOTIFY_RESUME flag 2007-07-31 15:39:38 -07:00
thread_notify.h [ARM] Add thread_notify infrastructure 2006-06-22 10:24:18 +01:00
timex.h
tlb.h add mm argument to pte/pmd/pud/pgd_free 2008-02-05 09:44:18 -08:00
tlbflush.h remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
topology.h
traps.h ARM kprobes: prevent some functions involved with kprobes from being probed 2008-01-26 15:25:17 +00:00
types.h remove strict ansi check from __u64 in asm/types.h 2007-10-17 08:42:53 -07:00
uaccess.h Storage class should be before const qualifier 2007-02-17 20:11:19 +01:00
ucontext.h [ARM] 3664/1: crunch: add signal frame save/restore 2006-06-28 17:54:59 +01:00
unaligned.h arm unaligned.h annotations 2007-07-26 11:11:57 -07:00
unistd.h [ARM] Add fallocate syscall entry 2007-10-12 23:43:31 +01:00
user.h Sanitize the type of struct user.u_ar0 2008-02-07 08:42:30 -08:00
vfp.h [ARM] 4583/1: ARMv7: Add VFPv3 support 2008-01-26 14:41:28 +00:00
vfpmacros.h [ARM] 4583/1: ARMv7: Add VFPv3 support 2008-01-26 14:41:28 +00:00
vga.h [PATCH] vgacon: make VGA_MAP_MEM take size, remove extra use 2006-06-22 15:05:58 -07:00
xor.h