linux/arch/arm
Kevin Hilman 58a5559e46 OMAP3: PM: ensure IO wakeups are properly disabled
Commit 5a5f561 (convert OMAP3 PRCM macros to the _SHIFT/_MASK suffixes)
mistakenly removed the check for PER when disabling the IO chain.

During idle, if the PER powerdomain transitions into a lower state
and CORE does not, the IO pad wakeups are not being disabled in
the idle path after they are enabled. This can happen with the
lower C-states when using CPUidle for example.

This patch ensures that the check for disabling IO wakeups also checks
for PER transitions, matching the check done to enable IO wakeups.

Found when debugging PM/CPUidle related problems reported by Ameya
Palande <ameya.palande@nokia.com>.  Problems were triggered
particularily on boards with UART2 consoles (n900, Overo) since UART2
is in the PER powerdomain.

Tested on l-o master (omap3_defonfig + CONFIG_CPU_IDLE=y) as well
as with current PM branch.  Boards tested: n900, Overo, omap3evm.

Cc: Paul Walmsley <paul@pwsan.com>
Cc: Ameya Palande <ameya.palande@nokia.com>
Tested-by: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
[tony@atomide.com: updated description to clarify the transistion]
Signed-off-by: Tony Lindgren <tony@atomide.com>
2010-08-16 09:22:05 +03:00
..
boot Merge branches 'master' and 'devel' into for-linus 2010-08-10 23:17:52 +01:00
common Merge branch 'devel' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 into devel-stable 2010-08-06 18:10:25 +01:00
configs omap: Fix omap_4430sdp_defconfig for make oldconfig 2010-08-16 09:22:04 +03:00
include/asm archs: replace unifdef-y with header-y 2010-08-14 22:26:51 +02:00
kernel Mark arguments to certain syscalls as being const 2010-08-13 16:53:13 -07:00
lib Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm 2010-08-03 14:31:24 -07:00
mach-aaec2000 ARM: Remove DISCONTIGMEM support 2010-07-16 10:57:35 +01:00
mach-at91 ARM: 6323/1: cam60: don't use __init for cam60_spi_{flash_platform_data,partitions} 2010-08-10 22:46:56 +01:00
mach-bcmring ARM: AMBA: Add pclk definition for platforms using primecells 2010-07-22 09:55:38 +01:00
mach-clps711x ARM: 6283/1: Remove useless PCIO_BASE definitions 2010-08-05 10:35:49 +01:00
mach-cns3xxx ARM: cns3xxx: Add support for AHCI controllers 2010-06-08 17:37:09 +04:00
mach-davinci Merge branch 'davinci-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci 2010-08-08 10:00:55 -07:00
mach-dove [ARM] Dove: platform device registration for the sdio interfaces 2010-07-16 22:01:59 -04:00
mach-ebsa110
mach-ep93xx Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 2010-08-07 17:07:31 -07:00
mach-footbridge ARM: 6233/1: Delete a wrong redundant right parenthesis 2010-07-22 09:20:50 +01:00
mach-gemini
mach-h720x ARM: 6283/1: Remove useless PCIO_BASE definitions 2010-08-05 10:35:49 +01:00
mach-imx ARM: 6322/1: imx/pca100: Fix name of spi platform data 2010-08-10 22:11:43 +01:00
mach-integrator ARM: 6283/1: Remove useless PCIO_BASE definitions 2010-08-05 10:35:49 +01:00
mach-iop13xx Merge branch 'misc' into devel 2010-07-31 14:20:02 +01:00
mach-iop32x
mach-iop33x
mach-ixp4xx Merge git://git.infradead.org/mtd-2.6 2010-08-15 17:32:47 -07:00
mach-ixp23xx ARM: 6283/1: Remove useless PCIO_BASE definitions 2010-08-05 10:35:49 +01:00
mach-ixp2000 ARM: 6269/1: Add 'code' parameter for hook_fault_code() 2010-07-27 10:48:34 +01:00
mach-kirkwood Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 2010-08-07 17:07:31 -07:00
mach-ks8695 ARM: 6269/1: Add 'code' parameter for hook_fault_code() 2010-07-27 10:48:34 +01:00
mach-lh7a40x ARM: Remove DISCONTIGMEM support 2010-07-16 10:57:35 +01:00
mach-loki
mach-lpc32xx ARM: LPC32XX: Arch config menu supoport and makefiles 2010-07-27 08:46:22 -07:00
mach-mmp [ARM] mmp: move declarations into SoC specific header file from common.h 2010-08-05 14:34:46 +08:00
mach-msm Merge branch 'msm-core' of git://codeaurora.org/quic/kernel/dwalker/linux-msm 2010-08-12 10:07:32 -07:00
mach-mv78xx0
mach-mx3 Merge git://git.infradead.org/mtd-2.6 2010-08-15 17:32:47 -07:00
mach-mx5 i.MX51: add support for cpuimx51 module and its baseboard 2010-07-26 15:05:37 +02:00
mach-mx25 imx: move gpio init after to irq init 2010-07-26 15:05:35 +02:00
mach-mxc91231 ARM: mxc91231: remove paragraphs with old address of the FSF 2010-06-30 09:00:27 +02:00
mach-netx
mach-nomadik ARM: AMBA: Add pclk definition for platforms using primecells 2010-07-22 09:55:38 +01:00
mach-ns9xxx ARM: 6263/1: ns9xxx: fix FTBFS for zImage 2010-07-26 10:33:07 +01:00
mach-nuc93x
mach-omap1 Merge branch 'v2.6.35-omap-mailbox-for-next' of git://gitorious.org/~doyu/lk/mainline into omap-for-linus 2010-08-04 16:10:38 +03:00
mach-omap2 OMAP3: PM: ensure IO wakeups are properly disabled 2010-08-16 09:22:05 +03:00
mach-orion5x ARM: Fix gen_nand probe structures contents 2010-08-12 02:21:18 +01:00
mach-pnx4008
mach-pxa Merge branch 'devel-stable' into devel 2010-08-09 14:09:29 +01:00
mach-realview Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm 2010-08-03 14:31:24 -07:00
mach-rpc
mach-s3c24a0/include/mach
mach-s3c64xx Merge branch 'for-linus/samsung-2635' of git://git.fluff.org/bjdooks/linux 2010-08-14 11:59:44 -07:00
mach-s3c2400
mach-s3c2410 ARM: Convert platform reservations to use LMB rather than bootmem 2010-07-27 08:48:23 +01:00
mach-s3c2412 ARM: Remove DISCONTIGMEM support 2010-07-16 10:57:35 +01:00
mach-s3c2416 s3c-fb: add device name initialization 2010-08-11 08:59:10 -07:00
mach-s3c2440 panic: keep blinking in spite of long spin timer mode 2010-08-11 08:59:22 -07:00
mach-s3c2443 s3c-fb: add device name initialization 2010-08-11 08:59:10 -07:00
mach-s5p6440 Merge branch 'next-samsung' into for-next 2010-08-06 21:49:18 +09:00
mach-s5p6442 Merge branch 'next-samsung' into for-next 2010-08-06 21:49:18 +09:00
mach-s5pc100 Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2010-08-11 09:13:19 -07:00
mach-s5pv210 Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2010-08-11 09:13:19 -07:00
mach-s5pv310 ARM: S5PV310: Add Samsung UNIVERSAL_C210 support 2010-08-06 21:15:52 +09:00
mach-sa1100 Merge branch 'devel' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 into devel-stable 2010-08-06 18:10:25 +01:00
mach-shark Merge branches 'at91', 'ep93xx', 'kexec', 'iop', 'lmb', 'nomadik', 'nuc', 'pl', 'spear' and 'versatile' into devel 2010-07-31 14:19:35 +01:00
mach-shmobile ARM: mach-shmobile: Fix up ap4evb build for LCDC merge damage. 2010-08-04 16:47:37 +09:00
mach-spear3xx ARM: AMBA: Add pclk definition for platforms using primecells 2010-07-22 09:55:38 +01:00
mach-spear6xx ARM: AMBA: Add pclk definition for platforms using primecells 2010-07-22 09:55:38 +01:00
mach-stmp37xx
mach-stmp378x
mach-tegra [ARM] tegra: harmony: Add harmony board file 2010-08-05 14:57:02 -07:00
mach-u300 ARM: 6297/1: move U300 timer to dynamic clock lookup 2010-08-10 22:10:56 +01:00
mach-ux500 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2010-08-09 21:00:07 -07:00
mach-versatile ARM: 6282/1: Remove useless definitions from versatile hardware.h 2010-08-05 10:35:49 +01:00
mach-vexpress Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm 2010-08-03 14:31:24 -07:00
mach-w90x900 i2c/nuc900: add i2c driver support for nuc900 2010-08-11 00:34:38 +01:00
mm Merge branches 'master' and 'devel' into for-linus 2010-08-10 23:17:52 +01:00
nwfpe
oprofile
plat-iop Merge branch 'misc' into devel 2010-07-31 14:20:02 +01:00
plat-mxc ARM: 6280/1: imx: Fix build failure when including <mach/gpio.h> without <linux/spinlock.h> 2010-08-10 22:10:50 +01:00
plat-nomadik Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2010-08-09 21:00:07 -07:00
plat-omap omap: Fix sev instruction usage for multi-omap 2010-08-16 09:22:04 +03:00
plat-orion Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 2010-08-07 17:07:31 -07:00
plat-pxa [ARM] pxa: move pmu device back into mach-pxa/ 2010-08-05 14:32:19 +08:00
plat-s3c24xx Merge branch 'master' into for-next 2010-06-16 18:08:13 +02:00
plat-s5p ARM: S5P: Fix on missing S5P_DEV_FIMC in plat-s5p/Kconfig 2010-08-09 18:26:13 +09:00
plat-samsung Merge branch 'for-linus/samsung-2635' of git://git.fluff.org/bjdooks/linux 2010-08-14 11:59:44 -07:00
plat-spear Merge branch 'master' into for-next 2010-08-04 15:14:38 +02:00
plat-stmp3xxx
plat-versatile ARM: 6264/1: fix Versatile Express LED oversight 2010-07-26 10:48:34 +01:00
tools ARM: Update mach-types 2010-07-12 21:14:53 +01:00
vfp ARM: 6203/1: Make VFPv3 usable on ARMv6 2010-07-09 14:41:34 +01:00
Kconfig Merge branches 'master' and 'devel' into for-linus 2010-08-10 23:17:52 +01:00
Kconfig-nommu
Kconfig.debug
Makefile Merge branches 'master' and 'devel' into for-linus 2010-08-10 23:17:52 +01:00