1
0
mirror of https://git.yoctoproject.org/meta-ti synced 2026-05-29 23:12:45 +00:00
Files
meta-ti/recipes-kernel/linux/linux-omap3-2.6.37-psp04.02.00.07/omap3/0001-Fix-matrix-suspend.patch
T
Franklin S. Cooper Jr 9ff3bd4b3d linux-omap3: Add supported kernel recipe for am37x-evm and am3517-evm
Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2013-02-25 15:35:42 -05:00

112 lines
3.7 KiB
Diff

From a520a30ffd932bce334d894adce12a6ceec2be00 Mon Sep 17 00:00:00 2001
From: Greg Guyotte <gguyotte@ti.com>
Date: Tue, 21 Jun 2011 21:56:06 -0500
Subject: [PATCH] Fix matrix suspend
* Added new OMAP config option OMAP3_PM_DISABLE_VT_SWITCH which
disables the VT console switch which normally occurs during
suspend. This console switch, when performed with Matrix
running, hangs. The VT switch is considered unnecessary.
* Modified OMAP3 EVM and OMAP3 Beagle defconfig files to default
the OMAP3_PM_DISABLE_VT_SWITCH=y, and also to default
MMC_UNSAFE_RESUME=y. The latter case causes a hang during suspend
if the root filesystem is located on the MMC card. This
fix has actually been done in another patch, but the defconfigs
were not updated.
Signed-off-by: Greg Guyotte <gguyotte@ti.com>
Fix mistake in Kconfig
Did not mean to add the two lines in Kconfig under ARCH_OMAP3.
Signed-off-by: Greg Guyotte <gguyotte@ti.com>
---
arch/arm/configs/omap3_beagle_defconfig | 3 ++-
arch/arm/configs/omap3_evm_defconfig | 3 ++-
arch/arm/mach-omap2/Kconfig | 10 ++++++++++
arch/arm/mach-omap2/pm34xx.c | 4 ++++
4 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/arch/arm/configs/omap3_beagle_defconfig b/arch/arm/configs/omap3_beagle_defconfig
index cef7597..6e8d50c 100644
--- a/arch/arm/configs/omap3_beagle_defconfig
+++ b/arch/arm/configs/omap3_beagle_defconfig
@@ -97,6 +97,7 @@ CONFIG_MACH_OMAP3_BEAGLE=y
# CONFIG_MACH_OMAP_3630SDP is not set
# CONFIG_OMAP3_EMU is not set
# CONFIG_OMAP3_SDRC_AC_TIMING is not set
+CONFIG_OMAP3_PM_DISABLE_VT_SWITCH=y
#
# Processor Features
@@ -504,7 +505,7 @@ CONFIG_USB_ETH=y
CONFIG_USB_ETH_RNDIS=y
CONFIG_MMC=y
# CONFIG_MMC_DEBUG is not set
-# CONFIG_MMC_UNSAFE_RESUME is not set
+CONFIG_MMC_UNSAFE_RESUME=y
#
# MMC/SD/SDIO Card Drivers
diff --git a/arch/arm/configs/omap3_evm_defconfig b/arch/arm/configs/omap3_evm_defconfig
index 675ae9c..8db3574 100644
--- a/arch/arm/configs/omap3_evm_defconfig
+++ b/arch/arm/configs/omap3_evm_defconfig
@@ -97,6 +97,7 @@ CONFIG_MACH_OMAP3EVM=y
# CONFIG_MACH_OMAP_3630SDP is not set
# CONFIG_OMAP3_EMU is not set
# CONFIG_OMAP3_SDRC_AC_TIMING is not set
+CONFIG_OMAP3_PM_DISABLE_VT_SWITCH=y
#
# Processor Features
@@ -557,7 +558,7 @@ CONFIG_USB_ETH=y
CONFIG_USB_ETH_RNDIS=y
CONFIG_MMC=y
# CONFIG_MMC_DEBUG is not set
-# CONFIG_MMC_UNSAFE_RESUME is not set
+CONFIG_MMC_UNSAFE_RESUME=y
#
# MMC/SD/SDIO Card Drivers
diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
index dfa5464..43dc070 100644
--- a/arch/arm/mach-omap2/Kconfig
+++ b/arch/arm/mach-omap2/Kconfig
@@ -338,6 +338,16 @@ config OMAP3_EMU
help
Say Y here to enable debugging hardware of omap3
+config OMAP3_PM_DISABLE_VT_SWITCH
+ bool "OMAP3 Disable PM Console Switch"
+ depends on ARCH_OMAP3
+ default y
+ help
+ This option disables the default PM VT switch behavior for OMAP3.
+ Some platforms hang during suspend due to a failed attempt to
+ perform the VT switch. The VT switch is unnecessary on many
+ platforms.
+
config OMAP3_SDRC_AC_TIMING
bool "Enable SDRC AC timing register changes"
depends on ARCH_OMAP3
diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c
index 242babc..1d23b55 100644
--- a/arch/arm/mach-omap2/pm34xx.c
+++ b/arch/arm/mach-omap2/pm34xx.c
@@ -1072,6 +1072,10 @@ static int __init omap3_pm_init(void)
printk(KERN_ERR "Power Management for TI OMAP3.\n");
+#ifdef CONFIG_OMAP3_PM_DISABLE_VT_SWITCH
+ pm_set_vt_switch(0);
+#endif
+
/* XXX prcm_setup_regs needs to be before enabling hw
* supervised mode for powerdomains */
prcm_setup_regs();
--
1.7.0.4