summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/pm-t3.c
diff options
context:
space:
mode:
authorYudong Tan <ytan@nvidia.com>2011-08-17 11:30:00 -0700
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:48:40 -0800
commit1fa3f1740c35677b64a0d3a61057751eb1966440 (patch)
tree9edfb2ae5abb8290d968c2fee2d2dd9a69d9ff85 /arch/arm/mach-tegra/pm-t3.c
parent013d09869533d5fe334cbb0e683ab6fd4228ac02 (diff)
ARM: tegra: power: Correct settings for the BURST_POLICY register
This is needed to allow clusters come up on CLKM Bug 862502 Change-Id: I667cccbf6cbc5af0d47ebc07a5c6c83f14a1cc4c Reviewed-on: http://git-master/r/47584 Reviewed-by: Daniel Willemsen <dwillemsen@nvidia.com> Tested-by: Daniel Willemsen <dwillemsen@nvidia.com> Rebase-Id: R2c7ae1605c0d1561c7fa40f45d09ee073d920497
Diffstat (limited to 'arch/arm/mach-tegra/pm-t3.c')
-rw-r--r--arch/arm/mach-tegra/pm-t3.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/arm/mach-tegra/pm-t3.c b/arch/arm/mach-tegra/pm-t3.c
index 959ab909bcf5..cd8a1ca4465e 100644
--- a/arch/arm/mach-tegra/pm-t3.c
+++ b/arch/arm/mach-tegra/pm-t3.c
@@ -123,7 +123,7 @@ static int cluster_switch_prolog_clock(unsigned int flags)
if (flags & TEGRA_POWER_SDRAM_SELFREFRESH) {
/* In LP1 power mode come up on CLKM (oscillator) */
CclkBurstPolicy = readl(CAR_CCLKG_BURST_POLICY);
- CclkBurstPolicy |= ~0xF;
+ CclkBurstPolicy &= ~0xF;
SuperCclkDivier = 0;
writel(CclkBurstPolicy, CAR_CCLKG_BURST_POLICY);
@@ -161,7 +161,7 @@ static int cluster_switch_prolog_clock(unsigned int flags)
if (flags & TEGRA_POWER_SDRAM_SELFREFRESH) {
/* In LP1 power mode come up on CLKM (oscillator) */
CclkBurstPolicy = readl(CAR_CCLKLP_BURST_POLICY);
- CclkBurstPolicy |= ~0xF;
+ CclkBurstPolicy &= ~0xF;
SuperCclkDivier = 0;
writel(CclkBurstPolicy, CAR_CCLKLP_BURST_POLICY);
@@ -304,7 +304,7 @@ int tegra_cluster_control(unsigned int us, unsigned int flags)
if (flags & TEGRA_POWER_CLUSTER_IMMEDIATE)
us = 0;
- if ((current_cluster != target_cluster) && (!timekeeping_suspended)) {
+ if (current_cluster != target_cluster) {
if (target_cluster == TEGRA_POWER_CLUSTER_G) {
s64 t = ktime_to_us(ktime_sub(ktime_get(), last_g2lp));
s64 t_off = tegra_cpu_power_off_time();