summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/pm-irq.c
diff options
context:
space:
mode:
authorSanjay Singh Rawat <srawat@nvidia.com>2011-12-07 19:34:51 +0530
committerVarun Wadekar <vwadekar@nvidia.com>2011-12-21 12:06:24 +0530
commit3a7ea27dfc3d658479c5380daa490258cf1146ae (patch)
tree328efb6c71e4a4e166eb855819c73628d25cfc46 /arch/arm/mach-tegra/pm-irq.c
parente2ddd41202faf988811a77437b64e871e88bf673 (diff)
arm: tegra: power: clear pmc wake status register on suspend
PMC register hold the reason for wakeup from LP0. The keypad driver resume the device from the perspective of the User if the Power Key event is sent in the register. Reset the register before going to suspend so that the status won't get carried to the next wake time as in this case of LP1. Bug 909191 Bug 913110 Change-Id: Ib00b26cd65008327f53b120ca8d0a4dbd3628227 Signed-off-by: Sanjay Singh Rawat <srawat@nvidia.com> Reviewed-on: http://git-master/r/68686 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/pm-irq.c')
-rw-r--r--arch/arm/mach-tegra/pm-irq.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/pm-irq.c b/arch/arm/mach-tegra/pm-irq.c
index 63e3e6c8d72b..57d21361ca14 100644
--- a/arch/arm/mach-tegra/pm-irq.c
+++ b/arch/arm/mach-tegra/pm-irq.c
@@ -283,6 +283,11 @@ static int tegra_pm_irq_syscore_suspend(void)
wake_enb = 0xffffffff;
}
+ /* Clear PMC Wake Status register while going to suspend */
+ temp = readl(pmc + PMC_WAKE_STATUS);
+ if (temp)
+ pmc_32kwritel(temp, PMC_WAKE_STATUS);
+
write_pmc_wake_level(wake_level);
write_pmc_wake_mask(wake_enb);