linux/arch/arm/mach-davinci
Brian Niebuhr bb17ef102b davinci: edma: clear events in edma_start()
This patch fixes an issue where a DMA channel can erroneously process an
event generated by a previous transfer.  A failure case is where DMA is
being used for SPI transmit and receive channels on OMAP L138.  In this
case there is a single bit that controls all event generation from the
SPI peripheral.  Therefore it is possible that between when edma_stop()
has been called for the transmit channel on a previous transfer and
edma_start() is called for the transmit channel on a subsequent transfer,
that a transmit event has been generated.

The fix is to clear events in edma_start().  This prevents false events
from being processed when events are enabled for that channel.

Signed-off-by: Brian Niebuhr <bniebuhr@efjohnson.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2010-04-05 15:25:11 -07:00
..
include/mach davinci: da8xx/omap-l1: fix build error when CONFIG_DAVINCI_MUX is undefined 2010-04-05 15:25:11 -07:00
board-da830-evm.c davinci: da8xx/omapl1: add support for the second sysconfig module 2010-02-04 13:29:32 -08:00
board-da850-evm.c davinci: da850/omap-l138 EVM: register for suspend support 2010-02-04 13:29:57 -08:00
board-dm355-evm.c Add SDA and SCL pin numbers to i2c platform data 2010-02-04 13:30:06 -08:00
board-dm355-leopard.c DaVinci: rename setup_usb() to davinci_setup_usb() 2009-11-25 10:21:33 -08:00
board-dm365-evm.c DaVinci DM365: Adding support for SPI EEPROM 2010-03-01 10:20:24 -08:00
board-dm644x-evm.c Add SDA and SCL pin numbers to i2c platform data 2010-02-04 13:30:06 -08:00
board-dm646x-evm.c davinci: dm646x: CDCE clocks: davinci_clk converted to clk_lookup 2010-03-01 10:19:58 -08:00
board-neuros-osd2.c davinci: Initial support for Neuros OSD2 platform. 2009-11-25 10:21:39 -08:00
board-sffsdr.c davinci: remove unused variable in arch/arm/mach-davinci/board-sffsdr.c 2009-11-25 10:21:38 -08:00
cdce949.c davinci: clock: let clk->set_rate function sleep 2010-02-04 13:30:08 -08:00
clock.c davinci: clkdev cleanup: remove clk_lookup wrapper, use clkdev_add_table() 2010-02-04 13:30:09 -08:00
clock.h davinci: clkdev cleanup: remove clk_lookup wrapper, use clkdev_add_table() 2010-02-04 13:30:09 -08:00
common.c TI Davinci EMAC : Re-use driver for other platforms. 2010-02-04 13:29:50 -08:00
cp_intc.c davinci: cp_intc: provide set_wake function 2010-01-06 08:57:44 -08:00
cpufreq.c davinci: DA850/OMAP-L138: avoid using separate initcall for initializing regulator 2009-11-25 10:21:37 -08:00
cpuidle.c davinci: cpuidle: move mapping of DDR2 controller registers out of driver 2010-02-04 13:29:38 -08:00
da830.c davinci: clkdev cleanup: remove clk_lookup wrapper, use clkdev_add_table() 2010-02-04 13:30:09 -08:00
da850.c davinci: clkdev cleanup: remove clk_lookup wrapper, use clkdev_add_table() 2010-02-04 13:30:09 -08:00
devices-da8xx.c davinci: da8xx/omap-l1xx: Add EDMA platform data for da850/omap-l138 2010-02-04 13:30:04 -08:00
devices.c DaVinci: remove unneeded #include's 2009-11-25 10:21:31 -08:00
dm355.c Merge branch 'davinci-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci 2010-03-01 13:05:40 -08:00
dm365.c DaVinci DM365: Adding DM365 SPI support 2010-03-01 10:20:24 -08:00
dm644x.c Merge branch 'davinci-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci 2010-03-01 13:05:40 -08:00
dm646x.c davinci: clkdev cleanup: remove clk_lookup wrapper, use clkdev_add_table() 2010-02-04 13:30:09 -08:00
dma.c davinci: edma: clear events in edma_start() 2010-04-05 15:25:11 -07:00
gpio.c DaVinci: remove unneeded #include's 2009-11-25 10:21:31 -08:00
io.c ARM: Add caller information to ioremap 2010-02-15 21:39:11 +00:00
irq.c davinci: Move interrupt ctlr info to SoC infrastructure 2009-05-26 08:18:09 -07:00
Kconfig davinci: add support for DM6467T EVM 2010-02-04 13:29:44 -08:00
Makefile davinci: add CDCE949 support on DM6467 EVM 2010-02-04 13:29:59 -08:00
Makefile.boot davinci: da8xx: Add base DA830/OMAP-L137 SoC support 2009-08-26 10:56:59 +03:00
mux.c DaVinci: remove unneeded #include's 2009-11-25 10:21:31 -08:00
mux.h davinci: update pin-multiplexing support 2009-04-27 09:49:46 -07:00
pm.c davinci: add power management support 2010-02-04 13:29:55 -08:00
psc.c davinci: move PSC register definitions from psc.c to psc.h 2010-02-04 13:29:36 -08:00
serial.c DaVinci: remove unneeded #include's 2009-11-25 10:21:31 -08:00
sleep.S davinci: add power management support 2010-02-04 13:29:55 -08:00
sram.c DaVinci: remove unneeded #include's 2009-11-25 10:21:31 -08:00
time.c davinci: timers: don't enable timer until clocksource is initialized 2010-04-05 15:25:11 -07:00
usb.c DA8xx: MUSB platform device registration 2009-11-25 10:21:33 -08:00