diff options
author | Manuel Lauss <mano@roarinelk.homelinux.net> | 2008-12-21 09:26:26 +0100 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2009-01-11 09:57:27 +0000 |
commit | ac15dad061d351281b0bafbae1ecdd84e601435a (patch) | |
tree | dc5536f68f14e3a07f3af1105cfc23a2c317f21f /arch/mips/alchemy/common/power.c | |
parent | 564365b0fc3395ed55501ef25705664888cebdbc (diff) |
MIPS: Alchemy: dbdma suspend/resume support.
Implement suspend/resume for DBDMA controller and its channels.
Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/alchemy/common/power.c')
-rw-r--r-- | arch/mips/alchemy/common/power.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/mips/alchemy/common/power.c b/arch/mips/alchemy/common/power.c index f08312b10d0..f58e151b38d 100644 --- a/arch/mips/alchemy/common/power.c +++ b/arch/mips/alchemy/common/power.c @@ -36,6 +36,9 @@ #include <asm/uaccess.h> #include <asm/mach-au1x00/au1000.h> +#if defined(CONFIG_SOC_AU1550) || defined(CONFIG_SOC_AU1200) +#include <asm/mach-au1x00/au1xxx_dbdma.h> +#endif #ifdef CONFIG_PM @@ -156,6 +159,10 @@ static void save_core_regs(void) sleep_static_memctlr[3][0] = au_readl(MEM_STCFG3); sleep_static_memctlr[3][1] = au_readl(MEM_STTIME3); sleep_static_memctlr[3][2] = au_readl(MEM_STADDR3); + +#if defined(CONFIG_SOC_AU1550) || defined(CONFIG_SOC_AU1200) + au1xxx_dbdma_suspend(); +#endif } static void restore_core_regs(void) @@ -221,6 +228,10 @@ static void restore_core_regs(void) } restore_au1xxx_intctl(); + +#if defined(CONFIG_SOC_AU1550) || defined(CONFIG_SOC_AU1200) + au1xxx_dbdma_resume(); +#endif } unsigned long suspend_mode; |