summaryrefslogtreecommitdiff
path: root/arch/arm/mach-omap2/cpuidle44xx.c
diff options
context:
space:
mode:
authorTony Lindgren <tony@atomide.com>2014-05-17 01:05:35 +0400
committerTony Lindgren <tony@atomide.com>2014-05-17 02:04:31 +0400
commit9ce2482fc6b22709df087d4a8387b67893176312 (patch)
treed82c90bd406cb34293ce899cb691a8194170e2c3 /arch/arm/mach-omap2/cpuidle44xx.c
parent5005e0b76781c37d0a16dd6dd17d015098e8ce92 (diff)
downloadlinux-9ce2482fc6b22709df087d4a8387b67893176312.tar.xz
ARM: OMAP2+: Fix DMA hang after off-idle
Commit 6ddeb6d84459 (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 6ddeb6d84459 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: 6ddeb6d84459 (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>
Diffstat (limited to 'arch/arm/mach-omap2/cpuidle44xx.c')
0 files changed, 0 insertions, 0 deletions