From 25d5d351ec5212ca4647558a5d363abe0c740f90 Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Tue, 19 Oct 2010 16:08:48 -0700 Subject: [PATCH] [ARM] tegra: suspend: Save protected aperture across LP0 Change-Id: Iab66c566957cfbac8ddab615ec92e57c2164ab68 Signed-off-by: Colin Cross --- arch/arm/mach-tegra/suspend.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/arch/arm/mach-tegra/suspend.c b/arch/arm/mach-tegra/suspend.c index c7be121ea8d1..3b64aa56b063 100644 --- a/arch/arm/mach-tegra/suspend.c +++ b/arch/arm/mach-tegra/suspend.c @@ -461,13 +461,14 @@ static void tegra_debug_uart_resume(void) #define MC_SECURITY_START 0x6c #define MC_SECURITY_SIZE 0x70 +#define MC_SECURITY_CFG2 0x7c static int tegra_suspend_enter(suspend_state_t state) { struct irq_desc *desc; void __iomem *mc = IO_ADDRESS(TEGRA_MC_BASE); unsigned long flags; - u32 mc_data[2]; + u32 mc_data[3] = {0, 0, 0}; int irq; bool do_lp0 = (current_suspend_mode == TEGRA_SUSPEND_LP0); bool do_lp2 = (current_suspend_mode == TEGRA_SUSPEND_LP2); @@ -494,6 +495,7 @@ static int tegra_suspend_enter(suspend_state_t state) mc_data[0] = readl(mc + MC_SECURITY_START); mc_data[1] = readl(mc + MC_SECURITY_SIZE); + mc_data[2] = readl(mc + MC_SECURITY_CFG2); } for_each_irq_desc(irq, desc) { @@ -521,6 +523,7 @@ static int tegra_suspend_enter(suspend_state_t state) if (do_lp0) { writel(mc_data[0], mc + MC_SECURITY_START); writel(mc_data[1], mc + MC_SECURITY_SIZE); + writel(mc_data[2], mc + MC_SECURITY_CFG2); tegra_clk_resume(); tegra_gpio_resume(); -- 2.34.1