diff options
author | Alex Frid <afrid@nvidia.com> | 2011-03-30 20:31:30 -0700 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-11-30 21:42:28 -0800 |
commit | cb5adc3105f390b7ac569f81ce6bf7197d5953e9 (patch) | |
tree | 0ee1d73bbd1b4af73e3072a9b51f91d1754f8f9b /arch/arm/mach-tegra/cpu-tegra.c | |
parent | c9d858f72439e17ec152664f9164c99878ce4b65 (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.c | 7 |
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; |