diff options
author | Nishanth Menon <nm@ti.com> | 2011-11-08 11:55:55 -0600 |
---|---|---|
committer | Nishanth Menon <nm@ti.com> | 2011-11-08 12:01:18 -0600 |
commit | 0b61decfd2feb08ca88a3fbcf1e054f99931b192 (patch) | |
tree | 80d794e28cd2c7a0a4dc0f9d1860646097960b22 /arch/arm/mach-omap2/pm44xx.c | |
parent | 7b098b0cd8d20a34200d15dfd22287a2c84014f1 (diff) | |
download | kernel_samsung_tuna-0b61decfd2feb08ca88a3fbcf1e054f99931b192.zip kernel_samsung_tuna-0b61decfd2feb08ca88a3fbcf1e054f99931b192.tar.gz kernel_samsung_tuna-0b61decfd2feb08ca88a3fbcf1e054f99931b192.tar.bz2 |
OMAP4: PM: move GPIO restore before removing I/O isolation
Restore GPIO before removing the I/O isolation. Original code
restored GPIO just after removing I/O isolation. this code was modified
in 4167a91d2db65b09b74a405cafa3df2f17d55bd4
(ARM: omap2+: gpio: simplify updating gpios in off vs. retention)
to be after Smartreflex AVS re-enable, which increases the risk of
GPIO glitch.
instead, move the GPIO restore to before the I/O isolation is released
to ensure that there is no potential glitch in the system.
Change-Id: I220ed73ecb0a88cb45a2cd741cd9fe93fa4cae55
Reported-by: Aish Dubey <aish@ti.com>
Reported-by: Vinay Amancha <vinaykumar@ti.com>
Reported-by: Vinay Chaurasia <vinaych@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Diffstat (limited to 'arch/arm/mach-omap2/pm44xx.c')
-rw-r--r-- | arch/arm/mach-omap2/pm44xx.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/pm44xx.c b/arch/arm/mach-omap2/pm44xx.c index 94d7c2f..88b6dba 100644 --- a/arch/arm/mach-omap2/pm44xx.c +++ b/arch/arm/mach-omap2/pm44xx.c @@ -224,6 +224,8 @@ abort_device_off: omap_gpmc_restore_context(); } + omap2_gpio_resume_after_idle(omap4_device_next_state_off()); + if (omap4_device_next_state_off()) { /* Disable the extension of Non-EMIF I/O isolation */ omap4_prminst_rmw_inst_reg_bits(OMAP4430_ISOOVR_EXTEND_MASK, @@ -237,7 +239,6 @@ abort_device_off: omap_sr_enable(mpu_voltdm); } - omap2_gpio_resume_after_idle(omap4_device_next_state_off()); abort_gpio: return; |