diff options
author | Yudong Tan <ytan@nvidia.com> | 2011-08-18 15:29:08 -0700 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-11-30 21:48:40 -0800 |
commit | b1a26f8631e7376d3b53f616c207c43d57ab1ef8 (patch) | |
tree | e26cde8a4254215c90bfeefeff809f59b7895d88 /arch/arm/mach-tegra/pm.c | |
parent | 1fa3f1740c35677b64a0d3a61057751eb1966440 (diff) |
ARM: tegra: power: Call cluster_switch_prolog/epilog for LP1
cluster_switch_prolog is needed to set up car/flow controller registers
for LP1 entry. epilog is needed to clean up some flags in flow controller
after LP1 exit.
Bug 862502
Change-Id: Ib9eeac6fc541cfa644d782071dbd4187255404d8
Reviewed-on: http://git-master/r/47585
Reviewed-by: Daniel Willemsen <dwillemsen@nvidia.com>
Tested-by: Daniel Willemsen <dwillemsen@nvidia.com>
Rebase-Id: R2c72673ba1b7f04ffa1b760ff54aaf73cf23f09e
Diffstat (limited to 'arch/arm/mach-tegra/pm.c')
-rw-r--r-- | arch/arm/mach-tegra/pm.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/pm.c b/arch/arm/mach-tegra/pm.c index 9211671984b0..ab00f9b6f78d 100644 --- a/arch/arm/mach-tegra/pm.c +++ b/arch/arm/mach-tegra/pm.c @@ -763,6 +763,9 @@ int tegra_suspend_dram(enum tegra_suspend_mode mode, unsigned int flags) tegra_pm_set(mode); + if (flags & TEGRA_POWER_CLUSTER_MASK) + tegra_cluster_switch_prolog(flags); + if (pdata && pdata->board_suspend) pdata->board_suspend(mode, TEGRA_SUSPEND_BEFORE_CPU); @@ -810,6 +813,9 @@ int tegra_suspend_dram(enum tegra_suspend_mode mode, unsigned int flags) tegra_common_resume(); + if (flags & TEGRA_POWER_CLUSTER_MASK) + tegra_cluster_switch_epilog(mode); + pr_info("Exited suspend state %s\n", lp_state[mode]); return 0; |