summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/cpuidle-t2.c
diff options
context:
space:
mode:
authorScott Williams <scwilliams@nvidia.com>2011-07-21 17:06:46 -0700
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:46:50 -0800
commitf16ace672ec41b4abcf605c3be4cf0dbdc235acb (patch)
tree6d8bcafdbe39011cd9725fb94340a8984df9f111 /arch/arm/mach-tegra/cpuidle-t2.c
parent7c0a5100301534c004146240fb06566045f1637d (diff)
ARM: tegra: Idle event wakeup timer
Change-Id: If072ef10f02d5be7560fdf42584ab11b2a863481 Signed-off-by: Scott Williams <scwilliams@nvidia.com> DW: Split into logical changes Signed-off-by: Dan Willemsen <dwillemsen@nvidia.com> Rebase-Id: Rf1ace67e281b1581501aaa936cd9137d326f2c4a
Diffstat (limited to 'arch/arm/mach-tegra/cpuidle-t2.c')
-rw-r--r--arch/arm/mach-tegra/cpuidle-t2.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/arm/mach-tegra/cpuidle-t2.c b/arch/arm/mach-tegra/cpuidle-t2.c
index d8523661016d..7eba1ab4bee9 100644
--- a/arch/arm/mach-tegra/cpuidle-t2.c
+++ b/arch/arm/mach-tegra/cpuidle-t2.c
@@ -136,7 +136,7 @@ static int tegra2_reset_other_cpus(int cpu)
#endif
static int tegra2_idle_lp2_last(struct cpuidle_device *dev,
- struct cpuidle_state *state)
+ struct cpuidle_state *state, s64 request)
{
int i;
@@ -146,7 +146,7 @@ static int tegra2_idle_lp2_last(struct cpuidle_device *dev,
if (tegra2_reset_other_cpus(dev->cpu))
return -EBUSY;
- tegra_idle_lp2_last(0);
+ tegra_idle_lp2_last(request, 0);
for_each_online_cpu(i) {
if (i != dev->cpu) {
@@ -161,12 +161,13 @@ static int tegra2_idle_lp2_last(struct cpuidle_device *dev,
void tegra2_idle_lp2(struct cpuidle_device *dev,
struct cpuidle_state *state)
{
+ s64 request = ktime_to_us(tick_nohz_get_sleep_length());
bool last_cpu = tegra_set_cpu_in_lp2(dev->cpu);
cpu_pm_enter();
if (last_cpu) {
- if (tegra2_idle_lp2_last(dev, state) < 0) {
+ if (tegra2_idle_lp2_last(dev, state, request) < 0) {
int i;
for_each_online_cpu(i) {
if (i != dev->cpu) {