summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/cpu-tegra.c
diff options
context:
space:
mode:
authorAlex Frid <afrid@nvidia.com>2011-03-30 20:31:30 -0700
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:42:28 -0800
commitcb5adc3105f390b7ac569f81ce6bf7197d5953e9 (patch)
tree0ee1d73bbd1b4af73e3072a9b51f91d1754f8f9b /arch/arm/mach-tegra/cpu-tegra.c
parentc9d858f72439e17ec152664f9164c99878ce4b65 (diff)
ARM: tegra: power: Modify auto-hotplug locking
Use cpufreq (cpu DFS) mutex for auto-hotplug (instead of a separate one) to serialize cpu frequency scaling, hotplug, and CPU mode switch operations. Original-Change-Id: I7ea865894d1676c865294ab31a903248d9437534 Reviewed-on: http://git-master/r/24893 Reviewed-by: Aleksandr Frid <afrid@nvidia.com> Tested-by: Aleksandr Frid <afrid@nvidia.com> Reviewed-by: Scott Williams <scwilliams@nvidia.com> Original-Change-Id: I906a23561c1567079a41590a30b29b3d52fa5de8 Rebase-Id: R5d16154c91b41fd02f2a50af7ec6868a7958dc13
Diffstat (limited to 'arch/arm/mach-tegra/cpu-tegra.c')
-rw-r--r--arch/arm/mach-tegra/cpu-tegra.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/arch/arm/mach-tegra/cpu-tegra.c b/arch/arm/mach-tegra/cpu-tegra.c
index afdec503f034..ac86d84a7710 100644
--- a/arch/arm/mach-tegra/cpu-tegra.c
+++ b/arch/arm/mach-tegra/cpu-tegra.c
@@ -279,11 +279,10 @@ static int tegra_target(struct cpufreq_policy *policy,
target_cpu_speed[policy->cpu] = freq;
new_speed = throttle_governor_speed(tegra_cpu_highest_speed());
ret = tegra_update_cpu_speed(new_speed);
-out:
- mutex_unlock(&tegra_cpu_lock);
-
if (ret == 0)
tegra_auto_hotplug_governor(new_speed);
+out:
+ mutex_unlock(&tegra_cpu_lock);
return ret;
}
@@ -396,7 +395,7 @@ static int __init tegra_cpufreq_init(void)
throttle_lowest_index = table_data->throttle_lowest_index;
throttle_highest_index = table_data->throttle_highest_index;
#endif
- ret = tegra_auto_hotplug_init();
+ ret = tegra_auto_hotplug_init(&tegra_cpu_lock);
if (ret)
return ret;