ARM: tegra: Avoid timer calibration on slave cpu's.
Krishna Reddy [Fri, 19 Aug 2011 01:55:05 +0000 (18:55 -0700)]
Use the value calibrated by master cpu.
Bug 843553

Original-Change-Id: I88939f37050873e0633782f6a927ffaf9b8d776d
Reviewed-on: http://git-master/r/47988
Reviewed-by: Varun Colbert <vcolbert@nvidia.com>
Tested-by: Varun Colbert <vcolbert@nvidia.com>

Rebase-Id: R6520764a88346d5ab4a180810636b04ce474f4d7

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

index a379f7e..050a822 100644 (file)
@@ -180,6 +180,12 @@ static int __cpuinit tegra_boot_secondary(unsigned int cpu, struct task_struct *
 
        BUG_ON(cpu == smp_processor_id());
 
+       /* Avoid timer calibration on slave cpus. Use the value calibrated
+        * on master cpu. This reduces the bringup time for each slave cpu
+        * by around 260ms.
+        */
+       preset_lpj = loops_per_jiffy;
+
        /*
         * Force the CPU into reset. The CPU must remain in reset when the
         * flow controller state is cleared (which will cause the flow
index 8033cdd..87efe6c 100644 (file)
@@ -882,8 +882,6 @@ void __init tegra_init_suspend(struct tegra_suspend_platform_data *plat)
        (void)reg;
        (void)mode;
 
-       preset_lpj = loops_per_jiffy;
-
 #ifndef CONFIG_PM_SLEEP
        if (plat->suspend_mode != TEGRA_SUSPEND_NONE) {
                pr_warning("%s: Suspend requires CONFIG_PM_SLEEP -- "