ARM: tegra: power: do not check time after kernel time suspend
Jin Qian [Fri, 2 Sep 2011 23:24:01 +0000 (16:24 -0700)]
cluster switch for LP0 is called after linux timekeeping suspend,
which turns off timer.

Bug 862504

Change-Id: I5d154248a23fc07a18fdde42eb5308b8c84806fe
Reviewed-on: http://git-master/r/50611
Reviewed-by: Jin Qian <jqian@nvidia.com>
Tested-by: Jin Qian <jqian@nvidia.com>
Reviewed-by: Aleksandr Frid <afrid@nvidia.com>
Reviewed-by: Scott Williams <scwilliams@nvidia.com>

Rebase-Id: R53bc77ecf9e8a14f40d0ff6e76c3589492af297a

arch/arm/mach-tegra/pm-t3.c

index 8325fb9..9375286 100644 (file)
@@ -305,7 +305,7 @@ int tegra_cluster_control(unsigned int us, unsigned int flags)
        if (flags & TEGRA_POWER_CLUSTER_IMMEDIATE)
                us = 0;
 
-       if (current_cluster != target_cluster) {
+       if (current_cluster != target_cluster && !timekeeping_suspended) {
                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();