]> pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
[PATCH] ARM: OMAP: patch-dsp_ckfix3
authorToshihiro Kobayashi <Toshihiro.Kobayashi@nokia.com>
Mon, 16 Jan 2006 18:49:16 +0000 (10:49 -0800)
committerTony Lindgren <tony@atomide.com>
Mon, 16 Jan 2006 18:49:16 +0000 (10:49 -0800)
Here's a further patch to centralize the pm code.

arch/arm/mach-omap1/pm.c
arch/arm/plat-omap/dsp/dsp_common.c
include/asm-arm/arch-omap/dsp_common.h

index bbc3452fb7b58e3fd686fb52c8f2310f4df81e4a..e4d9bed8ed5b84a8544716a5c80da3383fd741b1 100644 (file)
@@ -239,6 +239,7 @@ static void omap_pm_wakeup_setup(void)
 
 #define EN_DSPCK       13      /* ARM_CKCTL */
 #define EN_APICK       6       /* ARM_IDLECT2 */
+#define DSP_EN         1       /* ARM_RSTCT1 */
 
 void omap_pm_suspend(void)
 {
@@ -323,7 +324,7 @@ void omap_pm_suspend(void)
         */
 
        /* stop DSP */
-       omap_dsp_pm_suspend();
+       omap_writew(omap_readw(ARM_RSTCT1) & ~(1 << DSP_EN), ARM_RSTCT1);
 
        /* shut down dsp_ck */
        omap_writew(omap_readw(ARM_CKCTL) & ~(1 << EN_DSPCK), ARM_CKCTL);
@@ -388,9 +389,6 @@ void omap_pm_suspend(void)
        /* Restore DSP domain clocks */
        DSP_RESTORE(DSP_IDLECT2);
 
-       /* resume DSP */
-       omap_dsp_pm_resume();
-
        /*
         * Restore ARM state, except ARM_IDLECT1/2 which omap_cpu_suspend did
         */
index 48d8af8c9e2c56fb9ece62a338830d5d02752ed2..0c22a6b237d7a73e8b10bd549001e19b9500d643 100644 (file)
@@ -240,22 +240,6 @@ void dsp_set_idle_boot_base(unsigned long adr, size_t size)
 
 static int init_done;
 
-/*
- * note: if we are in pm_suspend / pm_resume function,
- */
-void omap_dsp_pm_suspend(void)
-{
-       /* Reset DSP */
-       __dsp_reset();
-}
-
-void omap_dsp_pm_resume(void)
-{
-       /* Run DSP, if it was running */
-       if (cpustat.stat != CPUSTAT_RESET)
-               __dsp_run();
-}
-
 static int __init omap_dsp_init(void)
 {
        dspmem_size = 0;
@@ -503,8 +487,6 @@ void dsp_unregister_mem_cb(void)
 
 arch_initcall(omap_dsp_init);
 
-EXPORT_SYMBOL(omap_dsp_pm_suspend);
-EXPORT_SYMBOL(omap_dsp_pm_resume);
 EXPORT_SYMBOL(omap_dsp_request_mpui);
 EXPORT_SYMBOL(omap_dsp_release_mpui);
 EXPORT_SYMBOL(omap_dsp_request_mem);
index 4fcce6944056e4f1377735a010783be986f583ac..ca2374380809742d245af3b3fd5d30c6e00d514f 100644 (file)
@@ -27,8 +27,6 @@
 #ifndef ASM_ARCH_DSP_COMMON_H
 #define ASM_ARCH_DSP_COMMON_H
 
-void omap_dsp_pm_suspend(void);
-void omap_dsp_pm_resume(void);
 void omap_dsp_request_mpui(void);
 void omap_dsp_release_mpui(void);
 int omap_dsp_request_mem(void);