linux/arch/arm/plat-omap
Tony Lindgren 9ce2482fc6 ARM: OMAP2+: Fix DMA hang after off-idle
Commit 6ddeb6d844 (dmaengine: omap-dma: move IRQ handling to omap-dma)
added support for handling interrupts in the omap dmaengine driver
instead of the legacy driver. Because of different handling for
interrupts this however caused omap3 to hang eventually after hitting
off-idle.

Any of the virtual 32 DMA channels can be assigned to any of the
four DMA interrupts. So commit 6ddeb6d844 made the omap dmaengine
driver to use the second DMA interrupt while keeping the legacy code
still using the first DMA interrupt.

This means we need to save and restore both IRQENABLE_L1 in addition
to IRQENABLE_L0. As there is a chance that the DSP might be using
IRQENABLE_L2 or IRQENABLE_L3 lines, let's not touch those until
this has been confirmed. Let's just add a comment to the code for
now.

Fixes: 6ddeb6d844 (dmaengine: omap-dma: move IRQ handling to omap-dma)
Cc: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2014-05-16 15:04:31 -07:00
..
include/plat This cleanup series gets rid of <mach/timex.h> for platforms not using 2014-02-24 10:06:56 +01:00
counter_32k.c ARM: OMAP: Switch to sched_clock_register() 2013-11-21 15:41:01 -08:00
debug-leds.c ARM: OMAP: debug-leds: Use resource_size instead of hard coded macro 2012-11-12 13:28:28 -08:00
dma.c ARM: OMAP2+: Fix DMA hang after off-idle 2014-05-16 15:04:31 -07:00
dmtimer.c ARM: arm-soc device tree changes, part 2 2013-05-07 11:06:17 -07:00
i2c.c ARM: OMAP: Fix i2c cmdline initcall for multiplatform 2013-01-11 11:24:19 -08:00
Kconfig ARM: OMAP3: remove deprecated CONFIG_OMAP_IOMMU_IVA2 2014-03-12 09:48:00 -07:00
Makefile mailbox/omap: move the OMAP mailbox framework to drivers 2013-06-11 11:41:51 -05:00
sram.c ARM: OMAP: SRAM: resolve sparse warnings 2013-01-01 15:42:00 -07:00