aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/pm44xx.c
diff options
context:
space:
mode:
authorBenoit Goby <benoit@android.com>2011-07-18 14:48:15 -0700
committerColin Cross <ccross@android.com>2011-08-02 20:57:56 -0700
commit24a1ce29a141166a6c2e69ec7c3e31848814a539 (patch)
tree4780dd569b89df0ac8a327bc77c9d474db6c39b4 /arch/arm/mach-omap2/pm44xx.c
parent50614a9ce1917ebb42577ce79a1cff528342de7e (diff)
downloadkernel_samsung_tuna-24a1ce29a141166a6c2e69ec7c3e31848814a539.zip
kernel_samsung_tuna-24a1ce29a141166a6c2e69ec7c3e31848814a539.tar.gz
kernel_samsung_tuna-24a1ce29a141166a6c2e69ec7c3e31848814a539.tar.bz2
OMAP4: HSI: fix hsi IO wakeup missed events
HSI tasklet was not scheduled if CAWAKE is detected when L3INIT_PD is OFF or RET. Change-Id: I9c71d7fa417e5076bb6c0ac93068f3b1566e9eec Signed-off-by: Djamil Elaidi <d-elaidi@ti.com>
Diffstat (limited to 'arch/arm/mach-omap2/pm44xx.c')
-rw-r--r--arch/arm/mach-omap2/pm44xx.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/arch/arm/mach-omap2/pm44xx.c b/arch/arm/mach-omap2/pm44xx.c
index 368bf59..9203f27 100644
--- a/arch/arm/mach-omap2/pm44xx.c
+++ b/arch/arm/mach-omap2/pm44xx.c
@@ -24,6 +24,7 @@
#include <asm/hardware/gic.h>
#include <mach/omap4-common.h>
+#include <plat/omap_hsi.h>
#include <plat/common.h>
#include <plat/usb.h>
@@ -522,15 +523,8 @@ static irqreturn_t prcm_interrupt_handler (int irq, void *dev_id)
/* Check if a IO_ST interrupt */
if (irqstatus_mpu & OMAP4430_IO_ST_MASK) {
/* Check if HSI caused the IO wakeup */
- #define CA_WAKE_MUX_REG (0x4a1000C2)
- #define CM_L3INIT_HSI_CLKCTRL (0x4a009338)
- #define HSI_SYSCONFIG (0x4a058010)
- if (omap_readw(CA_WAKE_MUX_REG) & (1<<15)) {
- /* Enable HSI module */
- omap_writel(omap_readl(CM_L3INIT_HSI_CLKCTRL) | 0x1, CM_L3INIT_HSI_CLKCTRL);
- /* Put HSI in: No-standby and No-idle */
- omap_writel( (1<<3) | (1<<12), HSI_SYSCONFIG);
- }
+ if (omap_hsi_is_io_wakeup_from_hsi())
+ omap_hsi_wakeup(0);
omap_uart_resume_idle();
usbhs_wakeup();
omap4_trigger_ioctrl();