OMAP: McBSP: Do not enable wakeups for no-idle mode
authorEero Nurkkala <ext-eero.nurkkala@nokia.com>
Thu, 20 Aug 2009 13:18:19 +0000 (16:18 +0300)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Thu, 20 Aug 2009 19:10:28 +0000 (20:10 +0100)
When no-idle mode is taken, wakeups need not to be enabled.
Moreover, CLOCKACTIVITY bits are unnecessary with this mode
also.

Signed-off-by: Eero Nurkkala <ext-eero.nurkkala@nokia.com>
Acked-by: Eduardo Valentin <eduardo.valentin@nokia.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
arch/arm/plat-omap/mcbsp.c

index 85176a5f414880fbfb02ede77bc6c45284390603..56a56887dedcf291c179c7a2df669bed3e49ac41 100644 (file)
@@ -319,16 +319,17 @@ static inline void omap34xx_mcbsp_request(struct omap_mcbsp *mcbsp)
                syscon &= ~(ENAWAKEUP | SIDLEMODE(0x03) | CLOCKACTIVITY(0x03));
 
                spin_lock_irq(&mcbsp->lock);
-               if (mcbsp->dma_op_mode == MCBSP_DMA_MODE_THRESHOLD)
-                       syscon |= SIDLEMODE(0x02);
-               else
+               if (mcbsp->dma_op_mode == MCBSP_DMA_MODE_THRESHOLD) {
+                       syscon |= (ENAWAKEUP | SIDLEMODE(0x02) |
+                                       CLOCKACTIVITY(0x02));
+                       OMAP_MCBSP_WRITE(mcbsp->io_base, WAKEUPEN,
+                                       XRDYEN | RRDYEN);
+               } else {
                        syscon |= SIDLEMODE(0x01);
+               }
                spin_unlock_irq(&mcbsp->lock);
 
-               syscon |= (ENAWAKEUP | CLOCKACTIVITY(0x02));
                OMAP_MCBSP_WRITE(mcbsp->io_base, SYSCON, syscon);
-
-               OMAP_MCBSP_WRITE(mcbsp->io_base, WAKEUPEN, XRDYEN | RRDYEN);
        }
 }