ARM: tegra11x: cpuidle: Implement cluster power down for secure os
Hyung Taek Ryoo [Tue, 27 Nov 2012 00:01:45 +0000 (16:01 -0800)]
This change implements cluster power down feature for secure os.

Bug 969937
Bug 1178454

Change-Id: I2e40fddfad409396657102e24f07d75c8de7d879
Signed-off-by: Hyung Taek Ryoo <hryoo@nvidia.com>
Reviewed-on: http://git-master/r/166482
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Karan Jhavar <kjhavar@nvidia.com>
Reviewed-by: Krishna Reddy <vdumpa@nvidia.com>

arch/arm/mach-tegra/cpuidle-t11x.c

index 031cfa2..2610256 100644 (file)
@@ -419,6 +419,11 @@ static bool tegra_cpu_core_power_down(struct cpuidle_device *dev,
        tegra_cpu_wake_by_time[dev->cpu] = ktime_to_us(entry_time) + request;
        smp_wmb();
 
+#ifdef CONFIG_TRUSTED_FOUNDATIONS
+       tegra_generic_smc(0xFFFFFFFC, 0xFFFFFFE4,
+                                  (TEGRA_RESET_HANDLER_BASE +
+                                   tegra_cpu_reset_handler_offset));
+#endif
        cpu_suspend(0, tegra3_sleep_cpu_secondary_finish);
 
        tegra_cpu_wake_by_time[dev->cpu] = LLONG_MAX;