diff options
Diffstat (limited to 'arch/arm/mach-tegra/pm.c')
-rw-r--r-- | arch/arm/mach-tegra/pm.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/arch/arm/mach-tegra/pm.c b/arch/arm/mach-tegra/pm.c index 1b11707eaca0..523604de666f 100644 --- a/arch/arm/mach-tegra/pm.c +++ b/arch/arm/mach-tegra/pm.c | |||
@@ -24,6 +24,7 @@ | |||
24 | #include <linux/cpu_pm.h> | 24 | #include <linux/cpu_pm.h> |
25 | #include <linux/clk.h> | 25 | #include <linux/clk.h> |
26 | #include <linux/err.h> | 26 | #include <linux/err.h> |
27 | #include <linux/clk/tegra.h> | ||
27 | 28 | ||
28 | #include <asm/smp_plat.h> | 29 | #include <asm/smp_plat.h> |
29 | #include <asm/cacheflush.h> | 30 | #include <asm/cacheflush.h> |
@@ -35,8 +36,8 @@ | |||
35 | #include "iomap.h" | 36 | #include "iomap.h" |
36 | #include "reset.h" | 37 | #include "reset.h" |
37 | #include "flowctrl.h" | 38 | #include "flowctrl.h" |
39 | #include "fuse.h" | ||
38 | #include "sleep.h" | 40 | #include "sleep.h" |
39 | #include "tegra_cpu_car.h" | ||
40 | 41 | ||
41 | #define TEGRA_POWER_CPU_PWRREQ_OE (1 << 16) /* CPU pwr req enable */ | 42 | #define TEGRA_POWER_CPU_PWRREQ_OE (1 << 16) /* CPU pwr req enable */ |
42 | 43 | ||
@@ -148,7 +149,7 @@ static void suspend_cpu_complex(void) | |||
148 | save_cpu_arch_register(); | 149 | save_cpu_arch_register(); |
149 | } | 150 | } |
150 | 151 | ||
151 | void __cpuinit tegra_clear_cpu_in_lp2(int phy_cpu_id) | 152 | void tegra_clear_cpu_in_lp2(int phy_cpu_id) |
152 | { | 153 | { |
153 | u32 *cpu_in_lp2 = tegra_cpu_lp2_mask; | 154 | u32 *cpu_in_lp2 = tegra_cpu_lp2_mask; |
154 | 155 | ||
@@ -160,7 +161,7 @@ void __cpuinit tegra_clear_cpu_in_lp2(int phy_cpu_id) | |||
160 | spin_unlock(&tegra_lp2_lock); | 161 | spin_unlock(&tegra_lp2_lock); |
161 | } | 162 | } |
162 | 163 | ||
163 | bool __cpuinit tegra_set_cpu_in_lp2(int phy_cpu_id) | 164 | bool tegra_set_cpu_in_lp2(int phy_cpu_id) |
164 | { | 165 | { |
165 | bool last_cpu = false; | 166 | bool last_cpu = false; |
166 | cpumask_t *cpu_lp2_mask = tegra_cpu_lp2_mask; | 167 | cpumask_t *cpu_lp2_mask = tegra_cpu_lp2_mask; |
@@ -173,6 +174,8 @@ bool __cpuinit tegra_set_cpu_in_lp2(int phy_cpu_id) | |||
173 | 174 | ||
174 | if ((phy_cpu_id == 0) && cpumask_equal(cpu_lp2_mask, cpu_online_mask)) | 175 | if ((phy_cpu_id == 0) && cpumask_equal(cpu_lp2_mask, cpu_online_mask)) |
175 | last_cpu = true; | 176 | last_cpu = true; |
177 | else if (tegra_chip_id == TEGRA20 && phy_cpu_id == 1) | ||
178 | tegra20_cpu_set_resettable_soon(); | ||
176 | 179 | ||
177 | spin_unlock(&tegra_lp2_lock); | 180 | spin_unlock(&tegra_lp2_lock); |
178 | return last_cpu; | 181 | return last_cpu; |