linux-stable/arch/arm
San Mehat 5b00f40f90 msm: Add 'execute' datamover callback
Based on a patch from Brent DeGraaf:

"The datamover supports channels which can be shared amongst devices.
As a result, the actual data transfer may occur some time after the
request is queued up. Some devices such as mmc host controllers
will timeout if a command is issued too far in advance of the actual
transfer, so if dma to other devices on the same channel is already
in progress or queued up, the added delay can cause pending transfers
to fail before they start. This change extends the api to allow a
user callback to be invoked just before the actual transfer takes
place, thus allowing actions directly associated with the dma
transfer, such as device commands, to be invoked with precise timing.
Without this mechanism, there is no way for a driver to realize
this timing. Also adds a user pointer to the command structure for use
by the caller to reference information that may be needed by the
callback routine for proper identification and processing associated
with that specific request. This change is necessary to fix problems
associated with excessive command timeouts and race conditions in the
mmc driver."

This patch also fixes all the callers of msm_dmov_enqueue_cmd() to
ensure their callback function is NULL.

Signed-off-by: San Mehat <san@google.com>
Cc: Brent DeGraaf <bdegraaf@quicinc.com>
Cc: Brian Swetland <swetland@google.com>
Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
2010-03-18 12:58:05 -07:00
..
boot
common ARM: 5857/1: ARM: dmabounce: fix build 2009-12-22 15:32:32 +00:00
configs ARM: Kill CONFIG_CPU_32 2009-12-18 16:07:53 +00:00
include/asm ARM: Kill CONFIG_CPU_32 2009-12-18 16:07:53 +00:00
kernel ARM: dma-isa: request cascade channel after registering it 2009-12-24 18:34:08 +00:00
lib
mach-aaec2000
mach-at91
mach-bcmring
mach-clps711x
mach-davinci
mach-dove
mach-ebsa110
mach-ep93xx
mach-footbridge ARM: footbridge: trim down old ISA rtc setup 2009-12-24 13:39:18 +00:00
mach-gemini
mach-h720x
mach-integrator
mach-iop13xx
mach-iop32x
mach-iop33x
mach-ixp4xx
mach-ixp23xx
mach-ixp2000
mach-kirkwood
mach-ks8695
mach-l7200
mach-lh7a40x
mach-loki
mach-mmp
mach-msm msm: Add 'execute' datamover callback 2010-03-18 12:58:05 -07:00
mach-mv78xx0
mach-mx1
mach-mx2
mach-mx3
mach-mx25
mach-mxc91231
mach-netx
mach-nomadik
mach-ns9xxx
mach-omap1
mach-omap2 OMAP3: serial - fix bug introduced in 2009-12-16 12:44:04 -08:00
mach-orion5x
mach-pnx4008
mach-pxa
mach-realview
mach-rpc
mach-s3c24a0/include/mach
mach-s3c2400
mach-s3c2410 Merge branch 'next-spi' of git://git.secretlab.ca/git/linux-2.6 2009-12-17 15:59:05 -08:00
mach-s3c2412
mach-s3c2440
mach-s3c2442
mach-s3c2443
mach-s3c6400
mach-s3c6410
mach-s5pc100
mach-sa1100
mach-shark
mach-stmp37xx
mach-stmp378x
mach-u300
mach-ux500
mach-versatile
mach-w90x900 ARM: 5856/1: Fix bug of uart0 platfrom data for nuc900 2009-12-22 15:32:32 +00:00
mm ARM: fix PAGE_KERNEL 2009-12-24 10:16:21 +00:00
nwfpe ARM: Kill CONFIG_CPU_32 2009-12-18 16:07:53 +00:00
oprofile ARM: 5849/1: ARMv7: fix Oprofile events count 2009-12-22 15:32:31 +00:00
plat-iop
plat-mxc
plat-nomadik
plat-omap
plat-orion
plat-pxa
plat-s3c
plat-s3c24xx
plat-s3c64xx
plat-s5pc1xx
plat-samsung
plat-stmp3xxx
tools Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2009-12-17 15:53:41 -08:00
vfp ARM: Convert VFP/Crunch/XscaleCP thread_release() to exit_thread() 2009-12-18 14:53:41 +00:00
Kconfig
Kconfig-nommu
Kconfig.debug
Makefile