alistair23-linux/drivers/dma/sh
Geert Uytterhoeven b6d1778bc5 dmaengine: shdma: Move DMA stop to (runtime) suspend callbacks
During system reboot, the sh-dma-engine device may be runtime-suspended,
causing a crash:

    Unhandled fault: imprecise external abort (0x1406) at 0x0002c02c
    Internal error: : 1406 [#1] SMP ARM
    ...
    PC is at sh_dmae_ctl_stop+0x28/0x64
    LR is at sh_dmae_ctl_stop+0x24/0x64

If the sh-dma-engine is runtime-suspended, its module clock is turned
off, and its registers cannot be accessed.

To fix this, move the call to sh_dmae_ctl_stop(), which touches the
DMAOR register, to the sh_dmae_suspend() and sh_dmae_runtime_suspend()
callbacks.  This makes PM operations more symmetric, as both
sh_dmae_resume() and sh_dmae_runtime_resume() already call sh_dmae_rst()
to re-initialize the DMAOR register.

Remove sh_dmae_shutdown(), as it became empty.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
2015-03-02 22:10:44 +05:30
..
Kconfig dmaengine: rcar-dmac: Add Renesas R-Car Gen2 DMA Controller (DMAC) driver 2014-12-23 11:13:01 +02:00
Makefile dmaengine: rcar-dmac: Add Renesas R-Car Gen2 DMA Controller (DMAC) driver 2014-12-23 11:13:01 +02:00
rcar-audmapp.c dmaengine: Remove .owner field for driver 2014-11-06 11:54:18 +05:30
rcar-dmac.c dmaengine: rcar-dmac: Disable channel 0 when using IOMMU 2015-02-16 09:33:35 +05:30
rcar-hpbdma.c dmaengine: rcar-hpbdma: tidyup residue_granularity 2015-01-25 22:37:05 -08:00
shdma-arm.h dmaengine: shdma: Use defines instead of hardcoded numbers 2014-07-15 18:02:29 +09:00
shdma-base.c dmaengine: sh: Split device_control 2014-12-22 12:32:16 +05:30
shdma-of.c dmaengine: Remove .owner field for driver 2014-11-06 11:54:18 +05:30
shdma-r8a73a4.c DMA: shdma: add r8a73a4 DMAC data to the device ID table 2013-08-27 14:26:21 +05:30
shdma.h dmaengine: sh: Rework Kconfig and Makefile 2014-07-31 17:15:45 +05:30
shdmac.c dmaengine: shdma: Move DMA stop to (runtime) suspend callbacks 2015-03-02 22:10:44 +05:30
sudmac.c dmaengine: Remove .owner field for driver 2014-11-06 11:54:18 +05:30